Как я разрабатываю 2д игру на протяжении 8 месяцев - Immortal Rage Devlog 1

Разработка игры началась в начале декабря 2023 года. Первым делом я продумывал идею и определялся с графикой которую буду использовать. Тыкался в разные направления графики, от вокселей до лов поли и по итогу пришел к пиксель арту потому что он более простой в освоении. Было решено делать игру шутер с элементами товер дефенса, что то похожее на старенькую флэшку Robo Rampage.

У меня сразу же начались трудности с рисованием так как до этого я никогда ничего не рисовал. Первые мои спрайты выглядели вот так.

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

Созданная геометрия гор из разных частей
Созданная геометрия гор из разных частей

Потом я занимался поведением врагов и главного героя - это тоже заняло много времени, примерно 2 месяца, если считать со всеми анимациями. На анимации тратилось очень много времени, мне нужно было для каждой пушки сделать анимацию, и также для передвижения каждого врага, в этом пиксель арт даже сложнее 3д графики как я понял, но в остальном проще.

Анимация поворота пушки

Далее на всё остальное ушло оставшееся время, нужно было фиксить баги и заниматься Ui, а также полишить всю игру.Через 4 месяца прототип был готов, и мне понравилось что получилось, поэтому я решил дальше продолжать разрабатывать эту игру.

Первый трейлер игры

До того как выпустить первую версию игры я использовал сервис локатор в качестве способа прокидывания зависимостей. Мой граф зависимостей скоро стал на 2 экрана и поэтому я захотел его переделать на какой ни будь фреймворк чтобы потом легче было бы изменять зависимости.

Сначала потыкался в VContainer но не получилось ничего нормального с ним, там немного не понятная документация и поэтому я переключился на Zenject. С ним у меня почти сразу получилось, переделок было не так и много, архитектура всё же была не настолько плохая, хоть и со своими проблемами.

Следующее чем я занялся это перерисовывание всей графики - это заняло не так уж и много времени как я думал займет, примерно через 3 недели всё было перерисовано, и игра теперь выглядит вот так.

Геймплей игры
Геймплей игры

Параллельно я ещё проходил курсы по пиксель арту, и очень много практиковался в рисовании. С момента отрисовки первой и последней версии прошло 6 месяцев.

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

Геймплей текущей версии игры

Статистика проекта:

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

2. Количество отрисованных спрайтов - около 200 штук если считать анимации, если без них то около 90 штук.

3. Время затраченное на весь проект - чуть больше 8 месяцев.

Можно поиграть на itch.io. Планирую позже выйти на другие платформы.

88
11 комментариев

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

в остальном проще

Ловушка Джокера. На самом деле пиксель арт практически во всех аспектах тяжелее. Единственное, что более просто по сравнению с диджитал артом, и что приходит на ум, это то, что можно рисовать не имея графического планшета.
В остальном:
- Анимации делать сложнее, т.к. они обязаны быть покадровыми. Скелетную анимацию использовать не получится.
- Кастомизацию делать сложнее. Хочешь дать в руки другую пушку? Нарисуй эту пушку во всех возможных углах для всех возможных анимаций. Захотел потом поменять у нее дизайн? Помянем.
- Пункт, отчасти дублирующий предыдущий и вытекающий из необходимости делать покадровую анимацию. Хочешь немного поменять дизайн? Страдай и перерисовывай абсолютно все кадры заново.
- Спрайты нельзя вращать на уровне движка.
- Спрайты нельзя скейлить. Захотелось сделать какой-то объект чуть-чуть больше или меньше чем раньше? Ну перерисовывай спрайт с нуля. А да, и все анимации для него тоже.
- Отсюда вытекает проблема с разрешениями. Разрешение игры и скейл рендера должны быть целочисленными чтобы игра не выглядела как пережатое нечто. Вполне возможна ситуация, когда при 2х скейле графика слишком мелкая, а при 3х уже слишком крупная. Как это пофиксить? Да никак, перерисовывай всю игру или довольствуйся кривым масштабированием с разнопиксельностью.
- Рисовать пиксель арт не проще. Хороший арт - это всегда сложно и дорого вне зависимости от стиля.
- Я бы еще пунктов придумал, но вроде и этих хватит.

2
Ответить

Немного поиграл в игру.

В целом автор положил болт на все перечисленные мной пункты ;)
Зачем в этом случае вообще было выбирать пиксель арт - не очень понятно.

По поводу игры - ТТК крайне высокий - нужно слишком много пуль, чтобы убить противников. Чем быстрее они разваливаются, тем веселее.
Пушка в руках не стреляет туда, куда направлена мышь, а стреляет туда, куда направлен ствол. А т.к. ствол поворачивается на фиксированный угол, то часто возникает ситуация, когда мышь находится на враге, но персонаж стреляет выше (потому что ствол не довернут на нужный угол). Короче как по мне пули должны лететь туда, куда направлена мышь, а поворот ствола должен остаться всего лишь графикой, не влияющей на геймплей.

Ответить

ещё проходил курсы по пиксель арту

Где этому можно поучиться?

Ответить

Один был от XYZ его я первым взял, потом второй англоязычный ещё был https://www.udemy.com/course/pixel-art-master-course/?couponCode=SKILLS4SALEB Второй мне больше понравился чем первый, и больше полезной информации как по мне хоть ролики и короче.

1
Ответить

Ну как есть так есть. Чтобы стрелять в направлении мышки это нужно хотя бы 180 кадров сделать, а это как можно понять месяцы работы. Выбрал я пиксель арт потому что мне на тот момент показалось проще всего его изучить, если выбирать 3д то нужно изучать моделирование. Может быть если изучить 3д то потом и будет быстрее делать графику но на изучение уйдет я думаю побольше времени. А в пиксель арте можно всю графику отрисовать за месяц - если в минимализме всё делать. В около реализме как у меня то да, или делай так как я или страдай. Я вообще не художник, поэтому делаю как умею.

Ответить

Ты вроде щеголяешь такими умными словами как
Сервис локаторА вроде ну пиздец же, какие нахуй 8 месяцев, на какие другие платформы планируешь дальше выйти? Этой игре место в самом-самом дальнем ящике

Ответить

Не нужно пиксель арту 180 направлений, окстись. Ты можешь:

1. отрисовать 8 или 24 положения для направления ствола, дальше играться с направлением проджектайла. Глазу заметно не будет. Пример: https://store.steampowered.com/app/1724770/Castle_Of_Alchemists/
2. так как у тебя свободное прицеливание, то отсоединить руку от от спрайта. Так делают часто, но хороший пиксельный пример вспомнить не могу. Но какой-нибудь не пиксельный https://store.steampowered.com/app/214970/Intrusion_2/

Есть butcher, но там из-за разрешения не разобрать как устроено, но точно что-то из этих описанных двух сценариев https://store.steampowered.com/app/474210/BUTCHER/

Надо всё таки баланс поддерживать между аутентичностью, здравым смыслом и трудозатратами.

Ответить