sundwell.dev | Хроники инди-разработки – Telegram
sundwell.dev | Хроники инди-разработки
694 subscribers
224 photos
105 videos
136 links
Всё про инди от реального человека - девлоги, процесс маркетинга, геймдизайн, разработка и пиксель-арт
Download Telegram
День 16

Вчера был день теории и изучения многих вещей от ментора, почти две часа переписывались, и я слушал его ответы на свои вопросы из этого поста

Почти всё разобрали, осталось только пару моментов, которые, скорее всего, уже сегодня доразберём

Узнал о хитбоксах и хартбоксах

Как правильно настроить? Как правильно наносить/получать урон? Кто должен это вызывать и т.п.

За это должны отвечать только Area2D, а не коллизия, потому что сейчас у персонажа у меня коллизия отвечает за взаимодействие с миром (чтобы не падать) и за получение урона, а так неправильно. Потому что если я захочу сделать персонажа неуязвимым — мне придётся отключать правильные слои коллизии у персонажа, иначе он провалится или будут баги. А если делать правильно — коллизия отвечает только за "прикосновение" с миром, а Area2D отвечает за "если сюда ударят, получи урон", то можно отключить только Area2D, и никаких багов не будет

Наносить и получать (здесь я ещё не полностью уверен) урон должен скрипт персонажа. У врагов не должно быть в скриптах ничего такого:

var player = somehow_get_player()

...

player.take_damage(...)


Всё это должно быть в скрипте игрока. У него проверяется, с кем он соприкоснулся, и в зависимости от этого уже что-то делается в его скрипте. У врагов только настраивается их поведение — когда они прыгают, куда идут, когда стоят

Когда нужно создавать отдельный узел, а когда просто один раз создать через код?


Здесь было очень интересно — создание узлов это одно из самых затратных действий в игровом движке. Поэтому лучше всегда создавать узлы заранее, которые всегда есть. Они могут быть неактивными, но они созданы и в любой момент готовы к использованию

Ментор рассказал очень классный пример с патронами — есть пул патронов, пусть будет 30, и когда персонаж стреляет, патроны не создаются, а просто становятся видимыми и получают скорость. А когда они "исчезают", неважно, попали ли в врага или вышли за экран, они деактивируются и возвращаются на начальную позицию, но не удаляются. Очень интересно было это узнать

Сегодня уже начал дорабатывать игру, так что, может быть, пост напишу не завтра, а сегодня вечером 👀

#godot #разработка
🔥2
День 17

Вчера сделал состояния "Dying" и "Stunned" для врагов и добавил звук при нанесении урона, теперь выглядит намного лучше, но появился баг, который я пока не пофиксил — почему-то при большой скорости падения персонажу наносится урон, сегодня нужно разобраться с этим

Также сегодня добавлю летающие цифры урона, как раз уже знаю, как это сделать, в этом видео всё прекрасно показали

До конца этой недели точно закончу с рыцарем и приступлю к следующей игре, как раз ментор ещё раз подчеркнул, что лучше делать небольшие игры с несколькими механиками, не нужно сразу гнаться за "игрой мечты", потому что так почти никто не доходит до релиза, вырезают много контента, и получается какая-то мини-игра, которую можно было сделать намного быстрее

Так как я смотрю в сторону разработки top-down ARPG игр, то я буду дальше делать их. Для "обкатки" механик я буду делать разные игры по 3-4 недели (именно разработки, всё остальное не считаем)

Я ещё точно не определился с порядком, нужно ещё выписать механики, с которыми нужно попрактиковаться, но, скорее всего, следующая игра будет про такие механики:
- Система урона и атаки
- Враги
- Система прокачки персонажа, то есть опыт и основные атрибуты, такие как сила, ловкость и интеллект
- Переходы между уровнями, сделать минимум 2 уровня и "логическое" завершение игры, а не как сейчас в рыцаре

#godot #разработка
🔥2
Media is too big
VIEW IN TELEGRAM
День 18

Поигрался я с RayCast2D, чтобы пофиксить баг с получением урона при падении на врага (так не должно быть), но всё равно иногда проскакивает, спрошу у других разработчиков и у ментора, что там не так 🤔

Также сделал летающие цифры урона и лечения, конечно, системы лечения пока нет, но цифры уже готовы 😅

Сегодня очень свободный день от работы, поэтому смогу много времени уделить разработке, на сегодня такие планы:
- Добавить фрукты и возможность лечиться ими. Будет 2-3 вариации фруктов, и каждая вариация будет лечить на 15-20-25 соответственно
- Добавить выпадение монетки или фрукта с врагов с вероятностью 50/50, что-то будет выпадать всегда
- Добавить неуязвимость при кувырке

