29 марта 2015

Brain Builder: релиз!


Вот и случилось, наша игра Brain Builder доступна для ваших глаз.
А теперь шокирующее объявление: Andoid, iOS, Web-flash — игра портирована на все эти платформы! Это моя первая игра, которую удалось выпустить на мобильной платформе.
Ссылки на игру (Android, iOS, Web-flash)
У-ф-ф, прошло очень много времени с начала разработки этой игры. Почему так долго и что из этого всего вышло — под cut'ом.

О мобильной версии
Когда я делал флеш-игру у меня не было идеи портировать ее на мобильную платформу… поэтому игра вышла полностью в веб-формате. И уже после продажи через FGL спонсор предложил портировать ее на Android и iOS. Я согласился — ведь это отличный шанс наконец-то выпустить что-то мобильное!
Это я забежал немного вперед, а все начиналось с того, что я не знал, какую игру сделать следующей…

Начало
У меня был депрессняк по поводу того, что как-то ничего не делается… Ничего не получалось в тот момент — хотел съездить на DevGAMM: Minsk с какой-нибудь игрой, и зафейлил это… хотел портировать какую-нибудь старую игру на мобильные — и тоже ничего не вышло… Я по полдня спал, мало ел и играл в какие-нибудь второсортные игры…
Но в итоге чувство «не будь тряпкой» взяло вверх и я решил сделать что-нибудь небольшое и простое, чтобы выйти из гнетущего меня состояния. Наткнулся на видео игры Rulez! и решил сделать что-то подобное, только свое :)

Идея
Основная механика проста: дается задание, которое игрок должен выполнить. Например — найти наибольшее число из представленных на экране. Управляем мышкой, тыкаем ответ — снова появляются числа, и снова ищем наибольшее. На каждом уровне из 8ми — что-то свое, логическое.



Разработка
Самое сложное было — придумать много разнообразных уровней. Меня хватило на десять штук. В последствии два из них убрал, оставив только восемь. Уровней мало, поэтому я их продублировал еще раз с надписью «pro» — повышенная сложность как бы. Таким образом догнал до 16 уровней, что все равно мало для подобной игры.
Вся разработка заняла чуть больше месяца времени. Но, что самое главное — смогла вывести меня из депрессняка, алилуя!



ЛивелДизайн
Когда уровень придуман — сначала я рисую к нему графику, располагаю элементы. Затем программирую логику. Волшебный момент — уровень оживает и реагирует на кнопки, появляется интерактив. Дальше полировка, тюнинг параметров. Когда готово — показываю кому-нибудь для тестов. Затем рекурсивно правлю и меняю тут и там, пока не буду рад результату. В итоге все равно есть шероховатости, но времени на все не хватает, поэтому такие недоделки всегда остаются в моих играх.

Геймплей: ограничить время или количество ошибок?
Была у меня проблема — как лучше сделать?
  • Либо количество «жизней» — игрок тыкает ответы, пока не достигнет результата, или пока не закончатся жизни неправильных ответов.
  • Либо, второй вариант, дать на прохождение уровня ограниченное время, скажем, минуту, за которую игроку нужно собраться и ответить правильно как можно больше раз.
С одной стороны, первый вариант хорош тем, что мы не активируем элемент паники у человека, он не напрягается, не следит за временем, может погрузиться, играть в свое удовольствие. С другой — хочется немного веселья и скорости, как в варианте со временем.
Не знаю, насколько это правильное решение, но после тестов решил остановиться на времени — видно напряжение и азарт, который появляется у тестеров, когда времени становится все меньше.

UI: время и звезды
Отдельно хочу рассказать про интерфейсе. Была задача: нужно показывать игроку оставшееся время. С этим все оказалось просто: заполняющийся индикатор плюс числовое значение времени.

А вот с прогрессом уровня (насколько мы его прошли), а также звездами был у меня затык. Перепробовал больше десяти вариантов. И надпись goal с числом — сколько раз надо правильно ответить для завершения уровня; эмблемки звезд с числами; и хинт при старте уровня… В общем, все было какое-то нагроможденное и отвлекающее внимание. Зачем игроку знать про эти все числа, если он только начал играть?! Также была такая мысль — человек играет максимально хорошо, как только может. Зачем тогда ему постояно отвлекаться на то, сколько сейчас у него звезд? Лучше от этой информации он играть вряд ли будет.
В итоге пришел к такому варианту: заполняющаяся от правильных ответов полоска, которая выдвигается со временем, показывая звезды и их прогресс. Выглядит это как-то так:


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

Продажа
Продавали через FGL, как всегда. Игра лежала больше двух месяцев, даже праздновала новый год на аукционе. Получила около 70ти просмотров и 8 ставок с максимальной — 1500$ за праймари. В итоге спонсор (GamezHero) предложил запилить и мобильную версию, чтобы прям было все круто. Договорились о цене — и я стартовал.

Мобильная версия
Портировал «в лоб», через DisplayList и RenderMode-GPU. Использовал Adobe AIR, это такая обертка над флешом, по сути выполняется в эмуляторе. Но в последние годы Adobe довела AIR до отличного уровня - теперь даже навороченные проекты показывают хорошую производительность. Наша игра уверенно держит 35 кадров на стареньком iPad2. Общее время портирования — менее недели. Я имею ввиду геймплей, саму игру. Дальше я решил вставить рекламу, игровые покупки и GameCenter. И это оказалось на порядок сложнее, чем все остальное вместе взятое :) Два месяца улетели только на это. Все в новинку, куча непонятных багов, плюс переход 1ого февраля на новые ane. Пришлось слезть с FlashBuilder на FDT, искать включение SandBox'а для тестов и многое-многое-многое другое. Без шуток, лично для меня это все оказалось сложным, и, если бы не было договоренности о продаже — наверняка бы я десять раз плюнул бы и все бросил.
Но в итоге вроде получилось, с пятой попытки игру заапрувили в AppStore, и теперь можно кидать ссылки друзьям с пометкой «уау, мы выпустили игру на мобильные» :)

Итого
Наверно, это все, о чем интересном я могу рассказать.
Один из пунктов моего плана на этот год, а именно пункт «сделать хоть что-нибудь под Android и iOS» — выполнен. Осталось еще пятнадцать пунктов :)<

Сообщения, схожие по тематике:

0 коммент.:

Отправить комментарий