Игровой баланс. Часть 1

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

Зато мне понравилась статья Ника Филатова, где он рассказывает про применение рядя Фибоначчи в балансе. И все там хорошо: и подход, и слог, и картинки.
Одно плохо: я с ним не согласен. И чтобы объяснить это несогласие мне пришлось описать свой подход к балансу «от сохи».

Я старался быть максимально кратким, подчеркивать главное, несколько раз сокращал текст, но в результате все-равно получился небольшой цикл постов. Буду публиковать по одному в день.

Краткое содержание:
Введение и подготовка к работе
Начало работы: константы и прогрессии
— Боевой баланс (баланс эффективности)
— Модели и экономика

 

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

Введение

Что такое баланс

Самое простое определение: любые числа, влияющие на геймплей.

Возьмем простейшую змейку: она перемещается со скорость 1 клетка в 0.5 секунд по квадратному полю 10х10 клеток. Весь баланс в этих двух числах — скорость змейки и размер поля.

Они взяты с потолка и правятся на глаз: запускаем прототип, играем, меняем числа, снова играем. Нам плевать на «баланс», мы о нем не думаем, просто делаем игру веселее.

Из этого получится хороший геймплей, и не надо никаких табличек и формул.

Вывод №1: без табличек можно обойтись. И не только со змейкой.

Но… Как же таблички?!

А теперь возьмем World of WarCraft: несколько режимов игры, десяток классов, десятки локаций, сотни абилок, тысячи врагов, море взаимодействия — драки, торговля, гильдии…
Подобрать все это «на глаз» физически невозможно.

Здесь то и пригодятся таблички и формулы.
Они автоматизируют подбор чисел и позволяют контролировать сложные системы.

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

Вывод №2: таблички упрощают вашу работу, но не делают ее лучше.

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

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

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

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

Вот еще несколько примеров:

  • В тактических боях игрок много считает в уме, поэтому для параметров юнитов лучше брать маленькие числа.
  • У жанра idle/incremental есть потребность в огромных числах, чтобы сохранить иллюзию постоянного быстрого роста.
  • В action-играх, где визуализируют нанесенный урон, не подойдут ни слишком мелкие числа — никого не впечатлит пафосно отлетающая единичка — ни слишком большими, т.к. получится информационный перегруз и будет сложно отличить 131348 от 12883.
  • В мобильных играх надо помнить даже о размере экрана — если какие-то числа необходимо показывать и нельзя сокращать, ими можно замусорить интерфейс.
  • В RPG параметры предметов и оружия должны сильно отличаться, чтобы игрок почувствовал разницу и свой рост.
  • Но с PvP эти различия не должны быть слишком большими, иначе драка между игроками чуть-чуть разных уровней станет совсем предсказуемой и неинтересной. Этот пример я разобрал во втором апдейте к ревью Clash Royal — балансерам обязательно к прочтению.
  • В развитии и экономике надо помнить про быстрый рост на старте и равномерную подачу контента по времени, чтобы он не успевал приедаться. Конечно, отчасти эта работа делается уже вместе с табличками, при создании кривой обучения. Но чем больше мы представляем заранее — тем меньше переделывать потом.

Вывод №3: нужно определить числа, которые мы уже знаем и найти все важные места, где числа пересекаются с механикой.

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

Расставляя числа задумайтесь, как измениться игра, если это число будет больше или меньше. А если все числа этого типа изменить на порядок?

В следующей части: начало работы, константы и прогрессии.