Найти тему
Заметкин

В разработке: первый опыт создания игры на Unity

Оглавление
Главное меню моей первой игры
Главное меню моей первой игры

Всем привет! При просмотре видео на Youtube наткнулся на видос, где автор рассказывал свой опыт разработки игр и их публикации на сервисе Яндекс Игр. Меня это заинтересовало т.к. можно себе сделать доп. доход.

Поэтому отложил изучение Rust и приступил к делу.

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

Первым делом накидал план, а что собственно я хочу сделать? Изучение яп C# можно пропустить, т.к. имею опыт программирования на другом языке, т.е. то что мне нужно реализовать смогу нагуглить. Итак, мой план выглядит следующим образом:

  • Определиться с механикой игры.
  • Самому нарисовать ассеты для игры.
  • Написать игру.
  • Добавить рекламу от Яндекса.
  • Выпустить релиз на Яндекс играх.

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

Определиться с механикой игры

Итак, какую первую игру написать? Реализация не должна быть сложной и долгой, т.к. не имею опыта в геймдеве совсем и попросту могу забросить разработку. Поэтому после долгих просмотров реализованных игр на платформе, пришел к выводу, что хочу попробовать сделать runner по типу "Jetpack", "Banana Kong" и т.п. только проще.

Самому нарисовать ассеты для игры

Для совей первой игры не хотел брать кем-то ранее созданные ассеты для игры, хотел полностью почувствовать себя в роле инди. Так как рисовать я не умею начал искать ролики по изучению компьютерного рисунка. Скачал бесплатную программу Krita (https://krita.org/en/) и принялся за дело. По прошествии недели стало понятно что изучение продвигается слишком медленно и с таким походом моя игра выпустится через год, два или никогда....... Пошел гуглить какие есть стили рисунка для создания игр и наткнулся на стиль Flat (если интересно смотрю этого автора https://www.youtube.com/@GiganticCommunity). Для стиля Flat используется векторная графика и состоит из квадратов, прямоугольников кружков, что в принципе удобно "рисовать" мышкой. И можно создавать очень красивый арт. Далее пробовал нарисовать своего персонажа и примерно еще через месяц у меня вышло это:

Мой первый персонаж для первой игры..... ух
Мой первый персонаж для первой игры..... ух

Думаю вышло не плохо))) Еще походу дела разобрался как менять скины персонажу в Unity. И создал еще парочку вариантов в другой расцветке.

Еще нарисовал препятствия и монету

Монеты собираем, препятствия перепыгиваем.... не перепутать..
Монеты собираем, препятствия перепыгиваем.... не перепутать..

Изображений не много, но рисовал конечно не быстро ))))

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

  • DragonBones - бесплатная (популярная), но походу ее разработку забросили, т.к. с официального сайта скачать не получалось.
  • Spine - платная считается стандартом, стоит конечно дорого.
  • Spriter Pro - платная, можно купить за 1000р. в стиме.
  • Unity animation - входит в комплект движка Unity. Удобно, бесплатно, актуально и инфы найти будет не трудно.

Мой выбор сначала пал на Spriter Pro, ну тыща вроде не дорого. По примеру, найденного на просторах интернета сделал анимацию и попробовал импортировать в Unity, но полученный спрайт не получилось нормально разрезать на части. При воспроизведении анимации части кадров пересекались. Ну и плюс как сделать смену скинов при импорте анимации сделанной через сторонную программу пока не разобрался. В итоге тыща потрачена в пустую.

Почитав немного доку об анимации и замене спрайтов в unity понял, что этого функционала для меня за глаза. Сложного ничего тоже нет, но на всякий еще и посмотрел пару видео, что бы прям вот совсем разобраться. Ссылка на доку по анимации в Unity: https://docs.unity3d.com/Packages/com.unity.2d.animation@10.1/manual/index.html

С анимацией тоже провозился примерно неделю. За это время сделал три анимации: бег, прыжок, смерть.

Сможет ли пройти препятствие????? -_-
Сможет ли пройти препятствие????? -_-

Написать игру

Когда ассеты были готовы, я приступил к выяснению, а как собственно должна быть написана игра про бесконечный бег? А будет ли бесконечным или сделать может несколько уровней? Как вообще сделать "правильно"?

Первым делом нашел курс по разработке на Unity от Яндекса, он бесплатный есть на Youtube. Затем, когда хоть немного разобрался в движке, пошел шерстить Youtube на уроки именно создания раннеров.

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

Магазин скинов
Магазин скинов

Игра почти готова, осталось только подключить SDK Яндекса, привести некоторые элементы игрового интерфейса в один стиль. Затем пройти модерацию, то еще приключение.

Так как это быть инди? Сложно))) но интересно. Как доделаю, напишу еще пост как прошел оставшиеся шаги к релизу, ну и естественно посмотрим сколько получиться заработать. До встречи!