Вот и случилось, наша игра Brain Builder доступна для ваших глаз.
А теперь шокирующее объявление: Andoid, 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 коммент.:
Отправить комментарий