Всем привет. В этом посте я расскажу вам, как я сделал свою первую игру, постараюсь поделиться полученным за время разработки опытом, ну и расскажу об игре.
Вступление.
Полтора года назад я понял, что просто играть в видеоигры для меня недостаточно, что мне нужно самому их делать. В свободное от работы время, я начал изучать основы программирования на C# и Unity 3D. В первую очередь за знаниями я полез в You Tube, через пару недель понял, что это полный шлак, за тридцатиминутный ролик пишешь три строчки кода, а заэкранный гуру толком объяснить не может, что только что написал. Потом были уроки в docs.microsoft.com и еще что-то подобное, здесь уже получше, но для новичка сложновато. Лучшее что я нашел для человека без опыта программирования, при этом применительно к Unity, была книга Джереми Гибсона Бонда “Unity и C Шарп. Геймдев от идеи до реализации”. Товарищ Бонд на пальцах объясняет, что такое C#, что такое Unity, как писать код, что писать, все это с примерами и пояснениями, полно практических заданий, в том числе создание прототипов игр, так же много написано об игровой индустрии и геймдеве. Сразу скажу, даже с такой разжёванной информацией, за месяц, два, три, возможно полгода, программистом вы не станете. Более того, я стал понимать, что там вообще в этом коде написано, только через год (возможно, если бы я уделял учебе больше времени, и не делал длительные перерывы, это случилось бы быстрее). За этот год я дважды прочитал эту книгу, дважды выполнил большую часть заданий оттуда, прочитал и выполнил задания еще из одной книги.
В феврале этого года, разбитая тачка и надвигающийся коронокарантин, мягко намекнули мне, что хватит заниматься всякой ерундой (работать) и пора взяться за геймдев основательно.
О разработке игры.
Так как опыта у меня, по сути, было ноль, я решил сделать максимально простую игру для смартфонов. Задачи, которые я поставил перед собой: игра не должна быть похожа на какую-либо уже существующую и известную мне игру, то есть нужно было самому придумать геймплейные механики; геймплей должен быть простой, чтобы я сам мог полностью написать код; так как мне больше интересен дизайн, а не программирование, сделать упор на визуальную составляющую; и самое главное, сделать нормальную игру, не халтуру, и тем более не откровенное д****о, а просто нормальную, казуальную игру. Кое-какие наработки тогда у меня уже были, я выбрал игру, которая как раз была мне по силам. Суть игры: в игре есть пять лунок, напротив каждой пролетает шарик, нужно вовремя нажимать на экран, когда шарик пролетает мимо лунки. Быстренько придумал пять режимов движения шаров, для каждого режима задумал отдельное визуальное оформление, и приступил к рисованию спрайтов. Вообще, изначально я задумывал игру с минималистичной графикой (минимализм нынче в почете...), но поэкспериментировав с цветами, градиентами и тенями, подумал: “тварь ли я дрожащая или рисовальщик”. В общем, было решено рисовать в более реалистичном стиле, это решение продлило разработку месяца на полтора, потому как я рисовал и одновременно учился рисовать. В итоге получилось слишком реалистично. Сейчас могу сказать, что реалистичный стиль для таких игр не очень удачное решение, лучше использовать более привычную для мобильных игр графику, например как в Angry Birds, хотя то, что нарисовал я, на мой скромный взгляд выглядит симпатично. Еще я понял, насколько важны концепт-арты. Раньше я садился рисовать примерно представляя, что мне нужно, но рисовал уже как окончательный вариант, в плане качества, в какой-то момент понимал, что это не то, стирал все, или перерисовывал какие-то части. Все это занимало уйму времени, лучше изначально нарисовать хоть какой-нибудь рукож**ый концепт-арт, главное, чтобы была видна общая картина происходящего в игре, и как элементы сочетаются друг с другом. Потом сел писать код, тут ничего интересного сказать не могу. Попутно с написанием кода собирал саму игру. Выделил пять глав. Проходишь все уровни в главе, открывается следующая глава, а также бесконечный уровень для пройденной главы, каждая глава отличается визуально и схемой движения шаров. Еще есть шестая глава, в ней пять бесконечных уровней, каждый уровень посвящен одной из пройденных глав, то есть вы можете выбрать визуальное оформление, какое вам больше по вкусу, но геймплей в них одинаковый, сочетает схемы движения шаров всех пяти глав, то как будет двигаться шар определяется рандомно. Если честно, в шестую главу мне больше всего нравилось играть. Звуки для игры использовал из бесплатных ассетов, с музыкой у меня вообще не очень. Собрал игру, воткнул в нее Unity ADS, придумал название “HitEra”, игра готова, пора и в мир отправлять. На все про все ушло около 4 месяцев, очень много страдал фигней, и мало времени уделял разработке, плюс недостаток опыта сыграл свою роль, в следующий раз надеюсь пошустрее справлюсь.
На гифке шестая глава, на сколько я знаю, до нее так никто и не добрался.
Релиз.
С самого начала разработки я не рассчитывал заработать на своей игре, делал ее скорее для того, чтобы поверить в свои силы, что я могу в принципе что-то сделать, ну и для портфолио. По этой причине на раскрутку и рекламу было потрачено 0 рублей. Но и совсем на халяву делать не очень хотелось, поэтому реклама в игре присутствует. Итак, отправляю заявки на регистрацию в качестве разработчика в Google Play, Samsung Galaxy Store и Huawei App Galary, в гугл, естественно, с денюшкой. В гугле и самсунге все окей, загрузил игру, в Galaxy Store ее выложили через день, в Google Play через неделю. Первые десять скачиваний от друзей, отзывы тоже. Хоть мне казалось, что рекламы не много, друзья все же жаловались на ее большое количество. Пришлось убрать всю пропускаемую рекламу, оставил только один показ после прохождения главы, его пропустить нельзя, но за просмотр вам дадут дополнительные звезды, они нужны, чтобы открывать новые главы, если вы плохо играете. В течение двух недель, ежедневно выкладываю посты на форумах и в соцсетях. Все это время от Huawei ни слуху ни духу. Решил написать в тех поддержу, мол, подтвердите регистрацию. Через несколько дней ответили, что я там что-то неправильно заполнил, окей, исправил, отправил. В этот раз две недели я не ждал, через два дня написал в тех поддержку. Еще через пару дней все подтвердили. Сразу залил игру, и через пару часов она в App Galary, хоть что-то они сделали быстро. Итак, время идет, игра висит на сторах, загрузок очень мало (на момент написания 88, на три маркета), и как бы я на это морально не настраивался, как бы к этому не готовился, все равно, факт отсутствия интереса к игре меня очень сильно печалил. Немного поднял мое настроение сервис предоставления взаимных отзывов appenhancer. Он, конечно, не помог игре продвинуться, зато я увидел, что делают другие начинающие разработчики. И это вернуло мою самооценку на прежнее место, потому что такого лютого д***ма я давно не видел. Я вот вообще не понимаю, как такое можно в принципе кому-нибудь показывать, а уж тем более выкладывать в Google Play. Конечно, там были и не такие уж плохие игры, пару раз попадались прям нормальные, но в памяти отложились только те, от которых у меня горело одно место. Сейчас я периодически выкладываю посты об игре, люди потихоньку скачивают, но не очень активно.
Итог. Что дальше?
За время разработки я много чему научился, для меня это очень полезный опыт. Мне кажется, у меня получилась не плохая игра, конечно, хотелось бы услышать ваше мнение по этому поводу, так что делитесь своими мыслями здесь в комментариях или в отзывах на маркете.
Сейчас я занялся разработкой новой игры, более масштабной и сложной. А вообще, в будущем мне хотелось бы поработать в команде над каким-нибудь проектом.
Надеюсь, вы зацените мою игру.
HitEra
Google Play:
https://play.google.com/store/apps/details?id=com.Sn50Games....
Samsung Galaxy Store
https://galaxystore.samsung.com/detail/com.Sn50Games.HitErat...
Huawei App Galary
https://appgallery8.huawei.com/#/app/C102660381
Советы от новичка, новичку:
Возможно, кому-то больше понравятся уроки в ютубе, но я все же посоветую, начинать учиться игрострою по учебникам. Уточню, в ютубе много видео, в которых говорится, как решить какую-либо задачу или проблему, такие видео конечно же очень полезны, их игнорировать не стоит, но конкретно уроки типа “Как научиться делать игры на юнити”, по-моему, крайне бесполезны.
Учебники, которые мне попались:
Unity и C Шарп. Геймдев от идеи до реализации. Джереми Гибсон Бонд (прям вообще для новичков).
Unity для разработчика. Мобильные мультиплатформенные игры. Джон Мэннинг, Пэрис Батфилд-Эддисон (тут уже нужны кое-какие знания).
Unity в действии. Мультиплатформенная разработка на C Шарп. Джозеф Хокинг (до этой книги не добрался, может кто-нибудь читал, поделитесь мнением)
Реально оценивайте свои силы. Я бы тоже хотел сделать игру уровня GTA V или RDR 2, а не мобильный кликер, но всему свое время.
Делайте наброски будущей игры, это сэкономит много времени. Все-таки концепт-арт не зря придумали.
Определитесь с направлением деятельности. Не стоит одновременно быть дизайнером, программистом, геймдизайнером, сценаристом и т.д.
P.S. Не хотел растягивать пост на 10 страниц, поэтому многие моменты опустил, если кому-то что-то интересно отвечу в комментариях.