Pull to refresh

Моя небольшая история разработки и публикации мобильных игр

Reading time 13 min
Views 57K

Отступление


Приблизительно полтора года назад, просматривая очередной выпуск «Видеомании», я услышал о движке Unity3D. До этого никогда глубоко не интересовался подобными вещами и считал процесс разработки для меня сложным. В тоже время детская мечта создавать игры, как и любовь к ним, ещё не угасла. Я нажал на паузу и загуглил «unity3d»… Установив Unity и поняв основные принципы работы движка, я очень обрадовался сразу нескольким вещам: простота в освоении, мульти-платформенность, подробная и понятная документация и живой форум (с английским благо всё в порядке), наличие магазина дополнений и free лицензии. В дальнейшем я пробовал и другие движки, но предпочтение моё всё же не поменялось. Выбирая платформы, я остановился на мобильных и, в частности, на Android. Ничего яблочного у меня не было. К тому моменту лицензия для Android стоила 400 долларов. Но, пока я спешно проходил видео курс по основам ООП программирования и Java (небольшой опыт в php был), ребята из Unity решили дать возможность разработчикам делать игры для Android и iOS совершенно бесплатно, за что им большое спасибо.

Радости не было предела, когда я впервые запустил тестовый проект на своем телефоне. Всё великолепно работало! А процесс компиляции, отправки и запуска приложения на устройстве занимал несколько секунд. Хлопая в ладоши, с улыбкой на лице я стал думать о том, что же мне теперь со всем этим делать…

В сентябре того года в Google была опубликована первая игра, на сегодняшний день их пять. Ни одна из них пока не завладела миром, но каждая последующая дарила мне новый интересный опыт.

Далее рассказ продолжается в хронологическом порядке выхода игр и разбит на одноимённые главы, с приведением статистики, методах продвижения и прочего.

Викторина


Изображения


Будучи фанатом вселенной Толкиена и увидев дополнение, которое упрощало процесс создания викторины, решил сделать свою. Разумеется, для викторины использовать Unity не совсем разумно, я и тогда это понимал, но меня не останавливало. Я придумал название своей «студии», купил домен для будущего сайта, зарегистрировался как разработчик в Google Play и окунулся в приятный вдвойне процесс. Около 2 месяцев работы и викторина была готова. 45 вопросов с нарастающей сложностью, разбитых на 3 уровня. Я понимал, что нарушаю авторские права, используя в вопросах скриншоты из фильма, как и его название в названии своего приложения. Но в тоже время видел, как похожие викторины от других разработчиков спокойно себе лежат в маркете и пользуются спросом. За что, собственно, и был наказан, удалением приложения, а также первым и последним предупреждением от Google, спустя 3 месяца после публикации. Полностью с этим согласен, виноват, больше не буду. В то время на Google Play как раз началась «чистка» от всяческого мусора.

За те три месяца моя викторина все же набрала 14k установок. Основную часть, разумеется, в первый месяц. В это время приложение участвует в рейтингах «новые бесплатные» в своей и в общей категориях, что дает рост установок. В планах не было серьезно продвигать такого рода игру, да и делал её больше как фанат для фанатов и ради опыта. Поэтому просто написал о ней в несколько тематических пабликов в вконтакте и форумов, включая 4pda и Xеннет-Aннун. Думаю, основной толчок был благодаря последнему упомянутому источнику. Приложение поднялось в новых бесплатных в категории «Головоломки» (раньше категории были другие) и в итоге, добравшись до 20 места, выдавало до 660 установок в сутки. Тут уже, как я считаю, работали название и иконка. Оценки ставили хорошие, отзывы писали приятные, просили ещё уровней. В топе «бесплатных» игра выше 120 места не поднялась. Спустя месяц установки довольно резко упали до ~100 в день.
График установок в Google Play:



Все рейтинги я сейчас и далее по тексту называю Российские, в других популярных странах на достойные позиции не удавалось подняться.

После публикации ещё продолжал работать над игрой и научился встраивать авторизацию в Play Service, лидерборды, ачивменты. Также потренировался выводить рекламные баннеры сети Admob. В этом помогал специальный плагин (Android Native). График доходов с рекламы приводить не буду, в среднем было по 1$ в день, внизу стоял маленький баннер. Была также и англоязычная версия, её сделал отдельным приложением, но успех был мрачнее и после предупреждения я сам снял её с публикации.

Чпок! match three



Изображения

