Menu

[Dev Story] Песневорот. Історія про піснях навпаки

Нам пише Станіслав Смагін.


[Dev Story] Песневорот. История о песнях наоборот

Сучасний розробник повинен реагувати на поведінку користувача швидко. Якщо 80% гравців не можуть пройти один і той же рівень - це провал, і автору гри треба дізнатися про це якомога раніше. Впоратися з цим допомагає аналітика - система відстеження дій гравця. У цій історії я хочу розповісти про свій досвід роботи з аналітикою. Ви зможете дізнатися:

- як з допомогою статистики знайти помилки в додатку, в його інтерфейсі;
- що можна зробити, щоб уникнути «паразитних» тестових даних;
- чим аналітика може допомогти в роботі над створенням нових ігрових рівнів;
- як правильно називати події, щоб потім легко і зручно користуватися зібраними даними.

Починаючи працювати з системою аналітики, я задавався простою метою - знати кількість установок і покупок на даний момент. ItunesConnect показує дані з відставанням на добу, а мені хотілося бути в курсі подій тут і зараз. Тому я звернувся до сторонніх сервісів збору даних. Вибір припав на Flurry, який практично в онлайн-режимі веде запис всіх подій. Реєструвати відкриття програми не треба, це робиться автоматично, на основі чого вважається кількість установок. Таким чином єдиним моїм подією стало подія зробленої покупки. Тепер я тримав руку на пульсі: я міг бачити скільки всього людей встановили додаток, скільки грають прямо зараз і головне - скільки з них зробили покупку.


[Dev Story] Песневорот. История о песнях наоборот

Коли моє перше додаток - «розділовий знак» - встановили близько 100 тисяч чоловік, я подумав, що непогано було б зібрати відомості про грамотності гравців. У грі з'явилося подія завершення раунду, в якому записувалося кількість помилок, допущених гравцями. Так я став володарем по суті непотрібних знань, які знову ніяк не допомогли мені поліпшити гру.


[Dev Story] Песневорот. История о песнях наоборот

Відразу після запуску програми гравці стали скаржитися на деякі помилки в грі. Більшість з них були простими помилками в правилах або цитати. Але були й такі, які просто заважали грати. Тоді у мене виникла думка, що з допомогою Flurry я міг би відловлювати такі місця. У мене вже була подія завершення раунду з підрахунком кількості допущених помилок, тому я просто вирішив додати в нього кілька полів. Так з'явилося поле «картка з 1 допущеною помилкою», «картка з 2 допущеними помилками» і т. д. до 8 - максимальна кількість можливих помилок в одній картці. Тепер я міг зробити вибірку серед подій по кожному з цих полів, побачити сильно виділяється картку і перевірити її, не допущено там помилок.


[Dev Story] Песневорот. История о песнях наоборот

Так я додав в гру відстеження першого корисного події. Однак зробив це невірно. Користуватися цим було вкрай незручно. Плюс до всього, коли я почав складати картки для оновлення, я задався питанням: а в якому правилі люди найчастіше помиляються? Але не зміг дати на нього відповідь. У мене була інформація про картку, в якій допускаються помилки, але не про правило. А все тому, що я не захотів записувати окрема подія для кожної допущеної помилки. Це подія з'явилося тільки в пізніх версіях гри і допомагає мені зараз при підготовці чергового оновлення. Не скупіться на події. Flurry дозволяє мати до 300 подій на один додаток, цього цілком достатньо для більшості мобільних ігор.

Записуйте кожен чих гравця, якщо це допоможе зробити гру краще

Моя друга гра - «Орфографія» - досить проста з точки зору інтерфейсів, управління в ній інтуїтивно і не вимагає будь-якого пояснення. Однак згодом у ньому з'явилася функція, яку знадобилося пояснити. Тоді я задався питанням: куди вставити це пояснення? На екран інформації, який відкривається з головного екрана, або ж безпосередньо в місці появи нової можливості? Тоді я знову подумав про Flurry і про те, як добре було б, якби я знав, як часто люди відкривають екран інформації. Адже якщо туди заходять лише, скажімо, 5% користувачів, то очевидно, що пояснення роботи нового функціоналу вони побачать пізніше, ніж вперше зіткнуться з ним.

Відстежуйте відкриття кожного екрана, кожного вікна

