Книга: Игровой баланс. Точная наука геймдизайна (Электронная)
Назад: 12. Прогрессия в PvP-играх
Дальше: 14. Метаигровые системы

13. Аналитика

В этой главе

• Что такое аналитика.

• Метрики.

• Процесс балансировки с использованием аналитики.

• Выявление ключевых вопросов.

• Сила утверждений.

• Практические примеры.

• Визуализация данных.

Что такое аналитика

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

Разработчик игр с 20-летним опытом

Как вы, возможно, помните из главы 1, существует четыре основных метода балансировки игры: на основе опыта, математических моделей, игрового тестирования и аналитики. До сих пор в этой книге мы говорили главным образом о балансировке на основе математических моделей, потому что этот подход лучше других методов поддается изложению в тексте. Опыт играет не менее важную роль, но его следует накапливать на практике, а не читая книги. Навыки игрового тестирования улучшаются по мере приобретения разработчиком более четкого представления о том, как создаются игры и выбираются граничные условия, то есть по мере улучшения им навыков разработки (подробнее об игровом тестировании поговорим в главе 15). Таким образом, у нас остается только аналитика, о которой и пойдет речь в этой главе.

Можно сказать, что в каком-то смысле аналитика соединяет в себе игровое тестирование и математику. Вместо того чтобы создавать гипотетические модели ожидаемого поведения игроков, она использует реальные данные из реальных игр. Аналитика берет размытые, неопределенные, нематематические составляющие игрового дизайна, связанные с человеческой психологией и поведением (то есть те элементы, которые плохо поддаются представлению с помощью математической модели), и позволяет нам оценить их количественно. Обычно это становится возможным в ходе масштабной работы. Как будет наглядно показано в главе 24, посвященной статистическому анализу, чем больше у вас данных, тем лучше. То есть если игровое тестирование несет больше пользы при небольших масштабах его применения, когда вы сначала проводите его самостоятельно, а затем привлекаете к нему друзей и знакомых и, наконец, небольшой круг незнакомых людей, то аналитика становится более полезной при возрастании размера вашей базы игроков. После того как игровые тесты становятся слишком громоздкими, применение аналитики оказывается более предпочтительным способом оценки сбалансированности игры. Это означает, что ее можно использовать лишь в конце цикла разработки, когда у вас уже есть годная игра и большое количество геймеров, — после этого момента она проявляет себя во всей красе.

Метрики

Хотя под метриками и аналитикой часто понимается одно и то же, на самом деле между этими понятиями есть небольшое различие.

Метрики представляют собой результат измерения. Многие из тех метрик, которые отслеживаются в играх, представляют собой ключевые показатели эффективности (key performance indicators, KPI), то есть числа, позволяющие судить о том, насколько хорошо работает игра. Вот несколько широко используемых метрик, о которых вы, возможно, уже слышали.

DAU (daily active users — «количество активных пользователей за день»). Показывает, сколько уникальных пользователей сыграли в вашу игру сегодня или в течение какого-то заданного дня.

• MAU (monthly active users — «количество активных пользователей за месяц»). Показывает, сколько уникальных пользователей сыграли в вашу игру хотя бы раз за прошедший месяц.

• MAU/DAU. Разделив MAU на среднее значение DAU для соответствующего месяца, можно судить о том, как часто среднестатистический игрок входит в игру. Теоретически минимальное значение MAU/DAU может быть равным 1, что означает: каждый игрок входил в игру ежедневно. Максимальное значение MAU/DAU должно находиться в диапазоне от 28 до 31 в зависимости от месяца. Это означает, что все, кто входил в игру за прошедший месяц, делали это только один раз.

• ARPU (average revenue per user — «средний доход на одного пользователя»). Разделив общее количество уникальных игроков на общее количество потраченных ими денег, можно определить, сколько в среднем тратит один игрок.

• ARPPU (average revenue per paying user — «средний доход на одного платящего пользователя»). Недостатком метрики ARPU является то, что во многих F2P-играх большинство игроков вообще ничего не платят и лишь очень небольшая часть игроков (в игровой индустрии их называют китами) тратит большие суммы денег. При этом и медиана, и мода часто равны нулю, что делает метрику ARPU почти бесполезной. В таком случае полезнее использовать метрику ARPPU, которая учитывает только платящих игроков. При этом вы видите, что при превращении неплатящего игрока в платящего он в среднем будет тратить сумму, равную метрике ARPPU (значение которой обычно намного превышает метрику ARPU).