К тому моменту, как викторина была удалена, я уже делал следующую игру. Механика «три в ряд» показалась мне подходящей в качестве следующего испытания. В технические подробности сильно вдаваться не буду. Но хочу сказать, что писать скрипты решил на CSharp. Он более распространен в Unity, на нем будут большинство примеров, туториалов и других полезных материалов, которые вы встретите. Также тогда открыл для себя замечательный плагин, который потом использовал во всех следующих играх — 2DToolKit. Он облегчает работу со спрайтами и годен в качестве GUI.

Графическую часть рисовал сам, большинство звуков записывал с микрофона, остальные взял с freesound.org, с упоминанием об их создателях в игре. Кроме ачивментов, лидербордов и рекламы в этой игре преодолел этап внедрения внутренних покупок.

После публикации для продвижения использовал только публикации на форумах. Плюс опробовал рекламу в Admo: положив на баланс около 500 рублей получил около 30-35 установок.

График установок в Google Play первое время выглядел так:



На пике установок, игра была ~25 месте в новых бесплатных головоломках и на 166-м месте среди всех бесплатных головоломок. Сейчас я удивляюсь тому, что эта игра просто так брала до 1000 установок в день, возможно, во многом сыграло удачное название.
График доходов с рекламы за тот же период представлен ниже. Внизу висел смарт-баннер, каждое 10 завершение уровня сопровождалось межстраничным объявлением. Впоследствии межстраничный период я уменьшил до трех.

График доходов с Admob:



К текущему времени установки плавно опустились до ~10 в день, всего игра собрала 14k установок. Доходы с рекламы от 0,1$ до 0,5$, со спонтанными начпокиваниями всплесками до 6$. Продажи внутри-игровых плюшек стоимостью 1 и 2 доллара, которые давали обладателю избавиться от рекламы и получить игровую валюту были, но лишь в количестве 10 штук за первый месяц. Причем, пока я не зашел сам в отчеты, спустя пару месяцев, не знал про них вовсе, почему-то думал, что Google будет меня уведомлять о таких вещах.

После выпуска игры решил опробовать мульти-платформенность Unity и выложить игру в Appstore. С покупкой лицензии iРазработчика проблем не было. Стоит она $100, сроком на один год. Чтобы купить лицензию, наличие яблочных устройств не обязательно. В новогодние праздники несколько раз ходил к своему товарищу, обладателю MacBook, и мы вместе с ним разбирались в прохождении всех этапов публикации приложения. Этот процесс оказался в разы сложнее в сравнении с публикацией в Google Play. В итоге, к моему счастью, игра была-таки опубликована.

График установок в Appstore:



В Appstore новые приложения в рейтингах «новых» опускаются сверху вниз по мере добавления новых приложений. Поэтому, если просто выложить и смотреть, не прибегая к раскрутке, то пик установок приходится на 1 день. Сейчас, спустя несколько месяцев, установки колеблются от 0 до 3. Опыт получен и ладно, делаем следующую игру.

BigFoot Hunt


На самом деле, эта игра так до сих пор и не увидела свет. Но я на этот проект потратил не менее 2 месяцев и эта работа дала мне много опыта в теории Unity и рисовании, поэтому не хочу её пропускать. По сложности она превосходит остальные мои игры, и на ней я прилично повысил свой уровень программирования. Научился делать рандомно генерируемый уровень из тайлов (плиток) с горками и подъемами, 2D анимацию, искусственный интеллект и многое другое.

Изначально хотел сделать бесконечный 2D раннер, бегущего по горам снежного человека, преодолевающего препятствия. Играя в черновой вариант, я понял, что игра быстро надоедает, в ней мало контента и нет никакой мотивации. Стал размышлять над тем, чтобы это исправить, и пришел вот к чему…

Игрок управляет охотником, который, преодолевая препятствия, преследует йети. При этом самого йети на экране нет, а в верхней части экрана висит индикатор расстояния между ними. Когда охотник догоняет цель, в кадре появляется йети, который также бежит и умеет сам проходить препятствия. В этот момент игра переходит в режим стрельбы. И охотник, и жертва по-прежнему бегут, но теперь первый достает оружие и начинает стрелять в цель прямо на бегу. Собственно задача — догнать и убить йети. Я нарисовал персонажей, оружие (через кальку) и фон. Звуки выстрелов оружия я сам записать не мог. Покопавшись в assetstore, я нашел пак за 10 долларов, со звуками все возможного оружия, от арбалета до гранатомета, по несколько звуков выстрела, перезарядки и падения на пол гильз на каждое оружие. Для создания анимации купил расширение SmoothMoves. Тогда ещё вроде была на него акция, $35 вместо $70. Весьма удобный плагин для 2D анимации.



