![image](https://habrastorage.org/files/886/4a0/22d/8864a022da2d4885971929054a167364.png)
В этой большой статье будет рассказано о разработке игры, развитии её визуального стиля и о том, что собственно она из себя представляет (на протяжении более года с момента первого запуска Unity я держал её основную механику в тайне, т.к. ничего идентичного ей не встречал), а также о том, на какие грабли наступал в процессе разработки, о развитии графического стиля, о всяких философских размышлениях на тему индустрии и всего остального.
Лучше один раз увидеть, чем сто раз услышать, так что вы сразу можете посмотреть наш промо-ролик:
Идея игры зародилась ещё давно, после неудачной работы в Москве, когда я выполнял задание по придумыванию различных концептов мобильных игр для какого-то удалённого продюсера. Из пары десятков идей эта была самой интересной и многообещающей, и я оставил её для себя.
За концепты мне так и не заплатили, продюсер куда-то пропал, а вот идея уникальной игры так и осталась. Всё-таки, иногда бесполезная на первый взгляд деятельность приносит свои вкусные плоды.
![image](https://habrastorage.org/files/8ee/b28/357/8eeb283578b941b382d4f34983d25daf.jpg)
Первый рисунок игры, с которого всё началось
Монстры идут по дорожкам сверху вниз, а игрок палит по ним из различных магических рогаток.
По сути, игра является комбинацией идей Plants vs. Zombies и Angry birds.
Первый нормальный арт к игре (авторство не моё), когда я, будучи ещё только геймдизайнером, организовал 3,5 параллельных проекта (подробнее все мои приключения в геймдеве описаны в 2х предыдущих статьях, 1 статья, 2 статья).
![image](https://habrastorage.org/files/32c/37c/9d4/32c37c9d47e84ad2ad4a4235e37be436.jpg)
После всех этих приключений я пришёл к выводу, что для того, чтобы довести дело до конца, надо самому стать главным программистом, а не только геймдизайнером.
В качестве движка разработки я хотел было взять Cocos 2dx, но благодаря одному по-настоящему хорошему человеку, а именно Сергею Ледину, я бросил эту безнадёжную для гуманитария затею и выбрал Unity. Как выяснилось, не зря – и если кто ещё раздумывает о выборе движка, то спешу развеять все ваши сомнения – смело выбирайте Unity. Благодаря какому-то любителю делать велосипеды из граблей и костылей, да ещё без сидения, я почему-то был уверен, что раз Unity позволяет делать сразу на любые платформы, то это сказывается на производительности и глючности. А внезапно этот движок оказался индустриальным стандартом, образцово-показательно документированным, с огромным количеством уже готового кода, с ответами на Unity Answers на все нубские вопросы.
![image](https://habrastorage.org/files/98c/287/039/98c287039f214b2f95ec46bc0e8380c3.jpg)
Типичный любитель самодельных велосипедов из граблей
Ещё хочу заверить только надумывающих сделать свою игру, что предварительно изучать программирование или мифическую архитектура игр вовсе не обязательно – можно начинать всё делать с ходу, достаточно лишь предварительно закончить базовый курс на codecademy, а все знания придут в процессе.
В качестве языка я выбрал Unity Script (разновидность JS). С одной стороны, он сильно проще C#, а с другой стороны, если не приучать себя к более сложным конструкциям, то когда дело дойдёт до интеграции плагинов, например с внутриигровыми покупками, то у вас могут возникнуть проблемы. Так что если за вами не гонится сумасшедший тираннозавр с плазменными пушками, то более разумным будет написание игры на C#.
Вдохновившись создателем Iconoclasts, я выбрал совершенно джейдайский путь, на котором собирался ещё и рисовать всю игру самостоятельно. Монстры выходили у меня неплохо. Первый монстр, синий кот, появился, когда я рисовал ледышку и внезапно понял, что она своими начертаниями напоминает кота.
![image](https://habrastorage.org/files/419/ee5/4f4/419ee54f4e244ac984c108f51766aa4e.png)
На каждого монстра должно быть свой анти-монстр. Я помучался с рисованием неживых предметов (башенок и минивулканов), которые у меня выходили отвратно, а затем случайно наткнулся на роутер:
![image](https://habrastorage.org/files/3e2/07a/bdf/3e207abdf0014696a65e0961e4c6710b.jpg)
И придумал вот такого защитника:
![image](https://habrastorage.org/files/f33/2fa/79e/f332fa79e12743eeb2d20ae0de0d6338.png)
Тут же образовался сюжетный концепт: добрые персонажи стреляют добрым колдунством по злым и делают их добрее. Если монстр добрался до низа экрана («базы»), то он крадёт у игрока сердце (жизнь). Звучит наивно, по-детски что ли, но в этом есть особый смысл. Даже самому злому монстру нужно лишь любовь и внимание. Как я уже упоминал в предыдущей статье, главный враг всегда находится внутри нас, а не вовне.
В своё время я не раз проходил такие игры, как Postal, Manhunt и GTA, но затем я стал убеждённым сторонником бескровного геймплея. Я считаю, что борьба – основа мироздания, а кровавое насилие в современной культуре (не только в играх) – пережиток прошлого. Со времён Большого Взрыва материя претерпевала не только структурные изменения, но и концептуальные. Изначально существовали только неживые соединения молекул, затем из всего этого хаоса как-то образовалась живая материя, которая эволюционировала в животных. Затем появился человек, который мало отличался от своих предков – та же жизнь под дудочку инстинктов, но более сложносочинённая. Сейчас же, на мой взгляд, человек находится в переломном моменте – из частично осознанной материи, за счёт накопления и осмысления культурного багажа и опыта цивилизации, мы постепенно становимся полностью осознанной материей. Так что в этой и других своих играх я попробую реализовать концепцию бескровной борьбы. На самом деле, можно даже MMORPG сделать с боёвкой, но без крови. Звучит странно, но на самом деле всё зависит от сеттинга и желания последовательно реализовывать нестандартную идею.
После определения сюжета я нарисовал и запрограммировал прототип. Вот что у меня вышло:
![](https://habrastorage.org/files/702/82e/acd/70282eacd27d40aebde8c62eac73e2d0.png)
Вроде как неплохо, но я хотел сделать такую игру, которая на полном серьёзе могла бы тягаться с тяжеловесами индустрии. Стиль был оригинальным, но недостаточно качественным, чтобы он не вызывал чувства халтуры и понимания непрофессионализма создателя.
Я решил всё-таки заказать арт. По результатам сотрудничества, которое не задалось, получилось следующее:
![](https://habrastorage.org/files/28c/210/429/28c2104295ea41c8ba6d1ae63e782b29.png)
Следующий художник был хорош, у нас с 1 раза вышел замечательный логотип, но Василий собрался в Тай на полгода и мне пришлось снова начинать поиски. В этот раз, после многочисленных злоключений (не относящихся к Василию) с художниками мужского пола я решил найти художницу, предполагая, что девушка будет относиться к работе более порядочно. До чего же правильное решение я принял! Мне удалось найти «ту самую», которая с ходу выдала крутейший комикс с историей мира.
![](https://habrastorage.org/files/4c1/308/ee2/4c1308ee2ba649b7a4a4d7213815a3bc.jpg)
Главного злодея Мориарти выгнали из ада за скверный характер, и теперь он творит беспредел и дестрой в некогда счастливой стране котиков и прочих чудил.
А пока ещё визуальный стиль не был полностью переделан, я своими силами дорисовал демку, и, поторопившись, отправил её в издательства. Выглядела она вот так:
![](https://habrastorage.org/files/8f2/216/b25/8f2216b25a2c4629bdb0fbb6f5157054.png)
Сейчас я понимаю, что зря спешил, с издателями надо было связаться после полного обновления визуального стиля для повышения шансов заинтересовать.
Несмотря на «яркий и красочный визуальный стиль» и «оригинальный концепт» (цитаты издателей), никто не заинтересовался в её издании. Казалось бы, что надо, чтобы игра заинтересовала? Визуальный стиль, который выделяет её среди остальных игр, но не артхаусный, понятный лишь единицам? Есть. Оригинальная и простая механика, не клонирующая ни одну игру, что позволит первым занять свою нишу? Есть. Кому всё это надо? Никому :)
В общении с одним из издателей я выяснил, что ориентировочная цена привлечения игрока в нашу игру в разы выше, чем прогнозируемая прибыль с него же, и поэтому вкладываться в «траф» (от слова «траффик», именно так сейчас издатели называют игроков), никто не будет. Это объясняло несколько десятков отказов от лучших издателей. Хотя для меня до сих пор остаётся загадкой, как бесчисленные 3 в линию, несмотря на маркетинговые бюджеты конкурентов в лице Candy Saga и многочисленных подражателей отбивает вложения, а у игры вроде моей – такой же простой и казуальной в сути, как CCS, но с оригинальной механикой, шансов по расчётам издателей нет.
Буду выяснять это на своём опыте.
Когда мне отказали издатели по этой причине, я был удивлён, ведь планировал, что большинство отказов будут по другим причинам. Также безумная перспектива в одиночку соревноваться с гигантами индустрии, вкладывающие бюджеты небольших стран в продвижения своих игр, не внушала оптимизма.
Сейчас я благодарен издателям за отказы, ведь это позволит мне пройти весь путь настоящего инди от начала и до конца, включая продвижение игры. Это как восход солнца вручную – затея безумная на первый взгляд, но если подойти к ней системно, то шансы могут быть. На сколько успешно у меня это получилось для рынка стран экс-СССР, станет ясно уже в ближайшие дни.
Но вернёмся к осени прошлого года. Издатели отказали, но сотрудничество с художницей шло успешно, игра приняла свой финальный облик (постановочный скриншот для магазинов):
![](https://habrastorage.org/files/e0c/eea/161/e0ceea161831411eb8c1d2a1327004ad.png)
Да, мы действительно разыгрываем 5 кг твикса в нашей группе
Проблема с графикой решилась, но возникла новая: после интеграции плагина авторизации в контакте я понял, что для реализации инвайтов, аналитики и внутриигровых платежей мне нужен серверный программист, которого мне таки удалось найти (им оказался автор плагина).
Сервер решили делать на Microsoft Azure – во-первых, это избавляет от необходимости писать велосипеды из костылей, а во-вторых, Microsoft даёт бонусные деньги на счёт Microsoft Azure каждого разработчика после регистрации проекта в BizSpark.
В качестве звукового оформления я решил использовать треки диджея и композитора, с которым успешно работал над одним из предыдущих проектов. В результате у нас получился оригинальный саунд-дизайн – в качестве фоновой музыки для уровней используются trance и breakbeat треки.
![](https://habrastorage.org/files/9d6/4ec/074/9d64ec074bc24017a535bed30bc62d6f.jpg)
Скриншот трека Flashback
Монетизация игры очень мягкая – все 50 уровней можно пройти, не потратив ни копейки. Большую часть выручки планируем получить с помощью видеорекламы, которая показывается в 1 из 5 случаев после провала уровня. В своей первой большой игре я решил не выжимать из игроков все соки.
Вообще монетизация игры – отдельная интересная история. Пока игра ещё не успела запуститься, я уже сумел избежать нескольких граблей, связанных с ней. Началось всё с баннеров admob в нижней части экрана. Баннеры находились в том месте, куда так и тянется нажать, если один из монстров почти добрался до края экрана. И, зная как admob банит при малейшем подозрении на мисклик, я решил найти какой-то другой способ монетизации. Порыскав в статьях о монетизации, я решил юзать видеорекламу. В качестве системы выбрал Chartboost, ведь по косвенным признакам он хорошо работал в России. Но, как оказалось, видеореклама с наградой в России толком не работала, филлрейт был близок к 0. Выяснилось это совершенно случайно в комментариях на «Цукерберг позвонит». Там же я создал тему-опрос, какую видеорекламу юзать в России. Судя по всему, в России лучше всего юзать Unity Ads.
Монетизация нежадных игр вроде моей, приводит к парадоксальным результатам – если ты мягко монетизируешь игрока, то ты выживаешь только за счёт «перелива трафа» в игры китов индустрии. Да и вообще анализ всей ситуации в индустрии приводит к фантасмагорическим выводам – ведь раньше игроки платили за установки игр, а теперь за это платят издатели, зачастую тем же самым игрокам (с помощью сервисов мотивированных установок).
![](https://habrastorage.org/files/084/7f7/42a/0847f742a4f94869884b994a265ac25f.jpg)
Cовременная модель монетизации большинства мобильных игр
Кроме видеорекламы, мы планируем получить кое-какую отдачу от со-финансирования проекта на краудфандинговой платформе Planeta.
Честно признаться, мне немного неловко собирать деньги на игру, когда по соседству собирают деньги на благотворительность, спасают жизни и судьбы людей, а мы тут со своими Sling Monsters. Но дело в том, что игра – не самоцель, в первую очередь я делаю её для того, чтобы получить финансовый базис для других проектов без необходимости инвестиций, которые зачастую, на опыте тех же Контакта и Хабрахабра, вынуждают тратить силы на скандалы и делёж долей вместо развития проекта. Что же это за запланированные проекты такие? Например, один из них может помочь локальным сообществам и даже государствам преодолевать кризисы более успешно.
К слову о кризисе. И снова с играми складывается парадоксальная ситуация – для таких игр вроде моей, которые монетизируются за счёт рекламы, высокий курс доллара даже на руку, ведь выручка от рекламных сетей идёт в долларах. То есть, даже если игра работает на экс-СССР рынке, а наши игроки не тратят ни копейки, прибыль ты всё равно получаешь, и причём в долларах. Удивительное дело.
![](https://habrastorage.org/files/fda/6f7/e48/fda6f7e4829a44b495ae70ce184618fa.png)
Сегодня мы запускаемся в России и странах бывшего СССР, на очереди мировой релиз, перед которым мы планируем добавить много нового интересного в игру, в том числе и PvP со ставками в игровой валюте.
Ссылки на игру в статье к сожалению дать не могу. Возможно, вы увидите их в комментариях, если какой-нибудь добрый человек заинтересуется результатами моей истории.
Большое спасибо Полине, Даниле, Виталию и Сергею за то, что делаете игру со мной!
P.S.
Если вы хотели бы программировать эту или другую нашу игру на Unity (за оплату, конечно же) и вы готовы бросить всё и улететь на край света, то обязательно напишите мне в контакте.
Комментарии (15)
aleks_raiden
24.07.2015 22:01+1Лично за себя могу сказать, что не стал бы играть из-за отталкивающих острых углов всех персонажей — они совсем не такие чтобы их хотелось считать «ми-ми-мишками»
LinGG
24.07.2015 23:48+3не стал бы играть из-за острых углов персонажей? серьезно?
aleks_raiden
25.07.2015 00:07+1да, это делает графику неприятной, соответственно эмоциональной вовлеченности, эмпатии и переживания за игровой процесс нет. Это разве новость?
stansult
24.07.2015 23:45на очереди мировой релиз
Эх, хотел всё равно попробовать :)
Delfuego Автор
25.07.2015 11:00открыл для всех стран
stansult
28.07.2015 23:52Я установил игру. Хотел немного написать о навигации.
Я открыл меню, и нажал Настройки, а чтобы их закрыть — нажал Back. Но от этого вся игра закрывается.
А я привык (в других программах на андроиде), что Back закрывает текущую activity и возвращается к предыдущей.
То же самое с нажатием на экране за пределами окна Настройки — по опыту других программ я ожидаю, что оно от этого закроется, но ничего не происходит. Остаётся лишь тыкать точно в “Х”. А его сразу и не видно, он визуально сливается с окружающим. Выне пробовали немного затемнить меню на заднем фоне, когда какая-то подменюшка открывается на переднем?
forewar
25.07.2015 01:54+1Графика и стиль мне весьма понравились! А вот над геймплеем еще много работать. С трудом доиграл второй уровень и дальше играть желания не возникает. Жать на каждого противника по два раза, каждый раз жать на защитника, чтобы его активировать, и… все.
Вероятно, дальше будут какие-то навороты, но, боюсь, большинство до них не дойдет.
Но в целом игра выглядит так, что ее, на мой взгляд, не стыдно показать миру. Желаю успехов в развитии, перспективы у вас однозначно есть!Delfuego Автор
27.07.2015 14:58спасибо за добрые слова! по геймплею действительно у меня пока ещё не получилось выжать максимум
Zanael
25.07.2015 08:28+1Однако, неожиданно было увидеть Миру в данном амплуа и на Хабре. Может стоит получше рассмотреть ее сильные стороны (в хорошем смысле) и срежессировать видео иначе?
Dywar
26.07.2015 19:52Увеличить скорость возникновения событий и сократить продолжительность ролика. Паузы даже в 0.5 секунд чувствуются по сравнению с профессиональными роликами на игры.
Минут 10 искал это ролик припоминая только отрывки ролика :)
Jack Lumber Apple iOS game trailerHattoriHandzo
27.07.2015 14:181. Из-за сложного управления возникает раздражение, нужно подумать о более удобном варианте перемещения башен :) Даже под мои мелкие пальцы все равно промазываю и приходится еще раз переносить.
2. Лучше нижнюю полоску прогресса наверх переместить — удобнее следить за прогрессом. —
3. Потом, я бы сделал, если появляется злодей там где стоит башня, то тап на злодея работал бы без тапа на башню.
PapaBubaDiop
По-моему, умопомрачительный дизайн, мое почтение девушке-художнику. Пупырышки на бекграундах просто хочется нажать)
Не хватает ссылки на видео, чтобы оценить звук и геймплей.
Да, и почему баннер от AdMob не разместить вверху, что предполагается по умолчанию?
Delfuego Автор
Вот наш промо-ролик: www.youtube.com/watch?v=RJDch_QOieE (там же есть ссылки на игру, кому интересно). Спасибо за напоминание о ролике, добавил его в пост.
Вместо Admob баннера я сделал самодельные баннеры «игры скачать без смс» (говорит в комиксовом облачке главный злодей) и «смотреть увлекательные видео», которые открывают видео Unity ads. Такой баннер лучше вписывается в дизайн игры и по идее даёт большую лояльность рекламе. Хотя я могу ошибаться.