Годвилль на iPhone — как это было

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

    Годвилль разрабатывается больше двух лет, поэтому интересностями он успел обрасти изрядно. Но браузер везде с собой не возьмешь, а проведать героя иногда хочется прямо здесь и сейчас. Нужен был мобильный клиент, и мы, начитавшись success-stories об успехах в Appstore, решили сделать что-нибудь под iPhone. Айпод и мак у нас уже были, впрочем как и регистрация в iPhone Developer Program. Дело оставалось за малым — написать.

    Писать стали командой из двух с половиной человек: один занимался непосредственно клиентом (видя при этом MacOS и Objective-C впервые в жизни), второй работал над API сервера, а автор этой статьи толкал гениальные идеи и прочим образом мешал процессу. Начав работу в сентябре прошлого года, мы планировали к началу ноября получить первую жизнеспособную версию, которую можно будет пустить в народ и понаблюдать за эффектом. Сам клиент и игра бесплатны, а разработка должна была окупиться и принести миллионы за счет желающих купить внутриигровую валюту.

    Одной из ключевых особенностей игры является живущий на сервере герой, который самостоятельно вляпывается в приключения в непредсказуемые моменты времени. Поэтому в клиенте очень хотелось организовать близкое к realtime-обновление данных, дабы возможные новости приходили игроку максимально быстро. Первый опыт с такими вещами мы получили еще в прошлом году, добавив Comet в основной версии, поэтому грех было не использовать существующие наработки в нативном клиенте, попутно избавившись от браузерных «костылей». Базовая идея тут очень проста — клиент держит постоянное сокет-соединение с сервером, а тот в свою очередь посылает обновления ровно тогда, когда они есть, при этом всячески стараясь экономить трафик. В качестве страховочного варианта имеется и обычный поллинг вместе с хитрым механизмом переключения с него на push и обратно. В совокупности все это обеспечивает прозрачный для пользователя механизм максимально быстрых обновлений.

    Удобству клиента и интерфейса также уделялось особое внимание. Возьмем в качестве примера окно регистрации. Скриншота исходной версии не сохранилось, но изначально оно выглядело более-менее стандартной регистрационной анкетой на шесть полей (два имени, девиз героя, пароль с подтверждением и почта). Вроде бы ничего смертельного, к тому же в аппсторе мы часто натыкались на схожие формы. Но после релиза первой версии мы обнаружили, что многие игроки проходят регистрацию попытки с 6-8 (столько раз форма отправлялась на сервер, чтобы вернуться с ошибкой из разряда «данное имя уже занято»), а некоторые, судя по всему, просто уходили, не сумев зарегистрироваться сходу. Пришлось заняться упрощением — была добавлена realtime-валидация введенных имен, необязательные поля были переброшены в профиль, а в качестве пароля по умолчанию стал использоваться хэш от id устройства, что вообще избавляло игрока от необходимости его вводить. На все про все ушло аж две недели, но зато потом окно регистрации стало радовать глаз и со свистом пропускать через себя даже самого ленивого юзера (в видео ниже можно посмотреть на него вживую).

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



    Дата релиза клиента постоянно переносилась из-за желания «прикрутить еще и вот эту полезную штучку», так что вместо предполагаемых изначально двух-трех месяцев (в режиме 3-4 часов в день) мы потратили почти четыре. В конце декабря волевым решением все же кое-как поставили точку и отправили наконец приложение на review в аппстор, предварительно начитавшись о ужасах рецензирования и ожидая отказа по какой-нибудь дикой причине после двух недель неторопливого рассмотрения. Однако review прошел с первой попытки и на удивление быстро — всего за два дня. Пришла пора пожинать плоды работы.

    Первоначальной идеей был быстрый старт за счет уже зарегистрированных в игре обладателей айфонов, попадание в общий «Top-100 Games» и последующее бултыхание там в районе 50-х позиций с небольшим стабильным притоком новых игроков. Но здесь мы сильно промахнулись, переоценив число айфоноводов в своем комьюнити. Меньше сотни скачиваний в первые сутки и от силы по десятку в последующие вывели приложение в локальный «Top-100 RPG Games», но разглядеть его там потенциальным игрокам не удавалось. Апдейты и тема на форуме разработчиков не помогли, и месяцы упорной работы просто некому было оценить.

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

    Последним шансом была публикация на каком-нибудь популярном и тематическом iPhone-портале, и здесь очень кстати подвернулся проводимый на www.iphones.ru конкурс обзоров разработчиков. К делу подошли обстоятельно — несколько дней ушло на создание видео-обзора, еще пару дней писался и вылизывался сам текст. Наконец обзор был опубликован на главной странице iphones.ru, где его прочитало относительно небольшое для сайта число человек — около 3 тысяч. Примерно тысяча из них установила приложение и зарегистрировалась в игре, просмотрев вот этот видео-обзор:



    А дальше произошло неожиданное для нас событие. Такая резкая волна установок бесплатного приложения вынесла его на главную страницу российского аппстора, где оно и закрепилось на третьем месте глобального Top-10. Народ повалил косяками — примерно по 1200-1500 скачиваний в день. Как ни странно, при этом ничего не упало и, за исключением пары-тройки вылезших минорных багов, проблем особых не наблюдалось. Каждый день мы ходили в аппстор, чтобы со слезами умиления взглянуть на свое детище на главной странице и порадоваться за себя. Но через пять дней число скачиваний стало уменьшаться (имелось устойчивое ощущение, что все заинтересовавшиеся посетители аппстора игру уже скачали, и народ попросту закончился. Хотя кто знает — возможно, виновато название, описание или иконка?), и постепенно мы вывалились сначала из Top-10, а потом и из Top-100. Сейчас картина выглядит так (жирные точки — апдейты клиента, пик в центре — тот самый взлет):



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

    И напоследок — про эти самые рейтинги. После первого релиза мы обнаружили мощную вилку в оценках: баллы приложению выставлялись совершенно полярные, что бывает достаточно редко. Объяснение простое: игра, вообще говоря, не для всех и требует некоторого напряжения для вживания, поэтому неразобравшийся сходу качальщик со злостью удаляет ее с минимальной оценкой, а прорвавшиеся через необычность и ухватившие суть игроки обычно ставят высший балл. Все бы хорошо, но гениальная фича iPhoneOS предлагает поставить приложению рейтинг только при его удалении (и какой балл при этом можно ожидать?), а вот если оно установлено и активно используется, то простого пути оценить его не имеется. Решив исправить несправедливость, в последней версии мы добавили в клиент быструю ссылку на страницу ревью в аппсторе, а также единоразово вылезающую через неделю игры просьбу поставить ей оценку. Результат фееричен и показан на рисунке ниже. Не то чтобы рейтинг приложения имел особое значение (в отличие от платных версий, у бесплатных аудитория куда больше и редко знает, чего хочет), но 90% пятибальных отзывов приятно греют душу.



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

    Комментарии 28

      0
      прикольно. что за трек в мувике?
        0
        Shazam говорит это Sagopa Kajmer — Bebegim Oldu
          0
          Это Silent Hill 2 OST — Theme Of Laura.
            +1
            А еще точнее: Silent Hill 2 — Theme of Laura (Sadan Drum and Bass Mix). YouTube на первый вариант выдает другую мелодию.
          +4
          А что мешало опубликовать обзор Айфон-версии и здесь, тем более что большинство раннезарегистрировавшихся иммено отсюда? Не все айфоновладельцы регулярно посещают iPhones.ru. А чтобы сделать топик интересным не только для них, можно было также написать о процессе разработки. Так вместо одного топика (сегодняшнего) получилось бы два — думаю оба бы попали на главную.

          PS. Скачал, проведал своего 22-месячного героя :)
            0
            Если бы не подвернулся конкурс обзоров — пришли бы и сюда, чего греха таить :) Но вообще на хабр хотелось принести скорее результаты, а не процесс. Так и получилось.
            +1
            А чем записывали видео и как накладывали субтитры если не секрет.
              0
              MAGIX Movie Edit Pro. Небольшой, но очень удобный для таких роликов пакет.
              +1
              Приятный клиентик! Ждите очередную волну новых игроков )))
                +2
                :) Установил как только прочитал о клиенте для iPhone. Хочу отметить что с каждым обновлением клиент становился значительно приятнее! Спасибо :)
                  0
                  А для Android не планируется клиент?
                    0
                    Автор написал «Попутно из всей этой затеи родилось полноценное API, с помощью которого особо продвинутые игроки делают клиенты для других платформ.»
                      0
                      Не только планируется, но и уже пишется и довольно близок к релизу.
                        0
                        Круто! А открытый бета-тест будет? И он будет опен-сурсный;-)?
                          0
                          Опенсурс вряд ли, а вот бета-тест будет, о чем мы обязательно отпишемся в нашем блоге.
                            0
                            Если все еще интересен андроид-клиент для Годвилля — то бету уже выложили

                              0
                              Пардон, ссылка потерялась: godville.net/blog/post/114
                                0
                                О, громадное спасибо, не ожидал персонального приглашения) Обязательно приму участие в бета-тесте)
                                  0
                                  Если в двух словах — то очень круто. Мне понравилось, я не знаю, как оно на iPhone, но на андроиде все очень удобно (даже удобнее web-версии), и выглядит клево.
                                    0
                                    Спасибо на добром слове. На самом деле там нет еще и половины задуманного, так что в будущем должно стать еще веселее.
                                      0
                                      Уверен, что все будет замечательно) Я вам на вашем форуме отписался насчет пожеланий) А в маркете будет? Не то чтобы это было критично, но обновляться так удобнее)
                                        0
                                        Да, мы обязательно добавим клиент в маркет, как только более-менее доведем до ума функциональность и дружелюбность. За пожелания спасибо, это весьма помогает.
                            0
                            Раньше про игру слышал, но побудил поиграть только клиент. удачи вам
                              +1
                              Кстати, если кому интересно, достаточно давно существует jabber-конференция, где можно в живую пообщаться с разработчиками и другими богами ;)

                              • Сервер: conference.jabber.ru
                              • Комната: godville
                                –6
                                Сделали бы клиент Ryzom для iPhone.
                                  0
                                  Все хотел вам написать про баг с трофеями жирными. Да все руки не доходили :)
                                  Не знаю есть ли сий баг в новой версии клиента (не часто сечас играю).
                                  Вобщем смысл бага в том что после:
                                  UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
                                  Шрифт надписи делался жирным. Но для обычного трофея не сбрасывался в не жирный.
                                  В итоге при определенной последовательности жирных/не жирных трофеях получалась бяка (жирный трофей ушел за экран при скролле, после этого взялся из очереди для выползающей снизу ячейки, но фонт там оставался жирный).
                                    0
                                    В вышедшей недавно версии 1.5 этот баг был ликвидирован. Но спасибо за фидбек, все бы такие сообщения об ошибках слали :)
                                      0
                                      Вроде пару подобных багрепортов уже слал вам :)

                                  Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

                                  Самое читаемое