• ARPDAU (average revenue per daily active user — «средний доход от активного пользователя за день»). Дает представление о том, сколько денег в среднем игроки тратят за день.

• Отток. Существует определенная разница между случаем, когда значение метрики MAU составляет 100 000 (то есть у вас 100 000 активных пользователей за месяц) и это одни и те же игроки из месяца в месяц, и случаем, когда при той же MAU эти люди приходят в игру, играют в нее в течение месяца, а затем ее покидают, но замещаются новыми. Метрика оттока показывает, какой процент геймеров покидает игру и замещается новыми игроками за единицу времени. Например, если при MAU, равной 100 000, игру ежемесячно покидают 10 000 игроков, но им на смену приходят 10 000 новых, то отток составляет 10 %. Иногда вместо оттока используется метрика удержания, которая вычисляется путем вычитания оттока из 100 %.

• ROI (return on investment — «возврат инвестиций»). Пусть R — общий приносимый игрой доход (количество заработанных денег), а C — общие затраты, включающие в себя затраты на разработку, сопровождение, маркетинг и т.д. В таком случае возврат инвестиций в процентах (ROI) составляет (RC)/C. Если доходы равны расходам (R = C), то возврат инвестиций составляет 0 %. Если расходы составляют 100 000, а доходы — 200 000 долларов, то возврат инвестиций составляет 100 %. Издатели высокобюджетных игр AAA-класса, как правило, стремятся к тому, чтобы возврат инвестиций был либо очень высоким, либо отрицательным. Когда издатель теряет на игре деньги, он может не платить налоги, а когда игра становится хитом, он может компенсировать все свои затраты. Однако работать над игрой, приносящей небольшой доход, невыгодно, поскольку при этом большая сумма денег остается вложенной в разработку. Именно это имеют в виду, когда говорят, что индустрия игр ориентирована на хиты: здесь лучше добиться крупного успеха или с треском провалиться, чем достичь очень скромного успеха.

Рейтинги. Многие магазины цифровых приложений/игр позволяют игрокам выставлять рейтинги (обычно в диапазоне от одной до пяти звезд) и отображают их усредненное значение для информирования потенциальных покупателей. Еще одной разновидностью рейтингов, больше свойственной для AAA-игр, являются рейтинги, выставляемые профессиональными рецензентами, и их усредненное значение, выдаваемое такими агрегирующими сайтами, как Metacritic. Похожие метрики — общее количество загрузок и рейтинг магазина приложений, который показывает относительное положение игры в сравнении со всеми приложениями, представленными в виртуальном магазине, по общему количеству платных или бесплатных загрузок или по общему доходу, который она приносит.

Эти метрики позволяют составить определенное представление об игре. Однако помните о том, что это эффекты второго порядка: внесение в игру каких-либо изменений ведет к трансформации поведения игрока, что, в свою очередь, изменяет метрики. Это означает, что, даже когда вы находите определенные корреляции (например, изменение цвета шляпы главного героя на розовый увеличивает доход на 30 % в течение следующей недели), обычно невозможно определить, чем они обусловлены. Это по ряду причин делает затруднительным эффективное применение игрового дизайна на основе метрик, когда вы что-то изменяете в игре и смотрите, как это влияет на доход или другие метрики, после чего выполняете откат при ухудшении метрик или оставляете изменение при улучшении и снова повторяете этот процесс. Во-первых, такой подход не позволяет разработчику как-либо улучшить свое представление об игре, в результате чего каждое изменение делается методом тыка (учитывая, каким огромным может быть пространство возможностей в дизайне большинства игр, количество возможных вариантов обычно очень велико, и разработчику приходится приоритизировать их, руководствуясь исключительно своей интуицией). Во-вторых, предполагая внесение инкрементных изменений, данный подход позволяет разработчику найти локальный максимум — область в пространстве проектных решений, позволяющую добиться лучшего результата, но требующую серьезной модификации или огромного скачка в механике. И наконец, многие из этих метрик концентрируются на деньгах, но ничего не говорят о человеческом факторе. (Доставляет ли игра удовольствие игрокам? Обогащает ли она их жизнь или, наоборот, разрушает? Захотят ли они сыграть в подобную игру еще раз, или у них наблюдается эффект выгорания?)