И останется только добавить меню и босса

#godot #разработка
🔥2
Media is too big
VIEW IN TELEGRAM
День 19-20

Впервые делаю пост сразу за два дня, потому что постоянно на день отставал 😅

Сделал фрукты и лечение ими, добавил разные типы фруктов — на 15, 20 и 25 лечения

Также сделал, чтобы с врагов выпадала монетка или случайный фрукт

И наконец-то пофиксил баг со скачком и нанесением урона, это называется Tunneling, если я не ошибаюсь

Ох... сколько же багов у меня постоянно вылазит... это просто невероятно, и я просто не понимаю, как они возникают, то ли я "гений", то ли движок так специфично работает, завтра спрошу у ментора, что это такое

Одна из проблем далее:
Я хотел сделать так, чтобы с врага выпадал какой-то лут — монетка или фрукт. Для этого я создал сцену EnemyDrop, и в ней уже брал сцены coin и fruit и спавнил их (добавлял в игру), но почему-то там никак не добавлялись спрайты (всё было просто невидимым), то вообще ничего не было, а иногда выскакивало, что %GameManager не найден, хотя он должен быть всегда доступен, так как это уникальная переменная. Решил это костылём — сделал GameManager глобальным, чтобы мог обращаться к нему из любого места, но решение не очень, это я точно знаю

Также много чего нельзя/нежелательно делать "прямо сейчас", а нужно ждать конца физических расчётов. То есть я не могу просто сказать "в этот момент отключай коллизию с миром и падай вниз", я должен делать следующим образом: "отключай коллизию с миром в конце физического фрейма"

В коде это что-то вроде:
hitbox.collision.disabled = true

hitbox.collision.set_deferred('disabled', true)

С этим тоже возникают некоторые проблемы, но об этом уже в другой раз

Всё-таки планирую закончить игру за субботу и воскресенье и начать двигаться дальше — в направлении top-down ARPG

Осталось сделать следующие вещи:
- неуязвимость при кувырке (очень легко, пара секунд)
- босс — не уверен, но тоже не должно быть сложно и долго
- меню — возможно будут проблемы (не хочу проблем 🥲)

Завтра расскажу о планах на следующие игры и что именно планирую делать после завершения игры про рыцаря, если я об этом ещё не говорил (уже не помню 😅)

#godot #разработка
🔥2
День 21

Сегодня много чего разобрал с ментором по своему проекту и просто по общей логике игры, многие моменты у меня встали на свои места

Фактически сегодня сделал неуязвимость во время переката (если честно, это были просто две строчки кода) и переписал много чего, ещё есть место для улучшений, но эту игру я полировать не буду, потому что нужно двигаться дальше. Видео с перекатом прикреплю к посту, надо же хоть что-то более-менее интересное показывать, также второе видео с багом, который я только что нашёл 👀

Также пофиксил некоторые баги:
- Когда перекат заканчивался прямо во враге, персонаж не получал урон
- Фрукты, которые выпадали с врагов, всегда были одинаковыми

Что касается "дальше" — сегодня, то есть в воскресенье, как и планировал, закончу полностью игру, а для этого нужно сделать меню и босса. Уверен, что всё получится сделать вовремя и начать дальше заниматься тем, чем уже действительно пора

С понедельника я начну читать документацию по самому Godot, смотреть видео по этому движку, как можно что-то оптимизировать, как структурировать проект, посмотрю стримы/плейлисты, как другие делают игры — это будет невероятно полезно. Конечно, у меня есть материалы, которые я хочу посмотреть, что-то абстрактное — это не про прогресс, нужно всегда ставить реальные цели и дедлайны, иначе будешь прокрастинировать (как я 👀)

Небольшой список материалов (далеко не полный):

YouTube
- Я бы хотел это знать перед началом разработки на Godot
- Godot 4, 4 разработчика делают 4 игры за 44 часа
- Как сделать ближнюю атаку, хитбоксы и хартбоксы
- Взаимодействие с объектами в Godot (будет особенно полезно, так как я буду делать что-то типа Diablo)
- Посмотреть следующих ютуберов: GDQuest, Heartbeast, Miziziziz, Godotneers. Их рекомендуют многие
- 11 часов введения в Godot 4 (сам не верю, что смогу это посмотреть, но я правда постараюсь)

