Статьи

Игровой баланс #4

Мат. моделирование, экономика и другое

Матмодели

Математическая модель — представление реальности через математику.
Звучит слишком академично. На самом деле все просто: вычесть DMG из HP — получится модель боя.
Требуемый опыт делим на убитых монстров — модель прокачки.
Сложить доход и вычесть расходы — модель экономики.
Бизнес-план игры, семейный бюджет и т.п. — тоже модели.

И И это модель, только не математическая. Зато с «манжетами»

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

Отступление #1

Я уже писал: таблички не помогают, а запутывают; это инструмент, а не цель.
Нелишним будет повторить. Именно в моделировании легче всего допустить эту ошибку: рассчитать абстракцию, которая гладко смотрится на бумаге, но отвратительно играется.
Правильная матмодель ≠ правильная экономика.

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

Отступление #2

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

Поэтому я уделю некоторое внимание геймдизайну как таковому, в отрыве от моделей и экономики.

Но начнем с самого простого.

Модель боя

В предыдущем посте мы научились считать силу юнитов — поэтому сначала смоделируем бой.

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

Итак, наша задача: смоделировать битву двух юнитов.1-mDO42aM8N3zz2C0cOu73ew

Вот простейший вариант: по колонке HP на каждого юнита. В каждом ряду из HPотнимается DMG врага. Ряд — это 1 ход или 1 секунда в реалтайме. Все цифры из предыдущего поста.

Собственно, все.
Даже такая простая модель показывает, что раньше мы все правильно посчитали.

Если у нас куча разных параметров — модель может выглядеть довольно запутанно.
Например, вот так:

1-pVMroe9P41_nGhmi2yYIlw

Здесь тот же принцип, но больше цифр и параметров, больше гибкости

 

Не факт, что вам это нужно, но глаз радует.

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

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

Приступаем к главному.

Модель экономики1-K_xBU0GI3JXXBUHHgyc_LA

Дисклеймер: постараюсь описывать схему, которая подходит для любой игры — но мы понимаем, что экономика особенно важна во free to play.
Отчасти поэтому мы будем много говорить о монетизации.
Я надеюсь, это будет полезно даже разработчикам платных игр — просто читайте вместо «заплатить» > «заполучить».

Подготовка к работе

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

  • Необходимое количество контента
  • Время, потраченное на разные этапы игры
  • Эффективность игрового процесса и циклов
  • Точку дефицита или его отсутствие
  • Потенциальные дыры баланса и монетизации

Важный акцент: не определяем, а только контролируем. Большинство этих параметров мы должны были уже давно определить.

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

Вот с чем еще полезно определиться:

  • Чистое время (т.е. игра без перерыва и таймеров), которое игрок потратит, чтобы получить весь контент и достигнуть целей.
  • Расчетное время (то же самое с учетом таймеров, средней длины сессии и среднего количества сессий в день/неделю для вашего жанра или из ваших гипотез).
  • Объем контента, который вытянет ваша команда во время.
  • Примерные цены в реальной валюте — поскольку они зависят от жанра и конкурентов. Вы едва ли найдете баттлер с ценой бустера = 1$, т.к. игроки в баттлеры платят много.
    Сюда же относится ценность минуты для игры с таймерами.
  • Жесткость экономики — когда, как и при каких условиях игроку не хватает денег? На что будет хватать всегда?

Итак, начинаем работу.

Минимальная экономика

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

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

Поэтому мы будем рассматривать другую модель, более подробную.
Она совмещает экономику и прогресс; выглядит приблизительно так:1-v8Y9GIiCGzGLOdPTh1Lx0Q

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

Небольшой совет: не обязательно расписывать модель для каждого уровня или этапа. Если уровней за сотню — в ней станет легко потеряться.

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

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

Комплексная экономика

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

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

Такой вариант предполагает, что мы учитываем не только усредненный доход/расход, а моделируем все поведение игрока: чем он занимается, сколько времени, где зарабатывает, на что тратит.

Этому посвящен следующий пост.

Краткое содержание цикла про баланс:
— Введение и подготовка к работе
— Начало работы: константы и прогрессии
— Боевой баланс или расчет эффективности
— Матмодели и простая экономика
— Комплексная экономика: поведение и цикл
— Монетизация и экономика
— Дополнительно: тервер, кривая обучения, заключение

2 комментария

Добавить комментарий