Аналитика не сводится лишь к рассмотрению числовых показателей и получению на их основе предположений о наличии причинно-следственных связей. Она делает еще один шаг вперед по сравнению с метриками, позволяя использовать числовые показатели для получения более четкого понимания того, как на самом деле работает игра, что, в свою очередь, позволяет разработчику делать более информированный выбор из имеющихся вариантов. Аналитика дает ответы на вопросы о том, что делают игроки и системы, что происходит в это время, насколько это эффективно и т.д. Что еще важнее, аналитика помогает выявлять и исправлять абсолютно катастрофические ситуации, которые вносят серьезный дисбаланс или сильно портят игровой процесс, например: игровые объекты или стратегии не используются никогда, задействуются постоянно или могут применяться только неоптимальным образом, игроки не повышают свой уровень игровых навыков или выигрывают недостаточно часто и т.д. То есть аналитика позволяет понять не только что происходит, но и (если вы зададите правильные вопросы) почему это происходит и, как следствие, внести необходимые исправления.

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

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

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

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

Процесс балансировки с использованием аналитики

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

1. Геймдизайнер выделяет ряд требующих ответа ключевых вопросов.

2. Аналитик, которым может быть геймдизайнер или отдельный специалист, рассматривает вопрос и решает, какие метрики необходимо отслеживать, чтобы на него ответить.

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

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

5. Эти обновления кода отправляют игрокам, после чего собираются данные за определенный период времени.

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

7. Получив в свое распоряжение данные, аналитик формулирует ключевые вопросы с использованием количественных показателей, что позволяет задавать вопросы и получать ответы посредством данных.

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

9. Аналитик критически рассматривает данные и пытается определить, содержат ли они, помимо случайных колебаний, какой-либо статистически значимый паттерн. То есть можно ли с их помощью получить ответы на исходные вопросы? Если нет, то, возможно, команде разработчиков необходимо перейти к предыдущим шагам и устранить выявленные проблемы или даже вернуться в начало и перефразировать ключевые вопросы.

10. После получения значимых данных геймдизайнер приступает к их интерпретации. Здесь ему приходится часто задавать себе вопрос «Почему?». Почему данные ведут себя таким образом? Какими причинами это может объясняться? Задача на этом этапе состоит в том, чтобы сформулировать гипотезы всех потенциальных корневых причин. Как же команда разработчиков может выявить эти корневые причины? Для этого нужно вернуться назад и задать еще более подробные вопросы по поводу данных, продолжая этот процесс итеративным образом до тех пор, пока не будут найдены основные ответы.

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

12. Наконец, опираясь на данные, дизайнер вносит в игру изменения для устранения выявленных недостатков или оставляет все без изменений, если недостатков не выявлено.

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

Выявление ключевых вопросов

Существует несколько способов проведения исследований на основе аналитики.

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

• Выявление основных проблем игры. Если разработчик имеет общее представление о том, как должна вести себя игра, он может попытаться выявить еще неизвестные ему случаи, в которых она слишком сильно отклоняется от идеала. Разработчик ролевой игры при этом может посмотреть, нет ли на кривой прогрессии опыта/уровней мест, в которых большинство игроков застревает, слишком долго занимаясь «гриндом». Разработчик коллекционной карточной игры может выяснить, не доминируют ли на уровне метаигры какие-либо карты или стратегии. Разработчик экшен-платформера может посмотреть, нет ли в игре слишком простых или слишком сложных уровней или боссов по сравнению с расположенными рядом уровнями или боссами.

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

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

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

• Сколько людей играют в игру?

• Сколько длится отдельный игровой сеанс и как часто игроки возвращаются, чтобы поиграть еще немного?

• Улучшают ли игроки свои навыки?

• Добиваются ли игроки прогресса или победы и насколько удачно в игре настроена скорость развития событий?

• Насколько варьируется игровой процесс в пределах имеющейся базы игроков?

• Насколько сложной является игра?

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

Разработчик зачастую заранее знает, какими будут ответы на многие из этих вопросов. А чересчур самоуверенные игроки порой настолько уверены в том, что знают ответы, что беспрестанно заявляют об этом на игровых форумах. Но одно дело — делать интуитивные предположения, и совсем другое — иметь возможность подтвердить их данными. Также следует помнить о том, что существуют и более детальные вопросы, ответить на которые без использования аналитики просто невозможно.

Сила утверждений

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

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

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

• Вероятная причинно-следственная связь. Как будет показано в главе 24, корреляция и причинно-следственная связь — это разные концепции и при использовании аналитики очень важно различать их. В большинстве случаев вы должны понимать, как устроена система с точки зрения причинно-следственных связей, то есть знать, что изменение в игре параметра X ведет к изменению параметра Y в игровом процессе. Иногда для того, чтобы внести изменения и посмотреть, как это сказывается на игре, достаточно получить лишь вероятное объяснение причин наблюдаемой корреляции путем анализа используемых в игре систем, потенциальных искажающих факторов и т.д. Однако в других случаях требуется бóльшая степень уверенности.

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

