Зачем, кому и от кого
Всем привет! Меня зовут Анатолий. Я хочу рассказать историю о наших первых шагах в геймдеве, чтобы поделиться пусть и небольшим, но всё же опытом. Зачем? Потому что всего 6 месяцев назад сам искал подобные публикации, перечитывал и выписывал советы. Надеюсь, что и мой пост даст начинающим разработчикам полезную информацию, кого-то подтолкнёт к разработке, а кого-то, возможно, и наоборот. Не думаю, что разбирающиеся в теме люди найдут для себя что-то интересное, но для новичков или желающих ими стать статья определенно может стать полезной. Я расскажу весь путь от возникновения идеи, до публикации готового приложения в Google Play. В общем, поехали!
Внимание: будьте бдительны — лонгрид! Если не хотите много читать — выжимка из практических советов и ссылок в конце статьи.
Предисловие или с чего всё начиналось
Как Вы уже поняли из названия темы — по образованию я хирург. Также занимаюсь квестами в реальности (хоррорами, что и повлияло на выбор жанра игры). Из того, что пригодилось мне в разработке: базовое знание фоторедакторов, звукозаписи и обработки звука, умение писать сценарии для квестов, а также около 2 месяцев изучения Java.
Возникновение идеи
О разработке мобильного приложения мы с моим другом (программистом) думали уже довольно давно. Выбор стоял между программой или игрой. Накидав идеи программ, мы поняли, что ничего концептуально нового предложить не можем, поэтому наш выбор пал на разработку игры. Изначально мы взялись за идею тайм-киллера 2D аркады с пиксельной графикой. Но после написания диздока и первых шагов в разработке поняли, что с такой идеей и игрой мы точно далеко не уйдем, а сил в неё придется вложить так или иначе очень много.
Примерно в это же время у меня выстраивается такая логическая цепочка: квесты реальности берут начало от игр — я умею писать сценарии и открывать квесты в реальности — так почему бы не вернуться к истокам и не сделать мобильный хоррор с головоломками и историей?
Аргумент «против»: абсолютно все книги, форумы и советы сходятся в одном — первая игра должна быть максимально простой по сути и в разработке.
Аргумент «за»: также все советуют делать то, в чем у тебя есть хоть какой-то опыт.
Немного подумав, мы решаем сделать полноценный 3D хоррор. (хотя, честно говоря, тогда ещё понятия не имели, что мы вообще сможем сделать)
Начало разработки
Поскольку ни у меня, ни у моего друга не было никакого опыта в разработке игр, мы начинали с самых основ.
Выбор движка
Само собой, речи о написании своего игрового движка не шло. Поэтому мы начали выбирать из существующих. В итоге остановились на Unity, потому что он наиболее прост в изучении, активно развивается, предоставляет все необходимые возможности и, что немаловажно, имеет огромное живое комьюнити, а значит возможно найти ответы на почти все возникающие вопросы.
Теоретическая подготовка
Сценарий был написан довольно быстро — около недели-двух активной работы. Мелкие правки вносились в него до финальных этапов разработки.
Изучение движка (а я ещё и C#, на котором проходит работа в Unity) мы начали с книг и интернет статей. Ссылки на лучшие книги, из прочитанных нами, оставлю внизу. На этот этап у нас ушло около 3-4 недель, прежде чем мы смогли полноценно приступить к работе над проектом.
Естественно, первым делом было необходимо изучить нишу и выбрать референсы игр, на которые стоит ориентироваться. В нашем случае это были Granny, Nun и другие подобные популярные игры. Казалось, что с таким их уровнем проработки, мы сможем сделать ничуть не хуже! То, чем мы бы хотели выделяться — это хороший сюжет, графика, внимание к деталям (довольно самонадеянно для людей без опыта геймдева, правда?) Так ли всё на самом деле оказалось просто? Читайте ниже :-)
Первые шаги в Unity
Как дети учатся ходить в жизни, так и мы изучать Unity начали с обучения персонажа движению и взаимодействию с окружающими предметами.
Совет: что бы Вы ни начали делать в Unity — с вероятностью в 95% это уже сделано до Вас, поэтому внимательно ищите похожие уже реализованные решения. Это значительно облегчит разработку.
Затем настал этап прототипирования уровня. На этом этапе наша игра выглядела примерно так:
Наконец, была готова большая часть игровых механик, не считая главного — ИИ. Мы наладили подбор и применение предметов, инвентарь, взаимодействие с интерактивными объектами и прочие мелочи, что заняло очень много времени, но придало нам некоторой уверенности в собственных силах. Не особо заморачиваясь с остальными сложными вещами, мы решили их делать уже по ходу работы над финальной версией.
Работа над финальной версией игры
Опыта в 3D моделировании у нас практически не было, не считая школьных попыток много лет назад, поэтому и его пришлось изучать с нуля. Из-за лёгкости освоения, гибкости и большой базы видеоуроков и советов, мы выбрали для себя Blender, который, как оказалось, довольно удобно интегрируется с Unity, что позволяет гибко менять модели в ходе разработки и откатывать изменения, если необходимо. При этом модели в проекте обновляются автоматически в реальном времени.
Хотя основы 3D моделирования освоить было необходимо, но всё же мы понимали, что создать самим полный набор ассетов в желаемом качестве и за желаемое время мы никак не сможем. К нашему счастью, на данную тематику оказалось достаточное количество готовых ассетов в Unity. В итоге часть ассетов мы купили, часть скачали бесплатно, а остальное сделали сами. Главный
же злодей — злой клоун, был заказан на фрилансе. У нас были очень большие сомнения, что за ограниченный бюджет по нашим описаниям и простым наброскам кто-то сможет сделать что-то более менее адекватное.
Но тут нам очень повезло с выбранным исполнителем и персонаж оказался лучше, чем мы ожидали.
Затем шли долгие несколько месяцев допиливания функционала, детальное изучение Unity, подтягивания графики, написания ИИ и прочих мелочей, которые делают игру игрой. И в итоге мы подошли к очередной сложности: публикации игры.
Публикация игры
Одна из причин выбора Unity — кроссплатформенность, что позволяет один проект выпустить на всех желаемых платформах (для нас это Android, iOS, PC). К моменту написания статьи игра вышла и опубликована только для Android, поэтому дополнения по выходу на других платформах будут позже.
Технически публикация приложения в Google Play не составляет никакого труда — всё интуитивно понятно и легко. Но есть другая сторона вопроса — ваши ожидания от публикации.
Естественно, мы не были уверены (да и сейчас не уверены) в перспективах игры, но по наивному заблуждению считали, что стоит опубликовать игру в маркете, как нас тут же поднимут в топ новых, и посыплются скачивания и отзывы. Это было огромным заблуждением.
На самом деле после публикации абсолютно никто (кроме ваших друзей, пожалуй) не будет качать Вашу игру, потому что никто о ней не знает. Естественно, ещё на этапе разработки мы понимали, что нужно начинать хоть какую-то рекламную компанию, но на это просто-напросто не было времени, т.к. всё оно уходило на саму разработку. В итоге к моменту публикации мы подошли с никому не известным приложением, слепо надеясь на быстрый старт.
Реальность: момент релиза игры, это лишь половина Вашего пути к успешному приложению. Дальше (а гораздо лучше — раньше) начинается не менее важная и сложная часть (в которой у нас тоже не оказалось нужных навыков, и которую осваиваем прямо сейчас) — её раскрутка и продвижение.
Изначально мы всё делали своими силами, и с минимальными затратами, поэтому о привлечении издателя для игры и не думали. Не могу сказать, ошибка это или везение (знающие люди могут дополнить в комментариях).
Итоги и планы
В итоге нашей полугодовой работы мы имеем готовую бесплатную игру с рекламой и внутриигровыми покупками, выпущенную на одну платформу. На данный момент, спустя несколько дней после публикации, у нас около 400 скачиваний; неплохие, хотя и очень малочисленные отзывы, а также куча вопросов по продвижению и дальнейшей судьбе нашей первой игры.
В планах её выпуск для iOS и PC, но насколько это сложно и достижимо ли вообще — пока судить не можем (будем рады комментариям знающих людей). В дальнейшем планируем дополнить пост или написать новый, где расскажем о других платформах и продвижении игры.
Советы дилетанта в геймдеве
- Начните с теоретической подготовки, но не уделяйте ей слишком много времени. Опыт приобретается вместе с практикой.
- Используйте свои сильные стороны по максимуму: если что-то уже умеете — пользуйтесь этим.
- Выбирайте популярные игры-референсы и думайте, что в них Вы смогли бы сделать лучше.
- Начните с детальной проработки концепции игры, отдавайте её на суд своим друзьям и знакомым.
- Пишите достаточно подробный диздок с описанием всех тонкостей и деталей игры, чтобы во время разработки любые вопросы по игре можно было уточнить в нём.
- Выбирайте игровой движок себе по силам и по задачам.
- Не бойтесь прибегать к услугам фрилансеров, но внимательно подходите к их выбору.
- Начинайте тестирование приложения на незаинтересованных людях как только у вас появятся первые прототипы. Это позволит вносить изменения своевременно, без перепиливания всей игры.
- Начинайте рекламную кампанию как можно раньше: создавайте соцсети, сайт, начинайте набирать заинтересованную аудиторию — всё это даст Вам хороший толчок на старте.
- Не надейтесь на быстрый старт и тысячи скачиваний. Этого, к сожалению, просто не будет. Подъем в топ будет очень долог и тернист (особенно если Вы не выполните предыдущий пункт).
- Ну и банальное: не сдавайтесь, верьте в себя и упорно работайте, чтобы Вам самим нравился продукт, который Вы создаёте.
Заключение
Если Вы дочитали статью до конца, то спасибо Вам!) Надеемся, что из неё Вы почерпнёте для себя хотя бы несколько полезных вещей. Если я где-то ошибся и был не прав — буду рад правкам и пожеланиям в комментариях.
Также готовы ответить на любые вопросы по теме и поделиться всем, что узнали к этому моменту сами.
Если Вам интересен результат нашей работы — ссылка на игру находится ниже.
Будем рады Вашим комментариям, пожеланиям и предложениям тут и на Google Play. Ещё раз спасибо и удачи!
Ссылки и рекомендации
Книги по Unity и C#, с которых мы начинали:
Unity и C#. Геймдев от идеи до реализации
Unity для разработчика. Мобильные мультиплатформенные игры
Unity в действии. Мультиплатформенная разработка на C#
Наша игра на Google Play:
Death Park
Автор: EuphoriaGames