Тепер, після того як я додав відстеження зміни екранів, я знав, скільки користувачів відкрили хоч раз екран інформації і прочитали правила гри. А крім цього, у мене з'явилася можливість відстежити послідовність дій гравця. В певних моментах це допомагає зрозуміти поведінку користувача і зробити відповідні висновки. У моїй останній грі - «Песневороте» - гравцеві треба відгадувати пісні з уривків, в яких кожне слово замінено на протилежне йому за змістом. Правила прості, але все ж не кожен зрозуміє, що треба робити, дивлячись просто на загадку. Тому я зробив у грі екран з правилами. З головного меню гравець може потрапити на екран інформації, а вже там натиснути на кнопку «Як грати?».


[Dev Story] Песневорот. История о песнях наоборот

Однак у мене були сумніви в тому, що ці правила буде хоч хто-небудь читати. По-перше, мені здавалося, що гравці відразу почнуть грати і будуть розбиратися на місці. А по-друге, екран з правилами вийшов досить глибоко, в двох кліках від головного меню. Я переглянув ланцюжок дій гравців і зрозумів, що побоювання були не марні: лише одиниці добираються до правил з головного екрана. Добре, що я додав кнопку правил на сторінку з загадкою.


[Dev Story] Песневорот. История о песнях наоборот

На цьому зображенні, до речі, є події ScreenMain, ScreenRules і ScreenBlock. Але спершу ці події були одним «Open Screen», параметри якого я записував тип відкривається екрану. В результаті цього було досить складно користуватися: у всіх таблицях і графіках я бачив тільки назва події і не розумів, про який саме екрані йде мова.

Не використовуйте одну подію з параметрами для відстеження відкриття екранів і вікон

Працюючи над грою «Песневорот» я довго думав над балансом гри. Спочатку гравцеві доступна одна категорія, тобто 12 пісень. За кожну отгаданную загадку він отримує монети, які витрачає на купівлю підказок чи відкриття нової категорії. Якщо монети кінчаються, гравець може докупити їх за гроші.


[Dev Story] Песневорот. История о песнях наоборот

Метою балансу гри було підібрати оптимальні значення нагород і цін, такі, щоб у гравця була можливість користуватися підказками у кожній категорії, відкривати нові, але при цьому, щоб він не міг вгадувати кожну пісню з підказкою. Плюс до всього, весь баланс накладається на те, що складність загадок вкрай суб'єктивна: один гравець добре знає рок-пісні, а інший ні. В результаті у першого виникне надлишок монет, а у другого - брак. Загалом, мені знову потрібна була статистика. Я додав параметр кількості монет майже в кожну подію. В результаті тепер я знаю, наприклад, скільки було монет у гравця, коли він відкривав нову категорію, за цим значенням я можу судити про баланс і робити висновки.


[Dev Story] Песневорот. История о песнях наоборот

На зображенні видно, що відкриваючи новий набір, більшість гравців не відчувають проблем з монетами, а значить, можна не боятися за баланс.

Визначте загальні для всіх подій поля і додайте їх у відстеження дій гравця

«Песневорот» було запущено всього лише минулого тижня, а у нього вже було одне оновлення. Плюс під час розробки версії програми змінюються по кілька разів на день. У «Орфографії» було 4 оновлення і безліч робочих версій. Все це призводить до того, що в таблиці аналітики з'являються паразитні дані. За час розробки я заходжу в гру і роблю ті ж дії, що і гравець, але ці дані неправдиві, вони мені не цікаві і не повинні потрапляти в результуючу таблицю.


[Dev Story] Песневорот. История о песнях наоборот

В Flurry є можливість переглянути статистику певної версії, але це не зручно, коли потрібні дані за користувачам всіх версій.

Створіть тестове додаток і записуйте в нього події під час розробки

Головне не забути переключитися з тестового додатку на релизное, коли будете збирати проект для завантаження в AppStore. Перекинути дані з одного додатка в інше потім буде неможливо, Flurry не надає такої можливості. Частина даних про користувачів буде фактично втрачена, відірвана від даних минулих версій.

Озираючись назад, я ясно бачу всі свої помилки. У «Орфографії і Пунктуації» я відслідковував події завершення раунду записував кількість допущених помилок. Але єдине, що мені дійсно потрібно було - це окрема подія на кожну помилку. В результаті це дало мені відомості про найбільш складних правилах, і я зробив на них упор в майбутніх оновленнях.

Визначтеся, на які питання ви хочете відповісти за допомогою аналітики

Аналітика - це потужний інструмент, з допомогою якого можна відповісти на важливі питання, треба тільки вміти ним користуватися. Я спробував показати можливості аналітики на прикладі моєї нової гри «Песневорот».

iPhone + iPad: Free [Завантажити в App Store]

Дана історія опублікована в рамках рубрики Developer Story, де розробники діляться секретами своєї внутрішньої кухні.
|