• Одна из распространенных разновидностей перспективного анализа — A/B-тест, который сводится к тому, чтобы произвольно разделить игроков на две группы, внести изменения только для одной группы и рассмотреть различия в метриках между группами. (Например, когда игра использует несколько серверов со случайным выбором сервера для каждого игрока, команда разработчиков может сделать обновление только на одном из серверов и сравнить его метрики с метриками других.)

• Одной из наиболее полезных разновидностей ретроспективного анализа является естественный эксперимент, при котором критерий для разделения игроков на две группы (как в случае A/B-теста) определяется волей случая. Например, во многих играх присутствует некий естественный элемент случайности, что позволяет разделить игроков в соответствии с тем, как он на них влияет. Так, при анализе того, как определенная карта влияет на вероятность победы в коллекционной карточной игре, где игроки могут получать дополнительные карты, покупая подобранные случайным образом бустерные наборы, некоторые игроки будут естественным образом получать больше копий этой карты по сравнению с другими.

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

Важно учитывать не только тип получаемых вами утверждений, но и степень их надежности. Если что-то определенное происходит только у двух игроков, в то время как их количество в вашей базе исчисляется миллионами, то полученное для этих двух геймеров среднее значение малозначимо — это настолько редкое событие, что его следует считать аномалией, а не тенденцией. Если внесенное в игру изменение увеличивает вероятность победы для определенной стратегии на 0,002 %, этому тоже не стоит придавать большого значения, поскольку такой результат может объясняться не столько внесенным изменением, сколько наличием в системе случайных колебаний. Более высокую надежность утверждения обеспечивает наблюдение устойчивой тенденции на протяжении более длительного периода времени, использование более крупного набора данных или наблюдение более выраженного эффекта… но вы можете это контролировать лишь ограниченно.

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

Важные практические примеры: Игры жанра «файтинг» или «массовая драка»

Прекрасным примером применения аналитики для облегчения балансировки являются игры с поединками один на один наподобие входящих в серии Street Fighter и Super Smash Bros. в силу чрезвычайной сфокусированности игр этого жанра. Здесь каждый игрок выбирает себе для матча одного персонажа из списка, содержащего десятки персонажей. Каждый из них обладает своим набором атак и движений, которые варьируются от персонажа к персонажу по множеству числовых показателей, таких как радиус действия, скорость и урон от атаки, степень приоритетности атаки (определяет, какая из двух одновременно выполняемых атак срабатывает), общая скорость движения и маневренность, скорость и высота прыжка, возможность выполнения комбинации ударов или оглушения противников (успешное проведение одной или нескольких атак гарантированно позволяет нанести дополнительные удары) и т.д.

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

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

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

• Насколько в целом сбалансирован персонаж? По идее, персонажи здесь должны делиться на три большие категории — верхний, средний и низкий уровень, что будет вполне уместно, если каждый уровень предложит множество вариантов и ни один персонаж не нарушит баланс остального окружения, будучи слишком слабым или сильным. Этот вопрос можно рассматривать на нескольких временных интервалах: на этапе внутреннего игрового тестирования, на этапе закрытой бета-версии, на этапе открытой бета-версии и после выпуска игры.

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

Давайте посмотрим, как можно сбалансировать такую игру, концентрируясь главным образом на общем балансе.

Вероятность победы

В PvP-игре вероятность победы фактически определяется силой персонажа (или, в зависимости от игры, силой стратегии, определенного игрового объекта и т.д.). На первый взгляд может показаться, что здесь можно обойтись только одной метрикой: чем мощнее персонаж, тем чаще он выигрывает. Но, как мы увидим далее, это еще не все, что необходимо в данном случае.

В файтингах противоборство обычно имеет вид поединков один на один, и определить, какой из двух бойцов победит, довольно просто: любой персонаж, вероятность победы которого больше 50 %, будет сильнее среднего персонажа, а тот, вероятность победы которого меньше 50 %, — слабее. В играх жанра «массовая драка» матчи обычно представляют собой массовую потасовку с участием четырех игроков. Что же в таком контексте следует понимать под вероятностью победы? Проще всего было бы определять вероятность победы каждого персонажа в матче против трех других противников, но тогда она в среднем составляла бы 25 %. Здесь присутствует и еще одна динамика, поскольку вероятность победы не является абсолютно независимым показателем (персонажи могут лучше или хуже справляться с некоторыми другими персонажами, что ставит их в более или менее выгодное положение в определенных матчах), однако хотя бы для начала примем упрощающее допущение (ложное) о том, что это независимый показатель. В игре с четырьмя участниками, возможно, стоит понимать под победой вероятность того, что персонаж наберет больше очков, чем определенный противник. При этом, например, в трехминутном матче, где окончательное количество очков определяется разницей между количеством убийств и смертей, мы можем сравнить результаты и засчитать победу двум лучшим игрокам, поскольку их результат лучше среднего, или использовать другую схему, при которой средняя вероятность победы по-прежнему будет составлять 50 %.

