Баланс игровой экономики

Перевод статьи Станислава Станковича, старшего директора по геймдизайну в Electronic Arts, ранее также работавшего в Supercell, PixelUnited, Rovio.

С оригиналом можно ознакомиться на Medium [Sep 9, 2022].

Баланс игровой экономики

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

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

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

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

Давайте представим, что мы работаем над балансом для PvP-игры в реальном времени наподобие Clash Royale. Игроки сражаются друг с другом на дуэлях, получая в качестве награды драгоценные очки — назовём их трофеями, — сбор которых ведёт всё дальше по так называемой Trophy Road («дорога с трофеями»). Вы наверняка знакомы с подобной механикой, присутствующей во многих играх: хорошим примером может служить Brawl Stars от Supercell.

В Battle Legion от Trap Light одна из самых красивых реализаций Trophy Road
В Battle Legion от Trap Light одна из самых красивых реализаций Trophy Road

Trophy Road представляет собой довольно простую концепцию, напоминающую многоступенчатую лестницу, каждый ярус которой — уровень вознаграждения игрока. Для достижения нового яруса требуется набрать определённое количество трофеев, и наша задача, как геймдизайнеров, — сбалансировать между собой все элементы. Другими словами, мы должны подобрать величины для каждого из пороговых значений: сколько трофеев игроку требуется набрать для перехода на следующий уровень. Инструментом для решения этой задачи послужит любая электронная таблица (Excel или Google Таблицы), но вы всегда можете использовать и обычные ручку и бумагу.

Общие рекомендации

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

Именно время, а вовсе не количество очков или трофеев, является ключом к понимаю баланса. Trophy Road — механика длительного удержания игроков, рассчитанная, как уже опоминалось, на недели, месяцы и годы. Может показаться, что её балансировка — сложная задача, но на деле это довольно незамысловатое упражнение.

Основная мысль: не бойтесь больших чисел.

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

Сбор трофеев

Упражнение начинается с самых азов: что является источником трофеев для игрока? Следует определиться и зафиксировать для себя, какими именно способами игрок может заработать трофеи.

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

Основная мысль: награждайте не только за навыки игры.

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

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

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

Построение предположений

Как уже упоминалось, мы занимаемся моделированием времени игрока. Мы желаем предсказать, где конкретно на Trophy Road игрок будет находиться в определённый момент в будущем или, другими словами, как много времени ему придётся потратить для преодоления очередного порога на этом Пути. В качестве измерителя пройденного расстояния в данном случае выступает счётчик трофеев. Чтобы выполнить описанную задачу нам придётся сделать несколько предположений.

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

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

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

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

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

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

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

Для того, чтобы приступить к реальной балансировке, нам следует обратиться к другому сценарию: я называю его сценарием Вовлечённого игрока. Давайте предположим более реалистичные продолжительность игровой сессии и количество сыгранных матчей. Опять-таки, если вы прорабатываете данную механику для уже существующей игры, то все необходимая статистика уже должна быть у вас под рукой, в противном случае можно воспользоваться такими онлайн-ресурсами, как SensorTower, AppAnnie/Data.ai или GameRafinery.

Разделите общее среднее время в игре на среднюю продолжительность матча, чтобы получить количество матчей, сыгранных игроком за день. Теперь определитесь с соотношением побед и поражений — в надлежаще сбалансированной PvP-игре оно должно стремиться к 50% для каждого игрока в долгосрочной перспективе (R=50%). Впрочем, ничто не мешает вам остановиться и на любом другом значении. Используя его, мы можем высчитать среднее количество очков, которые игрок получит за матч, независимо от того, выиграл он его или проиграл: R*V+(1-R)*L, где V означает количество очков, вручаемых за победу, а L — количество очков, получаемых в качестве утешительного приза при проигрыше. Умножьте полученное число на количество матчей, сыгранных за день, чтобы получить среднее количество очков, которые игрок должен набирать каждый день.

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

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

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

Распределение уровней

Проведённые нами расчёты — всего лишь самая элементарная математика. Следующая часть намного веселее: теперь в дело вступает психология.

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

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

Было бы странно, если бы игрок мог открыть более одного уровня наград после одного сыгранного матча. Так что количество очков, которые игрок зарабатывает за одну победу (или среднее ожидаемое количество очков, которые он зарабатывает за матч), станет нашим базовым строительным блоком.

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

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

