[Из песочницы] libGDX и чувства


cqhbsjylphudl0yfwxcjkapufjs.png

Введение


По случаю выхода моего первого мобильного приложения (думаю из названия понятно что это игра написанная с помощью LibGDX) решил написать небольшую статью, в которой опишу путь от идеи (идеи моего друга) до выхода игры в google play.

Как мы игру создавали


Я из Молдовы. Казалось бы к чему это? Просто сейчас мне 17 и я учусь в 12 классе (вот к чему). Мой одноклассник и довольно хороший друг прознал что я увлёкся мобильной разработкой и делаю очень простенькие мобильные приложения. Тогда он сказал мне: «мы обязательно должны сделать игру вместе». Сам он довольно хорошо рисовал и писал рассказы, то есть роли мы распределили сразу: он занимался графикой и сюжетом, а я реализацией и механикой. Мне всегда хотелось поработать хотя бы в какой-то команде, потому что до этого я работал над своими приложениями абсолютно один.

Идея и первые начинания


Примерно в марте 2018 мой одноклассник (или просто Коля) предложил следующую идею: взять за основу механику обычной алхимии, то есть смешивание элементов для получения новых элементов (пример: вода + огонь = пар). Но вместо обычных веществ и химических элементов в нашей игре будут человеческие эмоции. Так же со временем он приплёл к этой идее довольно интересный сюжет.

Как раз недавно я прочитал статью о игре сделанной на libGDX и захотел так же. До этого момента я не работал с подобными библиотеками, так что всё было новым и незнакомым. Но почитав туториал на гитхабе и найдя его русскую версию, я начал вникать. Начинал с самых банальных примеров и делая самые банальные ошибки я смог разработать главное меню и простенькую рабочую зону в которой было 8 иконок чувств, которые даже можно было двигать (правда иногда они улетали непонятно куда :)). Эта система потихоньку дорабатывалась как с моей стороны (исправление багов, добавление возможностей), так и со стороны Коли (новые идеи, новые иконки). Весь процесс немного замедлялся из-за моей неопытности и сильно замедлялся из-за плотного учебного графика, но чем больше я узнавал о возможностях libGDX, тем больше мне нравилось работать.

jarhor-4r0wzuxlaxtaf-luhbos.png
Главное меню

Основной этап разработки


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

2yf4oir9msp_wfnkzjowtzobo9o.png
Сюжетная сцена

Со временем проект обрастал новыми функциями. Появилась кнопка «Напиши нам», магазин, новые панели и кнопки, которые нам казались подходящими. Коля начал создавать несложную музыку в FLStudio. Серьёзным шагом было введение уровней, так как появилась отдельная крупная структура, которая следила на прогрессом игрока и должна была работать логично вместе с магазином и развитием сюжета.

gov3hep5fp-olxwnyr_ygmvcuug.gif
Получение нового чувства (анимацию можно пропустить)

Отдельного внимания заслуживает идея с временем суток. Суть в том что на главном фоне в игре есть окно, поэтому было решено добавить механику при которой в игре появлялись день, вечер, ночь и утро (день и ночь по пол часа; вечер и утро по 10 минут). В зависимости от времени суток менялся цвет экрана: вечер и ночь немного отдавали в синий, а утро слегка в красный. В зависимости от времени суток изображения в окне меняются. Также была идея что в определённое время суток можно получать определённые чувства, но она пока не реализована.

tvhzxdhkr1_u6m2gpirg4sz370k.png
Ночь

За 3 месяца лета я исправил огромное количество багов, которые вылезали в различных частях и в различное время. Тестирование я пока не освоил, а над архитектурой я тогда долго не думал (но об этом позже). К концу августа практически всё было готово и протестировано вручную.
Я чувствовал что за это лето проделал в 10 раз больше работы, чем за прошлые 3 месяца. Причём как по объёму, так и по сложности.

Монетизация


В определённый момент мы задумались над тем что можем заработать на нашей игре. В магазине появились подсказки, возможность купить 1 чувство или несколько по более выгодной цене. Реализация была довольно простой и финансовых вопросов в отношении Google не было. Куда интересней было разбираться с рекламой. Изначально мы искали сервис с самой маленькой минимальной суммой вывода, потому что рассчитывали показывать не много рекламы. Я быстро понял что это не самая лучшая стратегия. Я разобрался в разнице между CPA, CPM, CPC и CPI (и нашёл сайт где можно подобрать рекламный сервис). Поняв что такое eCPM и CTR и перепробовав несколько сервисов, мы выбрали самый подходящий. Несмотря на небольшие сложности в работе рекламы и фреймворка, а так же редкого показа рекламы из-за непопулярного региона, в итоге мы добавили в игру баннер и всплывающую рекламу (так называемый Interstitial). Мы заранее подумали о том чтобы она не была навязчивой и не показывалась слишком часто.

Релиз и итог


В последний месяц перед релизом я исправлял небольшие шероховатости, ещё раз всё проверял (пообещал себе что сразу после этого проекта освою тестирование) и разбирался с тем как выложить приложение. Тогда мы уже думали о способах продвижения своего приложения, но денег особо не было, поэтому выкручивались как могли. Изначально залили наше приложение на 4pda. Собрали отзывы, критику и пожелания. На 4pda набрали примерно 90 скачиваний. Так же посетили сходку gamedev’ов в нашем городе и представили там свою игру. Разработчики довольно неплохо отнеслись к нашей идее, сказали что хорошо, а над чем стоит поработать. Мы чётко увидели ценность подобных встреч и подумываем ходить на такие сходки и в будущем. Мы писали о своём приложениях в открытых пабликах в ВК и на сайтах, где выкладываются новости, пытались привлечь как можно больше внимания.

Теперь о самом релизе. Изначально я разбирался с версиями (Альфа-, Бета-, и релиз версии) и с тем как внедрять обновления. Позже я создал платную версию, в которой геймплей был немного облегчен, а так же было несколько дополнительных плюшек. Подключение гугл сервисов, скриншоты, иконки, описание и другие обязательные моменты не заняли много времени. Нужно было сделать и привязать банковскую карточку, но это тоже было не сложно. Итак, вечером 30 сентября в google play стало доступно наше первое приложение. Это была небольшая, но победа. Все месяцы усердного труда были проведены не зря, ведь игра готова и доступна для скачивания в 12 странах мира. Пару лет назад скачивая игры, я даже не подозревал что когда-то в этом магазине будет и моя игра. Ничего не скажешь — приятное чувство. В будущем конечно мы переведём игру на английский, и выпустим во всех доступных странах.

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

© Habrahabr.ru