Pull to refresh

Постмортем iPhone игры Finger Physics

Reading time 9 min
Views 1.6K
Игра Finger Physics была разработана московской командой PressOK Entertainment (Reaxion) и выпущена в сентябре 2009 года на платформе iPhone/iPod. Игра попала в Top-5 платных приложений в США, а бесплатная версия заняла почетное первое место. Finger Physics в разы окупил свой бюджет, был загружен более 2,5 млн раз, получил множество положительных рецензий и успел побывать в руках у самого Стива Джобса (пруфлинк) на январской презентации iPad.

Наша компания занимается разработкой мобильных приложений последние 9 лет, и эта игра стала первым опытом iPhone-разработки для команды. Мы всегда с интересом читаем истории об успехах других разработчиков и хотим поступить точно также по отношению к тем, кто еще только начинает разрабатывать игры под iPhone.

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




Что было сделано правильно


Мораль команды
После многих лет работы над J2ME/BREW приложениями со всеми их особенностями и ограничениями iPhone казался нам идеальной платформой для собственного проекта — хотелось «оторваться». Собралась основная команда, началось обсуждение концепта физического паззла, за образец была взята флеш-игра Super Stacker.

Результатом первого месяца стала играбельная техническая демка. Кроме основного режима игры (задача игрока — расставить на уровне выданные блоки и достичь равновесия полученной структуры) на бумаге были продуманы еще три — они ждали своей очереди. Демка с сопроводительным письмом отправилась в наш американский офис в ожидании «большого аппрува». Изначальная договоренность была такая — если мы делаем интересную демо-версию игры, наша команда получает большую свободу и может заниматься разработкой исключительно своими силами. К нашей радости прототип был одобрен, и мы приступили непосредственно к разработке.

Хороший симптом того, что у вас получится хит, проявляется тогда, когда все разработчики с удовольствием занимаются своим делом. Так получилось, что почти для каждого члена команды работа над проектом была именно такой. Художники могли «оторваться» в визуальном стиле после длительной и тяжелой работы над предыдущим проектом, дизайнеры создавали хитроумные физические головоломки, программист (который до этого работал исключительно в QA) наконец-то смог писать код, да еще и осваивал новую платформу. Словом, всем было крайне интересно работать над игрой. В результате мотивация всей команды толкала проект вперед с максимально возможной силой.

Визуальный стиль
Два ключевых слова, которыми можно описать визуальный стиль Finger Physics — «скотч и картон». У нас не было сюжета или главных персонажей, и для каждого режима игры (всего их пять) был нарисован совершенно абстрактный уровень. Игрока, в принципе, не волновало, кем он играет, где находится, и мы могли показать ему красивые и разнообразные пейзажи.

image
Локации — вулкан, подводный мир, космос, весенний луг и ночной город

Мы отказались от использования акселерометра в игровом процессе (в отличии от основного конкурента — Topple, с которым нас постоянно сравнивают), но оставили его для мелких украшательств на уровнях. Небольшие звезды, куски магмы и ракеты плавно раскачивались в такт движению айфона.

Практически единственная арт-проблема, которая нас посетила, была связана с иконкой игры. Иконка приложения — это главный продавец вашей игры. Волшебное требование отдела маркетинга к иконке — «attractive and descriptive» (притягательная и понятная). С учетом отсутствия главного героя и довольно сложным по смыслу названием мы потратили несколько недель на то, чтобы попытаться уложить смысл слова Finger Physics в 57х57 пиксела. Кроме этого, чтобы игра дополнительно выделялась на фоне остальных, иконка должна была быть выполнена в оригинальной форме, а не классическом iPhone-стиле — «скругленный квадрат».

image
Вверху — прототипы иконок, внизу — версии иконок

Казуал против Хардкорщика
При дизайне уровней мы старались угодить одновременно двум полярным аудиториям — и казуальным игрокам и хардкорщикам. Крайне сложная задача, но судя по тому сколько молодых отцов пишут в комментариях к игре о том, что с удовольствием играют в нее вместе со своими детьми — задумка удалась.

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

Реплейабилити (в комментариях открывается конкурс на русский перевод этого слова) уровней удалось достичь за счет введения медалей. Чем лучше пройден уровень, тем солиднее выдаваемая медаль. Получить золотую медаль на сложных уровнях было крайне тяжелой задачей — отличный вызов для хардкорного игрока. Людей, получивших золотую медаль на всех уровнях немного (самый сложный ачивмент), но они с радостью делятся в социальных сетях с друзьями своими успехами.

Уровни были объединены в этапы (9 уровней = 1 этап). Следующий этап открывался при прохождении 6 из 9 уровней предыдущего. Таким образом игроки не «подвисали» на непроходимых для них уровнях и могли продолжать играть в следующие.

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

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

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

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

image
A — блок может находиться в движении, но игрок не может с ним взаимодействовать, B — фиксированный блок, его нельзя перемещать, C — перемещаемый блок

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

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

Какие были допущены ошибки


Редактор «by programmers, for programmers»
Первая версия редактора уровней была написана за неделю одним из программистов. У редактора были свои капризы, и зная эти «глюки» с ним приходилось работать довольно специфичным образом. Трудно описать это в деталях, как пример — часть вещей было проще реализовать напрямую в XML коде уровней, чем в редакторе. В итоге, геймдизайнеры часто меняли уровни напрямую в коде.

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