Есть демо-версия, в которую можно поиграть из браузера.

Потом голову стали приходить разные идеи и игра начала стремительно усложнятся. Передо мной встало множество вопросов о том, каким образом усложнять уровни, системы прокачки и разблокировки оружия и много другого. Голова пошла кругом. На фоне этой неразберихи ко мне заходит одна мысль, и я решаю быстро переключиться на другую игру, а эту оставить до тех пор, пока не определюсь, как её делать.

Следующая игра мысленно уже обрисовалась в голове, и мне сразу было понятно, как я её буду делать «от» и «до».

BrickDown 3D



Изображения


Идея игры, которая, по сути, ну очень простая, пришла мне в голову довольно интересным путем. Однажды за обедом, просматривая YouTube, я наткнулся на обзор игры под названием «Sumotori Dreams». Мне стало интересно и я скачал демо-версию. Поиграв пару-тройку раз, я вышел в главное меню, на котором остановил внимание. Выбор пункта меню происходил броском кубика в соответствующую дощечку, при этом они были подвешены на веревках и все поддавалось законам физики. На фоне в меню была большая платформа, подвешенная в пространстве. Я начал баловаться, бросая кубик в сторону от пунктов меню, и наблюдать за тем, как он себя ведет. Он стукался о платформу, подпрыгивал и падал с края в бездну. И вдруг один из кубиков удержался-таки на самом краю. Мне машинально пришла в голову мысль сбить этот кубик во чтобы то ни стало. Я начал пытаться это сделать, целясь по точнее и учитывая поправку на баллистическое движение. После нескольких бросков у меня это получилось и я испытал маленькое ощущение победы. Чуть позже, наливая себе чашку чая, пришел к выводу, что мне очень понравился пережитый процесс, и я хочу сделать такую игру.



В тот же день вечером уже был готов черновой вариант игры и первый уровень. Поиграв в него на планшете, я убедился в годности получившегося геймплея. Более того, подобных игр не встречал в маркете, и мысль о том, что делаю свою игру с уникальной механикой, меня ещё больше вдохновила. В общей сложности на разработку ушло полтора месяца, из которых львиную долю я в основном придумывал уровни. Графика была выбрана в стиле минимализма, объекты идеальной геометрической формы, даже шейдеры без текстур. Мне действительно визуально так нравилось: ничего лишнего и отвлекающего, проще в изготовлении 3D моделей и меньше требований к системе. Игроки потом разделились во мнении на этот счет. По звуковой части был только звук swoosh'а в момент вылета снаряда, и звуки соударения объектов (их я снимал с микрофона, роняя коробочку на стол). Никакой фоновой музыки или UI звуков тогда не было. Совсем недавно я их все-таки добавил.

В «День дурака» этого года был релиз на Google Play, через неделю на Appstore.

График установок из Google Play за первый месяц:



График установок из Appstore за первый месяц:



В первый день после релиза на Google Play я опубликовал информацию об игре на нескольких ресурсах, среди которых были 4pda, xda-developers, gamedev, gcup, trashbox и несколько пабликов в Вконтакте. Результат был для меня потрясающим! 464 установки в первый день и сразу прыжок на 25 место в топе новых бесплатных аркад. Как я выяснил позже, игра попала в обзор от GamePlan, видео-блогера, обозревающего мобильные игры на Android. Выпуск был в тот же день что и релиз, большую часть установок дал именно он, за что автору большое спасибо.

Вспоминая «Чпока», я прогнозировал огромное количество установок на следующие дни, но, к моему удивлению, эти ожидания не оправдались. Наоборот, установки стали падать, а вместе с ними и мое настроение. Я стал все отчетливее понимать, что без платной раскрутки особо надеяться не на что. Почитав немного о платном продвижении мобильных игр, я решил заказать обзор на 4pda по тарифу «Лайт». Публикация была назначена на пятницу 25 апреля, вечером. На графиках виден скачок в этот день, причем на Google Play скачок весьма приличный, около 1000 установок. Толчок в топах был, и я надеялся на то, что топы сами начнут подтягивать игру наверх по инерции. Но, как оказалось, чтобы подниматься дальше, этого толчка было мало.

