Опыт решает или как сделать приемлемую игру
Всем привет!
Пишу каждый день, пока есть время, а то потом диплом, госы и т.д., боюсь будет некогда.
Продолжаем цикл статей посвященных моему пути в сфере игростроя. (первый пост, второй пост, если интересно).
Наконец-то я подобрался к своему фавориту, моей гордости, к последней моей игре на андроид.
UFO Catch
Это тупо ярлык, чтобы сделать завязку, скриншоты будут далее.
Итак, после завершения Pirate Paff (см. второй пост), я немного отдохнул, и мне вновь пришла гениальная(на мой взгляд) идея, а не создать ли мне бесконечную игру под тип Subway surfers или Flappy Bird, т.е. такую, где уровень, препятствия или враги генерируются бесконечно. Как раз в то время я довольно часто натыкался на видео или картинки с коварными игровыми автоматами, где главные призы - это плюшевые звери, которых надо доставать механической (сволочной) рукой (мне в них никогда не везло). Все этапы производства игр на андроид я прошел, от создания до выпуска на всеобщее обозрение, опыт уже был, и я решил приступить. Сразу скажу, что этот проект занял у меня порядка месяца, что уже немного по сравнению с предыдущими 3,5 месяцами.
На этот раз я учел все ошибки, картинки делал маленькими по объему и размеру, не нагружал игру лишней анимацией и пр. Вот что вышло.
Суть игры.
Вверху постоянно весит наш главный герой в фиолетовой тарелке под стеклянным колпаком - кот (да зеленый и с рожками, ну типа инопланетянин). Справа вверху полоска энергии(ну палочки разноцветные), цифры там же - это очки полученные, слева внизу генератор и "блендер". Так вот, из правой части экрана к нам надвигаются коварные слизни, у каждого свои особенности (простой, скоростной, взрывчатый, замораживающий и бонусный), после того как они врезаются в генератор энергия у нас отнимается (0 энергии = проигрыш). Мы в роли игрока можем указать НЛО, тыкая в экран, место, в котором нужно опустить клешни и схватить слизняка, чтобы он не повредил наш драгоценный источник энергии, после этого наш герой бросает его в "блендер" и таким образом вырабатывается энергия для продолжения игры + начисляется одно очко. Сложность состоит в расчете места хватания слизней, да и скорость постоянно меняется. Этой игры уже нет в браузерном исполнении, не тот формат подумал я. Не спрашивайте, как мне всё это пришло в голову, я сам не знаю)
Разработка.
Разработка заключалась в том же, как и в Pirate Paff. Рисование в фотошопе, кодинг, создание музыки в Fl Studio и все. НО! Были и некоторые особенности, так например, цифровое табло сверху это не просто текст, это отдельные рисунки каждой цифры, которые выстраивались в особом порядке по GUI координатам в зависимости от числа очков, которые в свою очередь преобразовывались в строчный формат и отражались справа-налево. Я так мудохался только потому, что смартфоны не поддерживают динамическое изменение шрифта в зависимости от размера экрана. Так же, в первой версии игры не было генератора, а слизни просто проходили мимо, энергия отнималась только за попытку схватить их. Т.е. если просто ничего не делать, то энергия не отнимается, а наши гелеобразные протагонисты снуют туда-сюда. Я подумал, что это скучно и привел игру в текущий вид.
Движение клещей-хваталок я сделал с помощью скрипта, просто поворачивая объекты аля нарисованные палочки на определенный градус после прохождения определенной координаты. Да, я мог бы сделать это через встроенный в Unity аниматор, но почему-то мне скрипт показался надежней и проще (ага проще, скрипт на 700 строк, громоздковато). Хотя на одном телефоне я случайно заметил баг, что щупы выворачиваются в неправильную сторону, но это было один раз и я вроде исправил ошибку.
Определение момента хватания осуществлялось за счет пересечения коллайдеров, т.е. если оба коллайдера хваталок коснулись одного и того же объекта - это является сигналом к отключению у него (объекта-слизня) движения и усыновление его к НЛО (простите за профессионализмы, но если вы связаны с игродевом или начнете им заниматься вы все поймете). После этого НЛО возвращается на базу, объект отпускается, тот попадает в блендер и нам начисляется энергия + очко.
Анимацию в игре я использовал топорную, так как я не большой художник и на всякие плавные переходы у меня бы ушла уйма времени. Зато музыке я уделил довольно много времени (1 неделю из 4-х, я её делал параллельно с остальным). В игре присутствуют 2 композиции - жуткая менюшная и динамичная игровая. Все было написано средствами FL Studio, её стандартными плагинами, все это легко скачать везде. Звуки некоторые я опять же скачал/вырезал из фильмов-мультиков, немного видоизменил, чтобы правообладатели не возмутились, и вставил в игру.
Вес игры составил 36,5 мб, хотя можно было бы опять уменьшить некоторые файлы, но я не стал, ибо все выглядело и работало неплохо.
В конце опять генерируем рандомные числа для Alias и Keystore, загружаем в Google Play, в этот раз уже без внесения оплаты, так как она разовая.
Итоги
Игра тоже не взяла призов на канском кинофестивале, всего установок у неё около 200 и в данный момент она на 11 телефонах, оценка - четыре пятерки. Заработал за год я с неё порядка 1$, так же со встроенной рекламы. Встраивание гугл рекламы в приложение это отдельная тема, в рунете я её не нашел в нормальном виде, приходилось смотреть видеоуроки на испанском, а если пользоваться средствами самого гугола там с ума сойдешь, спасибо испанцу (могу поделится ссылкой). Секрет непопулярности моих игр в недостатке средств на рекламу, есть много способов продвинуть игру, таких как Startapp, Appbrain или же можно обратиться к летсплейщикам по андроид играм, все это влетит в копеечку, особенно с текущим курсом, но это действует у многих. Почему не рекламирую? Я работаю на склад, нарабатываю опыт и базу. Да и перескакиваю с проекта на проект, только закончу один, начинаю другой.
Ну и напоследок немного другой скрин.
Ну и вот ссылка на саму UFO Catch.
Задавайте вопросы! О некоторых вещах могу расписать подробнее.
Завтра, скорее всего, будет следующий пост о моей первой 3d игре на ПК, которая сейчас валяется на Greenlight.
Спасибо за внимание!