Допустим, что в вымышленной игре жанра «файтинг» игрокам предлагается 12 персонажей с представленными на рис. 13.1 значениями вероятности победы.

Рис. 13.1

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

Еще один интересный момент состоит в том, что только у трех персонажей вероятность победы больше 50 %. У девяти остальных она меньше 50 %, и если мы вычислим среднюю величину вероятности победы для всех 12 персонажей, то она составит меньше 50 %. Как такое возможно? Дело в том, что игроки могут выбирать одних персонажей чаще, чем других, и наибольшей популярностью обычно пользуются самые сильные из них. Это говорит о том, что, помимо вероятности победы, мы должны принять во внимание и степень популярности.

Популярность

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

Каким же образом можно измерить степень популярности персонажа? Для этого нужно просто посмотреть, часто ли его выбирают игроки по сравнению с другими персонажами. При этом возникает еще один вопрос: если определенный персонаж будет выбран игроком дважды, это следует считать однократным или двукратным выбором? Ответ таков: это следует считать двукратным выбором, потому что мы должны подсчитать, сколько раз в целом игрок выбрал того или иного персонажа.

Допустим, в нашей игре распределение популярности выглядит следующим образом (рис. 13.2).

Рис. 13.2

Как можно заметить, между распределением персонажей по степени популярности и вероятности победы имеется ряд различий. Аполлон и Эпона являются сильными персонажами, занимая первые места и по вероятности победы, и по степени популярности, поэтому для балансирования игры, вероятно, стоит их ослабить. Церера и Инвидия занимают последние места на обеих диаграммах, и, вероятно, их стоит каким-то образом усилить. А вот Луна имеет высокую степень популярности при средней вероятности победы — стоит ли делать ее более слабой? Иными словами, что играет более важную роль с точки зрения баланса — вероятность победы или популярность?

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

Повышение степени детализации

Таким образом, у нас имеется несколько несбалансированных персонажей и еще пара персонажей с подозрением на наличие дисбаланса (Диана, которая непопулярна при довольно высокой вероятности победы, и Луна, которая очень популярна при не очень высоком уровне мощности). Однако мы не можем сказать, почему так происходит, исходя из имеющихся у нас данных. Поэтому давайте продолжим наше исследование.

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

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

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

Эти диаграммы содержат довольно много данных. Часть этой информации вполне понятна, но другая ее часть может ввести в заблуждение.

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

Рис. 13.3

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

Но постойте, если теневая атака настолько эффективна, почему в ходе матча она используется относительно редко по сравнению с лунным касанием? В данном случае можно предположить, что лунное касание не наносит большого урона, а лишь оглушает противника, позволяя дополнительно нанести более мощный удар. В качестве этого дополнительного удара, по идее, чаще всего выступает теневая атака. Это могло бы объяснить все наши данные. Луна обычно пытается просто оглушить противника, обрушивая на него множество лунных касаний, и в случае успеха дополнительно применяет теневую атаку. То, что у Луны сравнительно невысокая вероятность победы, говорит о том, что, помимо этого мощного приема, она не может похвастаться чем-то еще. Те игроки, которые знают, как можно уклониться от лунного касания, легко смогут одолеть Луну, но тот, кто этого не знает, будет почти все время находиться в оглушенном состоянии, беспомощно принимая удары. Таким образом, похоже, что Луна действительно требует изменений не столько потому, что она слишком мощная, сколько потому, что обеспечивает не очень увлекательный игровой процесс для того игрока, который ее использует (так как ее стратегия сводится к многократному повторению одного и того же приема), и того, который ей противостоит (потому что его персонаж проводит много времени в оглушенном состоянии).

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

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

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

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

Допустим, наряду с отслеживанием данных по сыгранным играм наша игра также обладает учетными записями игроков и системой матчмейкинга с рейтингами. В таком случае мы можем дополнительно разбить всю предыдущую аналитику по рейтингу. Например, рассмотрим вероятность победы персонажей в зависимости от их рейтинга (рис. 13.4).