Мне нравится, когда устоявшийся ритм позволяет Вовлечённому игроку достигать нового уровня примерно один раз в день. Другими словами, один день относительно увлечённой игры должен приносить вам новую награду на Trophy Road. Конечно, Казуальный игрок будет продвигаться в два или три раза медленнее, открывая новые уровни раз в два или три дня, но это тоже неплохо.

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

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

Второй напрямую связан с умением правильно подстраховаться. Мы сделали много предположений относительно поведения игроков, но эти предположения в силу своей природы ненадёжны. Может случиться так, что предположения окажутся неверными и вам придётся вносить коррективы в Trophy Road уже после его запуска: вы вольны облегчить или усложнить игроку задачу. Гораздо приятнее, когда вещи становятся проще, но не стоит забывать о подстраховке. Задерите пороги для достижения новых уровней так высоко, насколько осмеливаетесь — ведь вы всегда сможете их снизить. Это всяко лучше, чем вынужденно повышать данные пороги, усложняя всем жизнь, когда окажется, что игроки слишком быстро продвигаются по Trophy Road.

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

Таблица количества дополнительных трофеев, необходимых для достижения определённого уровня
Таблица количества дополнительных трофеев, необходимых для достижения определённого уровня
Таблица суммарного количества трофеев, необходимых для достижения определённого уровня
Таблица суммарного количества трофеев, необходимых для достижения определённого уровня

Распределение наград

Теперь, определившись с пороговыми значениями, пришло время наконец заняться самым интересным и распределить реальные награды вдоль Trophy Road — вишенка на торте всего действа. Здесь следует отметить следующее: награды должны быть разнообразными, но привлекательными с точки зрения игрока. Эта задача сложнее, чем может показаться на первый взгляд.

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

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

Разнообразные награды на Trophy Road в Zooba
Разнообразные награды на Trophy Road в Zooba

В целом, мне нравится разделять награды на две большие категории: сочные основные и филлерные (награды-наполнители).

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

Подсчитайте, какое количество основных наград имеется в вашем распоряжении или сколько вы можете позволить себе создать. Разместите их в устойчивом порядке на Trophy Road: например, через каждый четыре или пять уровней. В идеале Вовлечённый игрок сможет поначалу открывать по одной основной награде в день, а в последующем — по одной в неделю. В этом случае они начинают играть роль среднесрочных целей для игрока.

Я предпочитаю размещать первую основную награду на втором или третьем уровне Trophy Road, а на первом — всегда награда-филлер. Это делается намеренно: мне хочется вознаградить игрока за первую достигнутую победу, но достижение основной награды всё же должно требовать от игрока приложения некоторых усилий и упорства. Не слишком много, т.к. она должна оставаться достижимой даже для самых казуальных игроков.

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

Основные награды на Trophy Road в Brawl Stars.
Основные награды на Trophy Road в Brawl Stars.

Как только вы разместили основные награды, заполните оставшиеся уровни наградами-филлерами. Разместите их с таким расчётом, чтобы Trophy Road казалась богатой и разнообразной.

Ещё одним важным моментом, на котором следует заострить внимание, является количество мягкой и твёрдой валюты, которую вы выдаёте игрокам.

Дизайн условно-бесплатной игры предполагает, что вы не должны раздувать игровую валюту, раздавая слишком её в слишком больших объёмах. Кроме того, любая система вознаграждения по умолчанию выступает в роли внешнего мотиватора — игроки должны играть в вашу игру, потому что она приносит им удовольствие, вы не должны пытаться подкупать игроков, чтобы они продолжали играть в неё.

Чтобы определить правильное количество валюты, которой вы вознаграждаете игроков, стоит снова вспомнить о времени. Прогресс игрока по Trophy Road является мерой его усилий, отражая количество проведённого в игре времени. Используйте оценку скорости игрока, чтобы решить, какое количество каждой валюты вы готовы отдать игроку за определённое количество времени, проведённого в игре.

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

Заключение

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

Основные выводы

При балансировке долгосрочного удержания игроков размышляйте о времени.

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

Делайте предположения о поведении игроков.

Выведите несколько сценариев, из которых хотя бы два будут реалистичными, а один — реализуемый только в теории.

Вознаграждайте прежде всего вовлечённость игрока, а не его мастерство.

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

Создайте разнообразные награды.

Размещайте самые интересные награды через регулярные интервалы.

Остальные награды используете как филлеры.

Установите соответствие между каждой из получаемых игроком валют (как награды) и временем, проведённым в игре.

Ссылки

Google Таблица с примером Trophy Road.

1
Начать дискуссию