Было очень любопытно наблюдать, как в сети появлялась информация об игре в различных местах. Были и текстовые обзоры и просто добавления в каталоги игр, и репосты уже готовых обзоров или видео. Чтобы не искать каждый раз в поисковике и просматривать результаты, в Google можно подписаться на уведомление о новых результатах. Так, например, я узнал, что официальная группа МТС во «Вконтакте» сделала репост одной из статей. Это дало дополнительные установки, но не существенно.

График доходов от рекламы Admob:



С самого начала я вообще не включал рекламу, чтобы получить лояльность пользователей и больше положительных оценок. Но спустя время я включил межстраничное объявление после каждого пятнадцатого запуска уровня. Позже, с течением времени, я уменьшал этот период, нащупывая оптимальный порог.
На данный момент эту игру скачивают по 20-30 раз в день, и приносит она 3-6$ в день, суммарно с Android и iOS.

Yeti Run



Изображения



На майские праздники мы с женой запланировали поездку на 2 недели, и я решил быстренько выложить ещё одну игру. Я просто урезал BigFoot Hunt до бесконечного раннера со снежным человеком в главной роли. Единственное, что добавил, это динамическая смена дня и ночи, чтобы хоть как-то сделать игру разнообразней, а также прикрутил лидерборд, чтобы люди могли соревноваться в дальности пройденной дистанции. Ломать — не строить, на все ушло 2 дня. Перед самым отъездом я выложил её в Google Play в свободное плавание. Как и предполагалось, без какого либо продвижения игра остается незамеченной.

Spinny


Изображения


После возвращения из поездки какое-то время отдыхал от игр, пока однажды перед сном мне в голову не пришла идея одной маленькой и простой аркады. Она была настолько простой, что сделал за первый день и выложил на второй, 4-го июня. Суть игры — попасть из вращающейся пушки по мишеням. С каждым попаданием, скорость вращения увеличивается, усложняя весь процесс. В игре 3 уровня, и если первый ещё как-то можно пройти после длительных тренировок, то второй и третий хардкорные. Сам я их не проходил, но точно знал, что это возможно. Подтвердилось это тем, что игроки проходили. Видел это по наличию результатов в лидербордах, которых было три – на каждый уровень. Мое желание продвигать игру было таким же, как и сама игра – маленьким и несерьёзным. Поэтому я просто обошелся постами на нескольких форумах. Тем не менее, игра также попала в видео-обзор от GamePlan и набрала 525 установок за день, совершив скачек сразу на 30 место в топе новых аркад. На этом её приключения закончились.

BrickDown NextGen



Изображения

Разработка

Стояло лето. В свободное время я больше развлекался, чем уделял время новому хобби. Но ближе к концу июля уже пришел в себя и готовился к новому старту. Тем более что осенний сезон уже на носу. Из всех своих игр, действительно достойной я считал только BrickDown и подумывал о продолжении. Подпитывали эти мысли проскальзывающие отзывы с просьбой сделать вторую часть или добавить новых уровней. В начале августа, после длительных поисков фоновой музыки и текстур, я плотно приступил к делу.

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

Мой HTC Desire X и планшет Nexus 7 показывали вполне приемлемые 40-60 fps, но было интересно, как обстоят дела на других устройствах. Решил найти тестеров. К радости у меня это получилось довольно легко и быстро. В Google Play есть возможность давать доступ к альфа и бета версиям приложения определенным Google-аккаунтам или же участникам заданного сообщества в Google+. Особо не рассчитывая на успех, я опубликовал пост на pikabu с призывом помочь в тестировании и приложил скриншот 1-го из уровней. К моему удивлению, топик стали активно плюсовать, комментировать и он попал в «горячее». В течение дня в группу добавились 160 человек, 20 из которых отписались в сообществе по результатам тестов. Причем, некоторые довольно подробно и с указанием найденных недочетов и пожеланий, за что им огромное спасибо. Результаты были положительные и в плане тестирования и в плане реакции пользователей. Такой поворот событий ещё больше подогрел мое стремление к работе. Позже я пробовал написать такой топик на других похожих ресурсах, но такого эффекта больше не было.