Физический движок
Довольно большую часть времени разработки мы потратили на «войну» с физическим движком Chipmunk, выбрав его вместо Box2D. Часть проблем удалось победить, часть — нет. В итоге, проблемы с физикой перешли на плечи геймдизайнеров. Простые примеры — шары, установленные на плоскость, начинали самопроизвольно катиться, треугольники могли перейти в состояние равновесия при установке их на одну из вершин, магниты при их соединении могли «забиться в конвульсиях». Все это создавало свои ограничения, и часть идей пришлось выкинуть из готовых карт.

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

Chipmunk Box2D
+ Прост в реализации
— Мало документации
— Нет продвинутого функционала
+ Хорошая документация и коммьюнити
+ Продвинутый функционал
— Относительно сложный в реализации


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

Кто-то пройдет уровень с 1 раза и не посчитает его сложным, другой игрок может застрять на полчаса, даже если остальные уровни они проходят примерно одинаково успешно. Тем не менее, частично этот эффект компенсировался необходимостью пройти только 6 из 9 уровней для перехода на следующий этап. Мораль — больше плейтестов, хороших и разных.

Как Finger Physics штурмовал топ
В первый месяц после выпуска игры она зарабатывала примерно 10–30 долларов в день и не находилась в каком-либо топе. Позже Apple добавил ее в категорию What's Hot, но только в клиенте iTunes. Это позволило игре вылезти в Top-10 Ирландии, Швеции и Австрии. Но сильно лучше ситуация от этого не стала, и этот подарок Apple не увеличил продажи на порядок.

Отдел маркетинга устроил промо-акцию, объявив в твиттере PressOK голосование на тему «Какую из айфон игр компании сделать бесплатной на один день?». Победил Finger Physics. За эти сутки полную версию игры скачали примерно 12 тысяч раз. Игра попала в платный Top-50 (будучи бесплатной — такое бывает). Акция закончилась, Finger Physics быстро вылетел обратно из топа. Параллельно с этим в Британии бесплатная версия медленно но верно вошла в Top-100 и в течение недели дошла до первого места. Следом за ней на первое место подтянулась и платная. В течение двух недель она находилась в Top-10, принеся в итоге с Туманного Альбиона примерно 20% общей прибыли.

На первом месте по прибыли были разумеется США. Одновременно с Британией лайт-версия штурмовала местный Top-100 бесплатных игр, вытягивая за собой платную. В итоге лайт-версия примерно неделю была на первом месте, а платная версия дотянула до четвертого места и неспешно выехала из десятки. В эти дни производительность нашего офиса ощутимо упала, потому что люди сидели с открытыми клиентами iTunes и постоянно нажимали F5, чтобы первым закричать о том, что Finger Physics поднялся еще на строчку вверх.

Факты
  • Нельзя с уверенностью сказать, что именно послужило толчком для попадания в Top-100;
  • У игры довольно необычное описание в AppStorе, в котором нет ни слова про игровой процесс;
  • За три недели пребывания в Top-100 бюджет был отбит в двукратном размере;
  • Продажи между 15-ым и 5-ым местом в топе не отличаются в разы;
  • Конверсия из бесплатной в полную версию составила 2,6%;
  • В выходные продажи вырастают на 20–30%. В рождественские праздники — 200-500%;
  • Добавление кода RateMe повысило количество ежедневных обзоров игроков в несколько раз и подняло средний бал игры до 4,5;
  • Результаты подключения рекламы в лайт версию — CTR кликов на баннеры ~3%, конверсия кликов в покупки ~1%. Т.е. с 10 000 показов баннера у вас будет 3 покупки. Подумайте дважды, если хотите зарабатывать на рекламе в бесплатных приложениях;
  • Цена игры — $0,99, она ни разу не повышалась;
  • После выхода Finger Physics из основных топов продаж однодневный сброс цены до нуля поднял продажи, но не вернул игру в топ.
Как только стало понятно, что игра стала успешной, мы начали разработку дополнительных пакетов уровней как для lite, так и для платной версии. Средний срок выпуска обновления — 3–4 недели. Последнее обновление (1.3) по количеству новых фич вполне могло бы потянуть на отдельную версию игры, но мы придерживаемся линии развития оригинальной игры и ее монетизации через дополнительный скачиваемый контент.

image

Итог
Основной вклад в успех продукта внесла высокая мотивация команды. У каждого участника были свои мотивы сделать эту игру хитом. Вторая важная составляющая — минимальное давление со стороны руководства: наш бюджет, хоть и был превышен, но не был большим, а разработчики в случае необходимости переключались с Finger Physics на другие проекты компании. Вместе с тем использовался крайне «мягкий» менеджмент, команда работала на «одной волне», конфликты были исключены.

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



Разработчик и издатель: PressOK Entertainment (Reaxion)
Релиз: Сентябрь 2009
Платформа: iPhone/iPod
Размер команды: от 3 до 7 разработчиков, в зависимости от этапа
Срок разработки: 6 месяцев
Полезные ссылки:
Сайт игры Finger Physics
Пример хорошего введения в разработку для iPhone
Движок для ачивментов и онлайн таблиц рекордов
SDK для сбора статистики о пользователях
2D движок Chipmunk
2D движок Box2D
Tags:
Hubs:
+52
Comments 26
Comments Comments 26

Articles