Читать
- Конечно, документацию с самого начала, обязательно пройти разделы About, Getting Started и Manual
- Рецепты Godot — kidscancode, меня заверили, что "не дай названию сайта обмануть тебя, там очень много полезных материалов"
- Портал gdquest.com, его хвалят, поэтому тоже посмотрю
- Язык GDScript, уже пора точно посмотреть его синтаксис и как с ним правильно работать

Но есть одно "но" — следующая неделя будет посвящена в большинстве своём именно Pixel Art и "размышлениям" по поводу следующих игр, у меня уже есть реальные идеи, чтобы это было интересно, прикольно и полезно, но нужно это всё ещё обдумать, обязательно напишу в одном из следующих постов

Так что с понедельника я активно начну учиться делать пиксель-арт, маленькая цель — за неделю сделать дизайн для капибары и несколько анимаций для неё (бег и стояние на месте)

#godot #разработка
🔥2
Media is too big
VIEW IN TELEGRAM
День 22

Наконец-то я завершил игру про рыцаря 🥳

Вчера не успел доделать меню, поэтому сегодня его закончил (пиксель-арт всё ещё актуален, день ещё не закончился 🫡)

Если честно, уже не хотелось над ним работать, хотелось уже как-нибудь сделать, но всё-таки нужно подходить серьёзно даже к первой тестовой игре, поэтому сделал на совесть и добавил даже пару улучшений:
- Показывать +1 жёлтым цветом, когда поднимаем монетку
- Добавил критический урон по персонажу, который показывается, если урон больше 25

Новое в рыцаре:
- Босс
- Главное меню. Картинку взял с Freepik, меню быстро накидал, посмотрев это видео и начав смотреть этот плейлист

Босс может просто "гулять" или быть в состоянии атаки. Если босс гуляет, то он просто медленно ходит туда-сюда, как обычный враг, но если он видит персонажа, то начинает "бежать" (слизень бежит, ну да) с двойной скоростью всегда в сторону персонажа или делает атаку в прыжке, когда он прыгает, его урон увеличивается в два раза

Вот здесь можно скачать и поиграть в игру на Windows (надеюсь, запустится)

Как и говорил ранее — с сегодняшнего дня начинаю активно учиться делать пиксель-арт и смотреть/читать разные материалы по Godot, но упор на пиксель-арт на этой неделе

Также нужно более-менее чётко продумать следующую игру, её идею и механики для ARPG, которые я там реализую

#godot #разработка
🔥41
День 23

Pixel Art — я иду

С первых же минут просмотра различных видео про пиксель-арт я понял, что мне это очень понравится, прямо поймал какое-то вдохновение 😅

Завтра досмотрю видео про "общие" и интересные знания по пиксель-арту и начну уже практиковаться

В качестве редактора я выбрал Aseprite, и, кажется, это топ-1 инструмент для пиксель-арта, купил его в Steam, очень удобно

Также немного подготовил следующие возможные материалы для изучения/ознакомления

Вот YouTube каналы, которые я планирую смотреть по пиксель-арту (судя по отзывам на том же Reddit, очень хорошие авторы):
- MortMort
- AdamCYounis
- BJGpixel
- Saultoons

Также прикреплю скриншоты, на которых BJGpixel показывал, как уменьшать и увеличивать пиксель-арт — мне очень понравился результат

#pixelart
🔥2
День 24

Как я понял, чтобы увидеть реальные результаты по пиксель-арту, нужно хотя бы пару недель плотно позаниматься этим 👀

Но всё-таки 2 часа посмотрел различные видео и начал проходить курс Pixel Art Fundamentals от gamedev.tv, перед покупкой курса поискал информацию о gamedev.tv в целом и конкретно про этот курс — отзывы в целом очень хорошие, поэтому взял его за $13, надеюсь, за эти 4 часа курса я смогу сделать хоть что-то похожее на капибару 😅

Ещё я вспомнил, что пару лет назад я купил курс по пиксель-арту на Udemy, и я реально не ошибся, посмотрел я, конечно, немного тогда, только 25 уроков из 191, поэтому начну всё заново сразу после текущего курса. Вот ссылка на этот курс на Udemy кому интересно, он там просто невероятно популярен

Сегодня фактически сделал что-то непонятное (я назвал его "Рэмбо") и нарисовал... круг 😎

Всё, что сделал, как всегда прикрепляю к посту, гифку, к сожалению, нельзя прикрепить нормально со всем остальным, поэтому загружу её в комментарии

#pixelart
🔥2
День 25

Когда я сделал сферу, потом ещё и добавил обводку — это была невероятная радость, очень доволен прогрессом