По моему плану я должен был закончить ко дню знаний, но по ходу дизайна уровней я решил добавить в игру несколько новых «фишек», что в итоге увеличило срок вдвое. В процессе разработки, помимо знакомства с редактированием UV координат для 3D объектов, ещё больше подтянул навыки написания скриптов в Unity и всё реже стал заглядывать в документацию. Из сторонних бесплатных дополнений, взятых на assetstore, в игре присутствуют набор текстур под металл(Metal textures pack), из платных — набор музыки и эффектов для головоломок (Puzzle Audio Kit) и набор космических скайбоксов (Skybox Volume 3).

Вторая часть получилась на голову выше первой и по производительности и по всем остальным параметрам. В ней стало больше контента, появились системы звездных наград, блочная разблокировка уровней и прочее. Также я добавил возможность платно апгрейдить игру до премиум версии, которая убирала рекламу и открывала сразу все уровни. Реклама, как и в приквеле игры, была полноэкранной и показывалась через определенный период запусков уровней. Этот период я стал хранить в php файле на имеющемся у меня VPS сервере. Это дало возможность менять этот параметр в любое время, без обновления apk файла.

Продвижение

Раньше я не выбирал дни релиза и выпускал игры сразу, как только было готово. В этот раз решил выбрать именно пятницу, решив, что этот день более благоприятен для рождения новой игры. Создав иконку, скриншоты, промо изображения и описание, с облегчением выложил очередную игру в Google Play и приступил к менее приятному и куда более сложному процессу — продвижению.

По традиции, после релиза опубликовал посты на форумах и пабликах во «Вконтакте» с открытой стеной или возможностью предложить новость. Но в отличие от первой части, игру приняли намного холоднее. Пост на pikabu, на который я имел основание надеяться, также не дал особых результатов. Через Google Analytics я смотрел, сколько человек играют в реальном времени. В один момент я заметил резкий рост пользователей. «Загуглив» название своей игры, нашел свежее видео в YouTube. Приятно было снова попасть в выпуск от GamePlan, на этот раз, на первое место, из трех обозреваемых игр. Обзор дал порядка 360 установок в день его выхода.

Исчерпав бесплатные каналы плавно перешел к платным. Заказал обзоры у двух видео-блогеров и пост в сообществе Android во «Вконтакте» (~400k подписчиков). Всё публикации пришлись на 1 день и в сумме с 20 тыс. просмотров я получил около 1750 установок, затратив при этом в сумме 3500 р. Тут нужно отметить, что помог один из тестеров, вступивших в мою группу ВК, и один обзор (от более популярного видео-блогера) мне сделали по символической цене, которую я сам же и назвал.

На второй день после публикаций был виден результат рывка. В топе новых бесплатных аркад игра запрыгнула на 25 место и 148 место в топе всех бесплатных в этой категории. Хорошие отзывы и высокая средняя оценка — 4,7. Далее я стал покупать установки в системе apptools, где её участники, за вознаграждение, устанавливают продвигаемые приложения. Цена одной установки там обходится минимум в 6 рублей для Android приложений. Несколько дней покупал по 100-400 установок, чтобы не сбавлять обороты и подниматься в топ дальше. В сумме с обычными установками были неплохие показатели, в итоге игра добралась с 25-го до 15-го места, периодически попадая в топ «набирающие популярность». Но установки из apptools имеют и обратную сторону медали. Большинство участников, получив награду, тут же её удаляют, а это плохо влияет на ранжировании в топах. Подъема по инерции так и не последовало и после этого начался плавный спуск вниз.

График установок Google Play:



График позиции в топе бесплатных аркад:



График доходов с рекламы:



В момент написания статьи я жду обзора от 4pda и результаты модерации в Appstore.

Заключение


За весь период я получил массу опыта, работая в свободное время и в свое удовольствие. Я убедился, что игры можно создавать, не имея большого опыта в программирования. Основным рычагом является сильное желание. Сделал для себя вывод, что успех игры по большей части зависит не от самой игры, а от правильной стратегии продвижения, чему мне ещё предстоит учиться. За все время прибыль от рекламы со всех игр составила чуть больше 1k долларов и ещё около ста с внутри-игровых продаж и платных версий. Основная часть пришлась на последние полгода. Цифры, конечно, пока что смешные, учитывая, что есть игры, зарабатывающие столько за 1 день. Но хотя бы что-то, доходы дважды отбивают все затраты на дополнения и продвижение. На данный момент планирую и дальше делать игры, идеи и желание для этого имеются.
Tags:
Hubs:
+42
Comments 10
Comments Comments 10

Articles