Рис. 13.4

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

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

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

Игры жанра MOBA

В игры жанра MOBA (multiplayer online battle arena — «многопользовательская сетевая боевая арена»), такие как Defense of the Ancients 2, League of Legends и Heroes of the Storm, играют команды игроков, каждый член которой управляет отдельным персонажем и стремится его прокачать в ходе столкновений с монстрами, персонажами противников и покупки за золото дополнительного снаряжения. Как и игры жанра «массовая драка», игры жанра MOBA требуют балансировки различных персонажей по отношению друг к другу, а наряду с этим — принятия в расчет ряда дополнительных соображений, так как в них больше сложных многоуровневых систем.

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

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

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

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

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

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

Также посмотрите, насколько эта макропрогрессия коррелирует с результатами игры. Имеют ли игроки, у которых много внутриигровой валюты, больше шансов на успех, или ее количество не играет большой роли? И наоборот, прогрессируют ли быстрее игроки с высокой вероятностью победы и если да, то насколько быстрее? Каково соотношение между проведенным в игре временем, уровнем игровых навыков (вероятностью победы) и количеством потраченных денег (валюты)?

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

Командная механика. Игры жанра MOBA — командные по своей природе, и это одно из ключевых различий между ними и играми в жанре «файтинг»/«массовая драка». В силу этого вы можете использовать аналитику для прояснения ситуации с командными элементами игры жанра MOBA. Возвращаясь к анализу в пределах отдельной игры: играет ли в целом какую-либо роль командное взаимодействие?

Вы можете посмотреть, как ведут себя игроки, когда их товарищи по команде нуждаются в помощи. Игнорируют ли они просьбы о помощи или помогают? Чувствуют ли при этом игроки, что у них есть выбор, помогать или не помогать своей команде, или некоторые или все игроки (персонажи) вынуждены помогать товарищам, поскольку иначе команда не одержит победу?

Также можно рассмотреть состав команды и оценить, насколько интересны, значимы и разнообразны существующие варианты. Выглядят ли все успешные команды одинаково, или возможны определенные вариации (не только в части используемых персонажей, но и в части их классов). Не позволяют ли определенные персонажи добиться большего успеха при использовании в паре с другим персонажем? Посмотрите, какова вероятность победы одного персонажа в тех играх, где есть и другой персонаж, для каждой возможной их пары. Такой анализ можно проводить и в отношении троек персонажей, но лишь до того момента, когда пространство поиска или уменьшается настолько, что его результаты перестают быть статистически значимыми, или разрастается настолько, что получение полезных результатов начинает требовать слишком много времени. Как и во многих других случаях, здесь важно не впадать в крайности: игрокам станет скучно, если у них будет очень небольшой выбор в плане состава команды, с крайне ограниченным пространством возможностей, но столь же нежелательным будет и случай, когда состав команды не играет никакой роли.

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

Кроме того, некоторые игроки прекрасно справляются с технической стороной управления отдельным персонажем, но отличаются нелучшим отношением к другим членам команды. Если игра дает игрокам опросные листы, где они могут указать, насколько дружелюбными им кажутся другие члены команды и хотели бы они сыграть с ними снова, то как это влияет на вероятность победы при прочих равных условиях? Обладают ли более высокой вероятностью победы те команды, члены которых хорошо ладят друг с другом? Заметьте: если игра просит игроков высказать свое мнение о других членах команды и они знают об этом заранее, это само по себе может изменить поведение игроков, потому что они знают, что другие члены команды тоже будут их оценивать.

Командная механика сама по себе является отдельной системой, которую ни в коем случае нельзя упускать из виду в тех играх, где она играет центральную роль в игровом процессе.

Деньги. Хотя большинство игроков предпочитают не думать о том, что дизайн игры, помимо прочего, может определяться коммерческими соображениями, реальность такова, что разработчик любой игры должен что-то зарабатывать, и потому для того, чтобы работа над играми продолжалась, любая игровая студия должна получать достаточную прибыль и выплачивать зарплату своим сотрудникам. Это означает, что, помимо прочего, вы должны принять во внимание и множество метрик, характерных для игр с бесплатным доступом, как было показано ранее в этой главе. Если внесенное студией изменение очень понравится игрокам, но приведет к большой потере денег (например, предоставление неограниченного бесплатного доступа к наиболее популярным персонажам), в результате чего студии придется уйти из бизнеса, то такой исход вряд ли кого-то устроит.