Сделал небольшое видео и залил его на YouTube, добавил немного музыки на задний фон — смотрится

Также думаю, что через месяц-полтора начну участвовать в различных гейм джемах, чтобы был очень короткий дедлайн. Уверен, что так смогу уделять разработке намного больше времени во время гейм джемов

Но сначала я сделаю свою собственную top-down игру, где капибара будет собирать... травку? Нет, какая травка — апельсины/мандарины, ведь все вы видели (надеюсь) капибару в водичке с апельсином на голове, это так прикольно 🕺

Кто не видел — прикрепляю фото к посту с легендой всех легенд (среди капибар, конечно)

Так что, скорее всего, очень многие будущие игры будут так или иначе связаны с капибарами, апельсинами и морем крови чем-то милым

#pixelart
1😁1
День 26

Я закончил смотреть аж.. 1 видео на 10 минут, а 50 минут "игрался" и рисовал разные вариации того, что показывал препод из курса

Смонтажировал те 50 минут чтобы было возможно смотреть, прикреплю сюда мой итог и сам процесс

Сегодня разбирал "Dithering", это что-то наподобие градиента, такой подход дает возможность "смешать" два цвета так, чтобы была иллюзия третьего цвета

Сколько я видео не смотрел по пиксель арту на ютубе - везде говорят "less is more" (c англ. "меньше - больше"), и в этом курсе тоже так говорят, значит и правда не надо перебарщивать с цветами, возьму это себе на заметку

Теперь очень сильно хочу попробовать сделать себе логотип в пиксельном варианте, т.к. мой текущий логотип это картинка, сгенерированная ИИ, с большим трудом, но все же, пришлось долго играться чтобы вышло что-то более-менее адекватное

Также я хочу сделать арт напитка богов - естественно это кока-кола 👀

Думаю еще потом залить процесс этого арта на ютуб, вероятнее всего без слов, просто какая-то музыка на заднем фоне и сам процесс, некоторым нравится на такое смотреть (мне тоже, сегодня смотрел как чел делал сгущенку)

#pixelart
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2👍1😁1
День 27

Вчера тренировался делать тени, пока что это самая непонятная часть для меня. Самая простая тень - это просто "сверху-вниз" (на самом деле "сзаду-вперед"), обычный такой контур угнетенного цвета НЕ черный, а приближенный к основной палитре (тут я взял такой коричнево-зелёный)

Сегодня пройду Outlines и Color Palettes (то, что нужно). Думаю не помешает глянуть теорию цветов, хочется самому цвета подбирать, а не пользоваться чем-то готовым

Хочется уже поскорее приступить от "практичной теории" к "практике" в курсе (прикрепил скрин), думаю будет супер интересно

Еще заметил, что когда я смотрю или читаю что-то обучающее - то это бывает жутко невыносимо, а когда я делаю условное ДЗ или что-то сам пытаюсь накидать - время летит нереально быстро и очень интересно

В любом случае нужно знать базу, чтобы потом не "просесть" и застопориться в каком-то моменте в недалеком будущем, т.к. если сначала не прошел базу, а приступил сразу к практике - то потом будет лень вернуться к истокам, и это если вообще такая мысль придет, что довольно редко бывает у разработчиков, я не исключение

#pixelart
🔥2
День 28

Вчера занимался обводкой (outline) и цветовой палитрой, если с обводкой все понятно, то с цветовой палитрой пока что сложновато

Сначала я нарисовал апельсин (надеюсь похоже на апельсин), но он не очень подходил для разной обводки, поэтому я решил сделать меч. За идею взял меч Гатса из Берсерка, сначала не очень получалось и я не знал с чего начать, но потом дело пошло и я реально был в шоке - мне впервые понравилось что я сделал и теперь я точно знаю, что рисовать сможет даже "кнопкодав" (да я)

Детальный разбор своей работы я залил на ютуб, а небольшой отрывок прикреплю к посту, потому что вряд-ли всем нравится грузить по 200+мб видео в телеге на минимальной скорости, на ютубе в любом случае удобнее. Потрудился я знатно над монтажом, надеюсь смотрибельно, хоть и дикция хромает, но главное контент и история на будущее

С цветовой палитрой задание было сделать две сцены - одну с правильной цветовой палитрой, а вторую (копия первой) - с неправильной. Я пытался сделать красную бочку (надеюсь вы знаете этот символ видеоигр), но ничего не получилось и я просто сделал небо, землю и, в качестве главного объекта, телевизор на 4 ножках 🥳

#pixelart
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2