[Из песочницы] Мой первый опыт в разработке 2D-игры (5 советов)
Хочу поделиться небольшим опытом, который я приобрел при создании своей первой игры для Andriod. Скажу сразу, на момент начала разработки мой опыт программирования был средним (1С и немного C#), а опыт в гейм-деве — нулевым. В качестве инструмента разработки был выбран Unity3D 4.6, привлекла мультиплатформенность и наличие большого количества видео-уроков. Т.к. я вырос на играх 80-х, то было решено попробовать сделать ремейк культовой игры Prehistorik 2, в итоге получилась 2D-аркада под названием Prehistoric Story. Начиналось всё это как хобби, а потом переросло в большой проект, благодаря которому много людей получили ценный опыт и практические навыки. Далее будет 5 ценных советов, основанных на моем личном опыте.
Совет №1: Тщательно подходите к выбору инструмента для разработки
Unity хорош для новичков — всё просто, удобно и делается в пару кликов, но APK-файлы получаются огромными! Плюс ко всему бесплатная версия имеет много ограничений, например, отсутствие динамической загрузки сцен. В этом случае мне пришлось ограничиться показом статичной картинки.
Совет №2: Художник должен быть один, с хорошей оплатой и четкими сроками
Учитывая, что я рисовать совсем не умею, мне пришлось обратиться за помощью к художникам-энтузиастам на одном известном арт-форуме. Денег на оплату работы художников у меня не было, а материала для отрисовки было много для одного человека, поэтому рисовать взялись 9 человек. Кто-то нарисовал пару зверушек, а кто-то — несколько локаций, а мне, в свою очередь, нужно было держать всех в рамках одного дизайна. Вся эта работа в отсутствии бюджета заняла около 6 месяцев.
Совет №3: Никогда не урезайте возможности Вашей игры на этапе проектирования
Когда я начинал проектировать свою игру, то избавился от возможности уничтожения противников, посчитав это сложным в разработке. В дальнейшем, когда был уже приобретен опыт и расставлено около десятка уровней, я хотел внедрить эту возможность, но для этого пришлось бы переписать весь движок персонажа и заново расставить уровни с учетом этой возможности. В итоге, для разнообразия была добавлена возможность летать на дельтаплане на некоторых уровнях.
Совет №4: Используйте спрайтовую анимацию и большие текстуры только в самых крайних случаях
По началу анимация спрайтами казалась мне отличным решением, но ровно до этапа оптимизации. Для некоторых зверушек использовались серии спрайтов по 4096 px, что очень сильно сказывалось на размере игры. Если бы я вовремя узнал про анимацию частей тела, то размер игры мог бы получиться вдвое меньше. Также на размере сильно сказалось разнообразие текстур поверхностей, которых было очень много, разных размеров и видов.
Совет №5: Изучите все тонкости публикации и подготовьте материалы для рекламы игры заранее
В день публикации я выяснил, что размещать приложения в Google Play размером более 50 Мб нельзя. Для этого необходимо скомпилировать приложение с разделением на 2 файла: apk и файлом кэша obb. Плюс ко всему необходимо было подписать приложение ключом, который предоставляется в Google Play Developer Console. Далее необходимо было подготовить скриншоты и описание игры, что, поверьте, занимает значительное время.
Вывод
Итого на разработку игры было потрачено 0 рублей, 9 месяцев неспешной разработки и немного нервов при публикации, но зато я получил ценный опыт в разработке игр и познакомился с интересными и творческими людьми. Очень надеюсь, что мое новое хобби когда-нибудь перерастет в прибыльное дело.