Одной из наиболее важных метрик при этом является привлечение (acquisi­tion): сколько новых игроков присоединяется к игре. При резком уменьшении количества присоединяющихся к игре новых игроков вы должны провести дополнительный анализ и выяснить, чем вызвана эта проблема. Это может объясняться просто выходом из строя страницы загрузки или тем, что внесенное в нее изменение каким-то образом отталкивает потенциальных игроков. Также можно оценить эффективность различных маркетинговых стратегий, сравнив количество денег, затрачиваемых на реализацию той или иной стратегии, с количеством денег, зарабатываемых при этом игрой, чтобы обеспечить рациональное использование рекламного бюджета. Если упоминание о вашей игре в прессе или в других источниках информации вызывает резкое увеличение количества загрузок, будет очень полезно узнать, откуда пришли все эти игроки, чтобы создавать новый контент с расчетом на них.

Еще одной важной метрикой является конверсия (conversion): сколько игроков переходит от бесплатной игры к игре с тратой денег вне зависимости от того, сколько они при этом тратят. Обеспечивается ли прибыль от игры большим количеством игроков, которые тратят небольшие суммы, или небольшим количеством игроков, которые тратят много? (В большинстве игр с бесплатным доступом применяется второй подход.) Также можно определить, не слишком ли серьезно игра наказывает не тратящих деньги игроков, посмотрев, насколько сильно вероятность победы коррелирует с количеством потраченных денег.

Третьей часто используемой метрикой является удержание (retention): сколько длится один игровой сеанс, как часто игроки возвращаются в игру и сколько времени проходит до того момента, когда игрок удаляет свой аккаунт и навсегда покидает игру. Когда игроки покидают игру, с чем это коррелирует? Вы можете посмотреть, не связан ли уход игроков с количеством побед/поражений (не уходят ли они после того, как потерпят подряд определенное количество поражений), определенными датами (не подталкивает ли игроков к уходу такое внутриигровое событие, как завершение сезона или крупного турнира), составом команды (не становится ли игрокам скучно из-за того, что они видят один и тот же набор из 10 персонажей на протяжении длинной череды игр, хотя в игре более 100 персонажей), другими членами команды (не испытывают ли игроки разочарование из-за того, что они раз за разом попадают в одну команду с более слабыми или теми, кто не умеет себя вести, судя по отзывам других игроков), достижением определенного ранга или уровня (не превращается ли игровой процесс в рутину после освоения игроком основной механики и не кажется ли игрокам слишком монотонным этап зрелой игры, наступающий после прохождения основной дуги прогрессии) или «сроком жизни» аккаунта (не остается ли игра интересной лишь в течение ограниченного срока, после чего игроки перестают находить в ней что-то новое для себя и уходят в поиске новых впечатлений).

Другие соображения. Не существуют ли в игре другие виды взаимодействий между игроками, такие как торговля или иные экономические системы? Если да, то их тоже следует проанализировать.

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

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

Визуализация данных

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

В большинстве случаев наборы данных содержат значения двух видов: дискретные (одно из нескольких разных значений) и непрерывные (любое число из некоторого диапазона). Выбор персонажа в файтинге определяется дискретным числом, поскольку игроку доступен лишь ограниченный набор персонажей и их можно использовать только по одному за раз (вы не можете, например, взять половину одного персонажа и половину другого). Время суток представляет собой непрерывное значение. Временная метка может представлять любой момент времени на большинстве компьютеров с точностью до миллисекунды, и разница между значениями 12:31:04.003 и 12:31:04.004 незначима для большинства приложений. Однако при измерении времени в месяцах мы будем вновь иметь дело с дискретными значениями, потому что в таком случае любое событие может происходить, например, либо в сентябре, либо в октябре и у вас не может быть данных, находящихся между месяцами или использующих какую-либо комбинацию из нескольких месяцев.

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

• Если у вас есть только одно значение, то, каким бы оно ни было, дискретным или непрерывным, вам не нужно использовать график. Просто отобразите это значение. Общее количество активных аккаунтов игроков на сегодняшний день — 3 024 710. Однако вы можете получить намного более интересные результаты, когда сравните два или большее количество значений.

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

Рис. 13.5

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

Рис. 13.6

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

• Когда нужно сравнить друг с другом большое количество значений, естественной проблемой является то, что оно не должно превышать определенный потолок, чтобы не загромождать график сверх меры. Так, на предыдущем графике показаны три значения. Теоретически мы могли бы добавить сюда четвертое значение, выделив линии разными цветами, или даже пятое, сделав этот график трехмерным, но рано или поздно он все равно станет слишком перегруженным. Выходом здесь может стать то же решение, которое мы использовали при соотнесении ресурсов в главе 5, — соотнести каждое значение с некоторым единственным центральным якорем. После этого нужно составить информационную панель из нескольких линейных графиков, соотносящих различные значения с одним и тем же центральным значением. Например, представленная на рис. 13.7 информационная панель показывает, как количество активных игроков зависит от времени.

