Сегодня я хочу поделиться с вами историей альфа-тестирования нашего игрового проекта. Я думаю, что этот опыт будет весьма полезен небольшим студиям, которые впервые показывают свой мобильный проект аудитории. За три недели мы получили массу положительных эмоций, завоевали сердца некоторых участников тестирования и смогли составить roadmap работы над собой и проектом чтобы превратить отличную идею в не менее отличную игру.
Но обо всем по порядку, прошу под кат.
Подготовка и старт тестирования
Как только мы анонсировали дату старта альфа-тестирования, согласно закону Мёрфи, проблемы и задержки стали нашими спутниками вплоть до прошлой пятницы.
Перед самым началом тестирования мы вычитали разные кейсы других команд и пришли к выводу что сервисом для дистрибуции сборки на тест для всех трех мобильных платформ будет HockeyApp. Трижды прогнав процедуру регистрации разными участниками команды с разных устройств, мы убедились, что все работает и сделали небольшую инструкцию по регистрации в прошлом посте для удобства будущих игроков. Но подробнее об этом дальше по тексту.
Затем мы подготовили внутриигровой рынок к моменту старта, создали весь необходимый контент и еще раз перепроверили, не упустили ли мы какую-то мелочь. Хотя некоторые проблемы были известны нам еще до запуска альфа-тестирования, откладывать старт еще дальше мы не могли.
И вот наступило долгожданное 18 марта 2015, день первого билда.
Уже с самого утра мы начали получать письма и комментарии к старым постам с единственным вопросом: ау, уже 18 число на дворе — где игра?
Ранее мы уже описывали, что задержка случилась из-за деплоя на лайв. Мы готовили настройки на альфа режим для значений, базы и наш сервер залихорадило, в результате деплой привел к нерабочей версии. Корень проблемы был обнаружен и исправлен, теперь эта проблема решена навсегда переходом на автодеплой. Мы стартовали.
С этого момента изменилось все.
Мы перестали воспринимать наш проект как продукт совместных усилий команды или как игру мечты. Неважно кто и как воспринимает то, что он делает в процессе работы. В тот момент, когда плоды твоей работы становятся доступны другим людям — ты испытываешь необъяснимые чувства. Такая эйфория наверняка витала в воздухе маленького гаража в Пало Альто, когда Бил Хьюлет и Дейв Паккард подписали свой первый контракт с Уолт Дисней на производство тоновых генераторов. Это был прыжок из маленького гаража в большой мир. Этот опыт запуска не первый в нашей истории, но мы впервые работали над мобайл платформами.
Я с другом, и одновременно коллегой, более 7 часов непрерывно отвечал на вопросы игроков и судорожно пополнял список проблем на проверку. Мы не тешили себя надеждами, что сборка на альфа-тест будет идеальной, но крайне признательны за отсутствие негатива, который, со слов многих команд, присущ любому лаунчу. Мы выслали игрокам сборку, в которой оптимизация работает не лучшим образом и интерфейс не слишком отзывчив. И за 7 часов мы получили около 100 вопросов и 25 репортов о проблемах, и все они были на волне позитива. В худшем случае мы получали терпеливый разбор нашего интерфейса или хорошую выкладку о том, что можно улучшить. За это я хочу выразить отдельную благодарностьам. Кто как не вы понимает, что такое первый опыт и проблемы на альфе. Спасибо вам!
Итак, за первые 7 часов сборку установили более 700 человек. Постараюсь описать какие впечатления мы получили и с чем столкнулись в этот первый день.
Самым первым испытанием для нас стали проблемы с небольшим хаброэффектом, который переживали наши системы. До запуска мы проводили нагрузочное тестирование с помощью httperf и справились со значением 1000 подключений в секунду.
Но тормоза появились под влиянием действий живых игроков. Они были очень недовольны непониманием работает кнопка или нет, или это вовсе происходит подгрузка данных. В тестовых версиях в браузерах мы используем tornado и вебсокеты для обновления часто запрашиваемой информации, вроде энергии и оповещений. И мы рассчитывали, что сможем интегрировать быстро сокеты и в наше приложение. Работа, разумеется, велась ещё до старта альфы, но не было ощутимого продвижения, и когда первый шквал исправлений был закончен, мы пришли к тому, что сокеты мы интегрировать не можем, и ни один плагин для phonegap предназначенный для этого нам не помогает. Нам пришлось реализовать long pool запросы и расширить количество воркеров для обработки очередей сообщений в rabbitmq. После этого нам удалось выпустить билд с более шустрым интерфейсом. Также мы ввели лоадбар загрузки данных, чтобы игрок мог понять, проблема ли это с получением данных или неверная работа клиента. В связи с ограниченным составом команды, мы были вынуждены реализовывать все именно так в обстоятельствах альфы. Но работа на этом не остановилась и мы по-прежнему работаем над улучшением оптимизации. Основным изменением на бету в этом ключе будет перевод long pool с php на node.js.
Второй крупной проблемой оказался недочет в расчетах боевой системы, который создал возможность бесконечного фарма денег без особых затрат. Поначалу нам сообщали о разных проблемах в виде очень слабых соперников или всплывающих сообщениях, которые были не информативны. Но после мы заметили существенное изменение валютного баланса у некоторых игроков и поняли, что соперники не просто очень слабые, а вовсе не наносят повреждений. Таким образом можно было не тратить деньги на экипировку и на врачевание травм. Все как в жизни — нашел лазейку — отсудил у банка 4 миллиона, мы решили обойтись без суда, тестирование все-таки, и оставили средства на счетах.
Но в новом билде доступ к боевке был закрыт. Не без огорчения, мы приняли такое решение и это повлекло за собой отток игроков по понятной причине. C этого момента экономика городов начала развиваться несколько иначе, чем мы планировали, появились олигархи, но и одновременно с этим отпал один из способов заработка в игре и как следствие, доктора в городах сидели практически без работы. Но планы на то и планы, чтобы их нарушать. Мы компенсировали валютные массы призами за победы в ивентах. Интересен и тот факт, что так и не удалось создать равновесный баланс между городами. Мы не пытались сделать это искусственно, и потому просто покажем свидетельство того, что город в котором зародился капитализм процветает и развивается гораздо быстрее. В нашем случае это была vМосква:
Ниже еще один наглядный пример из статистики движения денег в игре:
Заметный спад в экономике был на выходных (день 4 и 5). Но уже с начала недели, на шестой день, все вновь активизировались и до конца тестирования мы увидели неплохие суммы в оборотах каждой из столиц:
Третьим сюрпризом и основной трудностью для нас стала приоритезация проводимых работ. Мы запланировали, что во время альфа тестирования 30% времени будет уходить на продолжение разработки модулей для итоговой версии игры к бета-тестированию, а остальные 70% будут положены на оперативное исправление выявленных проблем. Но судьба нас испытывала: в первые 3 дня мы собрали критическую массу всех имеющихся проблем. Боле понятно будет в абсолютных значениях:
всего было записано немногим более 120 репортов, около 90 от общего числа были получены в первые дни. Тематика отчетов о проблемах была разнообразной. Как нам ни стыдно, но начиная от грамматики и заканчивая детальными описаниями по оптимизации интерфейса и улучшению его интуитивности. Больше всего проблем было с версткой, а также простыми расчетами в некоторых функциях.
Таким образом, благодаря игрокам мы получили именно тот взгляд со стороны, которого не хватало. Нас не жалели и указывали на мельчайшие проблемы, и мы с радостью вносили их в наш тасктрекер. Лишь спустя первые три дня мы начали здраво выставлять приоритеты второго уровня по некритическим проблемам и работа устаканилась. Эйфория прошла, и мы настроились на предстоящую работу с холодной головой. Самый важный и верный шаг в начале нашего пути был сделан.
Четвертой сложностью для нас стала обработка предложений игроков. Скорее это была даже не сложность, а функция на которую мы ошибочно не отвели достаточно времени. За 3 недели альфа-тестирования мы получили более 60 предложений, которые касались трех основных тем:
- улучшения геймплея в рамках уже имеющихся игровых механик
- качественные изменения в информативности дизайна и его интуитивности
- совершенно новые идеи, как для оптимизации работы с текущих функционалом, так для его разнообразия новыми модулями.
Учитывая количество отчетов об ошибках, а также имеющиеся планы по доработкам, мы не бросились сломя голову внедрять внесенные предложения. Тем более что в разработке как раз находился модуль предложений. У нас будет реализован функционал по внесению предложения касательно игры, и в конечном счете игроки будут голосовать за предложенные изменения и иметь прямой инструмент влияния на разработчика. Кроме того, что это наша будущая гордость, мы считаем, что без такой обратной связи невозможно сделать mmo игру, в которую игроки будут хотеть играть спустя несколько месяцев.
Но вернемся к предложениям наших игроков. По итогам тестирования все предложения были внесены в единый список из более чем 60 пунктов. Рассчитав свои силы и возможности, мы выбрали те из них, которые считаем необходимыми и успеем реализовать к бета-тестированию:
- Пересмотр награды за уровень — сделать их более полезными и соответствующими полученному уровню.
- Подтверждение выбрасывания айтема из инвентаря.
- Отображение не только топовых дамагеров, но и личный вклад игрока во внутриигровых ивентах.
- Добавить остаток энергии у тренера.
- Обновить вики, в частности по производству продукции.
- Разрешить кандидатам на выбораах отдавать свой голос за другого кандидата.
А также мы возьмем в работу три предложения, которые были проголосованы и стали самыми востребованными по мнению игроков. Это будут:
- Сортировка товарных лотов по признакам: дата, цена, тип
- Убрать из большого боя общее количество очков для интриги
- Убрать надетые на игрока вещи из списка на выставление лота
Как итог первых дней, краткое резюме: мы рады, что наш проект заинтересовал столько игроков!
Каждую новую версию билда установило около 1000 человек, а суммарно поучаствовало в тестировании около 2,5 тысяч. Не смотря на нашу цель в четыре тысячи игроков, мы остались довольны результатом и благодарим всех, кто принял участие.
Самый важный и болезненный опыт который мы получили
Речь пойдет о среде для тестирования сборок, их кроссплатформенности и дружелюбности ИТ гигантов.
Как многие из вас помнят, мы выбрали HockeyApp в виду его универсальности, сервис поддерживал все три необходимые нам платформы IOS, Android и WinPhone. Все сборки были протестированы в сервисе и никаких нареканий не вызвали. Мы были рады тому, что это намного упростило нам жизнь, и не пришлось заводить разные аккаунты для тестирования разных платформ.
Уже в первые часы тестирования все шло гладко, мы оказывали поддержку по трем каналам: социальные сети, саппорт в HockeyApp и на почте. Через 3 часа, когда начался вечер, мы получили первое письмо от пользователя IOS, который сообщил что HockeyApp ожидает добавления его устройства со стороны разработчиков. Мы внимательно прочли письмо еще раз и приняли решение, что это произошло из-за очереди, хабраэффект все-таки. Но затем мы стали получать все больше таких писем. Ночью мы уже не могли эффективно работать и поэтому решили вычитать мануалы на свежую голову. Утром мы получили еще несколько таких писем, но в тоже время у нас было 5 пользователей, которые установили сборку на свои IOS устройства.
Испытываем замешательство, потому что самостоятельно не один раз проходили изложенную инструкцию. В этот день мы узнали много новой информации про HockeyApp. Вычитав мануалы и саппорт по проблемам с IOS, выяснилось, что нам действительно надо было вносить устройства игроков в список, но не как внешних тестеров, а на наш аккаунт разработчика. Мы приняли сложное решение не делать этого, т.к. наш аккаунт ограничен в номинале устройств, и мы попросту не смогли бы добавить всех желающих, даже десятую часть из них. Я думаю, вы понимаете в каком положении мы оказались. С одной стороны, мы могли удовлетворить около 50 заявок, но еще 1000 оставить без внимания. Так что в тот же день мы стали разбирать работу с нативным для Apple сервисом Tesftlight. Уже следующим утром мы анонсировали, что разобрались с проблемой и загружаем сборку в Tesftlight. Но тут нам тоже пришлось ожидать согласования и проверки со стороны Apple длиною в три дня.
На этом праздник не заканчивался, ведь Testflight ставит условие: хотите тестировать что-то? – обновитесь до IOS 8. Это вызвало бурю эмоций как у нас, так и у игроков. Но вспомнив про 5 человек у которых изначально сложилось с установкой, мы поняли, что причиной успеху был джейлбрейк, с которым можно было произвести установку сборки через ПК. Таким образом мы начали поддержку пользователей IOS сразу и через HockeyApp и через Testflight, объяснив игрокам имеющиеся опции.
Android, к счастью, не вел себя так вредно и мы смогли положить все силы на решение двух вопросов: предоставлением сборки для IOS и, конечно же, сборки для Winphone. Мы не забыли о своем обещании выпустить сборку под эту платформу. Как вы помните, все началось с того, что образовалась задержка при согласовании сборки, а виной тому наша наивность. Мы немедленно начали искать выходы на Microsoft и старались изо всех сил ускорить их положительный ответ. Но согласование на первый билд мы получили лишь к окончанию тестирования, потому запускать последнюю сборку без детального тестирования и исправлений, связанных с платформой мы не решились.
Дорогие пользователи WinPhone, мы прекрасно понимаем, что ответственны за эту задержку. И обещаем, что бета-тестирование не начнется, пока у нас не будет готовой к предоставлению сборки на эту платформу. Мы обязательно исправимся и порадуем пользователей WP доступной сборкой игры. Ведь мы хотим сделать действительно мультиплатформенную игру и не ограничивать игроков по признаку платформы. Спасибо за ваше терпение и ждем вас на бета-тестировании.
Какие уроки мы вынесли из всего этого?
В первую очередь, мы еще раз убедились в том что сроки и планы – это всегда субъективное виденье. Даже максимально приближенный к реальному развитию событий план, будет откорректирован внешними и внутренними факторами. Думаю, что всем стоит воспринимать это как реальность и не забивать на планирование, но в то же время не рвать волосы на голове при любых отклонениях. Работать стоит ради результата, а не ради плана.
Во-вторых, мы увидели колоссальную разницу в работе над своим проектом в закрытом формате и публично перед игроками. Эффективность работы выше, скорость принятия решений молниеносна и главное – это отдача от игроков. Команда понимает, что и для кого она делает не в далеком будущем после релиза, а здесь и сейчас в реальном времени.
В-третьих, мы впервые работали с мобильными платформами. На лету исправляли технические проблемы, связанные с серверной частью нашей игры, а также вносили некоторые изменения в клиенте. Все происходило в тот же день, а иногда и момент, как стало известно о проблеме. Этот опыт работы с мобайл сегментом принес качественные изменения в процессы по которым мы работаем.
И конечно же в-четвертых, мы еще раз убедились, что если каждый китаец при попытке взлома сервера Пентагона в поле пароль укажет Мао Цзедун – то сервер Пентагона согласится уже на втором миллиарде. Всегда необходимо не только тестирование внутри команды, но и внешнее тестирование. И это именно тот случай, когда количество перерастает в качество – не смотря на то, что команда тестировала сборку и преимущественно все было хорошо, полевые испытания показали нам обратную сторону Луны. Также не стоит игнорировать нагрузочное тестирование. В частности, пиковые нагрузки на наш сервер помогли нам понять узкие места не только на клиенте. Это крайне важно, ведь никто не хочет в день релиза получить «сюрприз».
Обобщая вышеизложенные выводы, я могу подытожить: никогда не игнорируйте чужое мнение, и если у вас есть возможность соберите как можно больше отзывов и пройдите проверку на прочность.
Несколько слов о будущем бета-тестировании
Свою первую проверку на прочность мы прошли, пусть и не безупречно. Но теперь хотим немного рассказать о следующей, а именно о бета-тестировании.
Главным отличием от альфа-тестирования будет обещанное наличие всех трех платформ. Мы учли наши ошибки и возникшие сложности и больше не повторим этого. Также мы поняли, что в ходе тестирования игрокам не хватило некоторых модулей для полноценного геймплея и исправим это. В новую сборку войдут:
- исправленная боевая система
- функционал партий
- функционал жилья
- функционал газет
- функционал корпораций
- модуль предложений
- система нотификации
- практически все отчетные проблемы с альфы
- внедрены некоторые предложения
Таким образом к бета-тестированию игроки получат полноценную игру за исключением некоторых задумок, которые будут реализованы окончательно уже после релиза. Вышеперечисленные модули будут способствовать большему вовлечению в игровой процесс и его разнообразию. Больше переменных дают больше возможностей каждому игроку как для персонального развития, так и кооперативного.
Что касается вопроса о дате старта бета-тестирования, точную дату мы пока не будем сообщать. Планируем стартовать бета-тестирование в мае, но точно не раньше чем получим согласование итоговой сборки от Google, Apple и Microsoft.
Отдельно хочу сказать, что приглашение на бета тест получат все кто оставлял свои контакты на альфа-тестирование, а также те, кто оставит свой почтовый ящик на нашей странице .
Отдельная благодарность
Мы хотим поблагодарить каждого альфа-тестера в отдельности за усердие в процессе игры и интерес к нашему проекту. Без вас мы не смогли бы собрать столько отзывов, узнать такое количество проблем и конечно же не получили бы столько полезных советов из личного опыта.
Также хотим поблагодарить всех, кто вместе с нами преодолел трудности с установкой игры на IOS и тех, кто по-прежнему ожидает WinPhone версию игры. Спасибо вам за терпение и положительный настрой на протяжении всего периода теста.
Отдельное спасибо всем нашим знакомым и коллегам по цеху за поддержку и добрые советы.
Друзья, мы ждем всех вас нас на бета-тестировании!
Автор: m14