Здесь также можно было бы показать некоторые другие параметры, определяемые для тех же периодов времени, например удержание за 1, 7 и 30 дней, вероятность победы для каждой из используемых в игре стратегий и т.д.

• Для данных, носящих пространственный характер, например связанных с тем, что происходит в определенных частях карты уровня, применяйте тепловую карту, где различные значения выделяются с помощью разной интенсивности цвета. Так, в игре Team Fortress 2 компания Valve собирает данные о том, где погибает каждый игрок, и визуализирует их на каждой карте, выделяя более ярким цветом самые опасные области, в которых происходит наибольшее количество смертей. Примеры таких карт можно увидеть по адресу http://heatmaps.tf.

Рис. 13.7

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

Дополнительные ресурсы

Алекс Джаффе (Alex Jaffe), «Баланс метаигры», выступление на конференции GDC 2015, https://www.gdcvault.com/play/1022155/Metagame.

Вопросы для обсуждения

1. В чем состоит разница между метриками и аналитикой?

2. Какие члены команды разработчиков, помимо геймдизайнера, используют аналитику?

3. Выберите для рассмотрения любую регулярно обновляемую F2P-игру. Если бы вы отвечали за обеспечение ее прибыльности, какие показатели KPI захотели бы увидеть в первую очередь?

4. Как часто говорят, «корреляция не причинно-следственная связь». Какую информацию нужно дополнительно получить, чтобы можно было считать корреляцию причинно-следственной связью?

5. Допустим, вы заметили корреляцию между двумя переменными. Какие четыре разных объяснения можно дать о ее возможной корневой причине?

6. В PvP-игре с системой выставления рейтингов за игру какие метрики следует в первую очередь принять во внимание при оценке сбалансированности различных персонажей, стилей игры или стратегий?

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

8. Какие метрики следует рассматривать для оценки уровня оттока игроков?

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

10. Почему при использовании аналитики важную роль играет визуализация данных?

Побочные квесты

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

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

Побочный квест 13.1. План применения аналитики

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

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

Допустим, что вы и ваша команда разработчиков получили права на создание ремейка (не сиквела) этой игры. Предполагается, что в нем останутся неизменными большинство основных механизмов, но можно внести незначительные изменения, чтобы сделать игру более сбалансированной и исправить наиболее крупные ошибки в дизайне исходной версии. То есть вы фактически создаете версию 2.0 — с обновленными звуком и графикой, на новой платформе и с рядом обновлений, влияющих на сбалансированность игры.

Сначала определите вопросы. Поскольку ни одна игра не идеальна, у выбранной вами тоже есть некоторые проблемы с игровым балансом, какими бы незначительными они вам ни казались (если вам кажется, что таких проблем у нее нет, поищите их тщательнее или выберите другую игру). Вы можете предполагать наличие определенного дисбаланса, исходя из своего игрового опыта. Но как это можно доказать? Определитесь с тем, на какие вопросы об игровом балансе (минимум три) вам нужно получить ответы. Это могут быть любые вопросы, на которые может дать ответ аналитика.

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

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

Основной квест Плута, часть 7. Игровое тестирование, доработка и завершение

Продолжение. Часть 6 см. в главе 12.

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

Затем проведите игровое тестирование.

Если при этом будут выявлены проблемы, сделайте соответствующие пометки и внесите необходимые изменения в игровые объекты (и/или в кривую затрат и вспомогательную математику). Затем проведите игровое тестирование еще раз и вновь внесите необходимые исправления, далее выполните еще несколько итераций этого цикла — столько, сколько позволит время. Задача состоит в том, чтобы таким образом сделать ваше мини-расширение как можно более сбалансированным.

Это заключительная часть основного квеста Плута.

Основной квест Воина, часть 7. План применения аналитики для ремейка

Продолжение. Часть 6 см. в главе 11.

Выполните для своей игры побочный квест 13.1.

Это заключительная часть основного квеста Воина.


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

Если вы не можете сформулировать ретроспективный вопрос как гипотетический A/B-тест, то выявленная причинно-следственная связь будет малозначимой.

Назад: 12. Прогрессия в PvP-играх
Дальше: 14. Метаигровые системы