За примером обратимся к математике уровня начальной школы. На один круг по трассе длиной в 10 километров на машине с максимальной скоростью в 200 км/ч игрок не сможет потратить меньше трех минут. Как бы он ни старался. И игрок, и разработчик могут рассчитать время, необходимое для прохождения игры или для достижения какой-то игровой цели. Причем если для игрока этот интерес может быть довольно праздным, ведь он просто наслаждается процессом, то разработчику время прохождения игры нужно знать довольно точно.
Время – это основной элемент игрового баланса, связанного с потреблением игры. Прежде всего разработчик должен решить, насколько продолжительными будут игровые циклы. Это нужно, чтобы, с одной стороны, контролировать время потребления игры (она не должна быть пройдена слишком быстро), а с другой – удовольствие от игры (она не должна наскучить).
Проводить по несколько футбольных матчей в день может быть интересно, но слишком сложно физически, независимо от того, является ли наш игрок (тот, для кого мы замеряем время) участником команды, менеджером или просто зрителем.
Время ограничивается не только желанием разработчика, но и законами физики, как в упомянутой выше гоночной игре. В любом случае, игрок или зритель не сможет отыграть или посмотреть больше 16 футбольных матчей в сутки, если участвовать в одном матче единовременно. А если матчи можно играть только раз в неделю, то не получится больше 54 матчей в год, что ограничивает само количество команд, которые могут принимать участие в чемпионате, а это вынуждает делить команды на лиги. И так далее. Эти мелочи напрямую следуют из простой логики реального мира, но от них можно отталкиваться. Главное, найти, за что зацепиться или на чем основывать логику игры, свои расчеты и, наконец, баланс игры.
Плейтесты(playtest) – методика исследования заинтересованности игрока, которую можно и нужно применять задолго до релиза игры. С одной стороны, плейтесты позволяют заранее понять, какая именно аудитория наилучшим образом реагирует на игру, а с другой стороны, определить, какие именно компоненты игры можно изменить для наилучшего попадания в самую привлекательную с точки зрения бизнеса группу игроков. С помощью этой методики можно проверить буквально все элементы игры: графику, сценарий, диалоги, игровые механики, настройки параметров управления и, конечно же, баланс игры.
Если игроку нужно сделать три круга по 10-километровой трассе, мы можем рассчитывать, что минимум раз в 10 минут игрок будет заканчивать гонку и получать какую-то награду. Если в качестве награды игрок должен получать части нового, желанного автомобиля, то мы можем легко рассчитать скорость достижения этой цели. Например, если частей шесть, то минимум через час игрок получит новый автомобиль. Если час – это слишком мало, мы можем увеличить количество частей, или каким-то образом изменить систему награждения, или уменьшить скорость автомобиля, чтобы гонка заканчивалась не за 10 минут, а за 15. Мы можем регулировать баланс игры, еще даже не обращаясь к понятию сложности игры.
Понять, что такое «много» и «мало», – задача довольно сложная. Важно соблюдение состояния потока у игрока, когда существует баланс между сложностью задания и навыками его исполнителя. При слишком большом вызове игрок может разочароваться от постоянных проигрышей и, наоборот, при простом прохождении почувствовать скуку. При создании игры следует балансировать между этими двумя эмоциональными точками. И для того чтобы определить, насколько сложность удовлетворяет данному процессу, мы можем проводить плейтесты, чтобы выявить базовые значения баланса. Поэтому баланс начинается не с каких-то конкретных цифр типа длины трассы или количества побед, необходимых для открытия новой машины, а с формулы, в которую можно будет подставить результаты плейтестов.
В боевой системе баланс также требует твердого и логичного основания. Например, каждый ход игрок увеличивает свой запас энергии на одну единицу и может сразу использовать ее и остальную имеющуюся энергию для запуска в сторону противника одного из своих персонажей. В таких условиях персонаж, требующий 7 единиц энергии, явно не должен быть слабее семи персонажей, требующих всего 1 единицы энергии. Просто потому, что в этом случае использование персонажа на 7 единиц энергии никогда не будет выгодно. Если это неочевидно, можно пересчитать силу персонажа на единицу энергии.
Коллекционная карточная игра (ККИ, Collectible Card Game, Trading Card Game) – класс стратегических настольных игр, в которых ресурсами и персонажами являются карты. Они не продаются законченными, неизменными колодами, игрок может покупать дополнительные карты в виде закрытых пакетов со случайными картами – бустерами, либо покупать или обменивать их у других игроков-коллекционеров.
Более того, если у нас карточная коллекционная игра и персонажи выпадают игроку случайным образом из колоды, то всегда есть шанс, что персонаж, требующий 7 единиц энергии, выпадет слишком рано и игрок не сможет им воспользоваться, пока не накопит нужное количество единиц. А значит, их в колоде должно быть не слишком много: частое выпадение может привести к тому, что игроку просто нечем будет ходить. Любители ККИ обладают удивительным навыком балансирования собственных колод.
Балансировка персонажей работает и в другую сторону: если какой-то персонаж оказался сильнее другого, возможно, стоит сделать его дороже, просто чтобы сохранить среднее отношение силы на единицу энергии.
Любые параметры игры можно в итоге свести к какому-то одному знаменателю. Это может быть все та же сила на единицу энергии или урон в секунду, так же как и расстояние в секунду. Внутри игры математика может быть сколь угодно сложной: например, ловкость может влиять на шанс нанесения критического урона, который, в свою очередь, увеличивает минимальное значение урона. Но в итоге это все равно просто урон в секунду, который в данном случае учитывает среднее значение между минимальной и максимальной атакой.
Также в игре может быть несколько радикально отличающихся типов атак, использующих разные ресурсы, описываемых разными терминами: физическая атака в качестве энергии может использовать выносливость и учитывать время замаха, в то время как магическая атака будет использовать ману и каст (время чтения заклинания), который к тому же может быть сорван. Все равно – тот же урон в секунду.
На убийство монстра, обладающего определенным значением здоровья, нужно потратить какое-то время, независимо от показателя «урона в секунду». На убийство необходимого (например, для прохождения подземелья) количества монстров иногда могут уходить не минуты, а даже часы. И вот мы снова вышли на уровень награды за прохождение подземелья. Тут только не стоит забывать, что монстры могут быть дискретны. При значении атаки 40 и здоровья монстра в 50 этот монстр будет убиваться за 2 удара и увеличение атаки на 5 не изменит эту ситуацию. А также атака в 100 может убить за один удар только одного монстра, а не двоих. А убийство монстров за 1 или 2 удара – это разница по времени в два раза.
Балансировка боевых систем – задача необычайно сложная. Ведь зачастую у персонажа очень много различных характеристик, которые будут работать по-разному в разных условиях. Мы захотим сделать быстрых, но слабых противников или медленных противников с большой броней. Летающих противников, которые будут иметь иммунитет против мечников, и лучников, начинающих атаковать противника на большом расстоянии, включая тех, кто находится в воздухе.
Но в описании приведенных выше персонажей кроется и ответ на вопрос, как же настраивать большое количество персонажей. Есть относительно простой механизм архетипов, шаблонных характеристик персонажей, которые следуют из описания и поведения персонажа.
Основная характеристика лучника – это дистанционная атака, позволяющая ему начать атаковать противника до того, как противник подошел вплотную и начался рукопашный бой. Эта характеристика основана на вполне реальном, объективном поведении лучников, понятном и привычном для игроков, даже если они сами никогда не встречались с живыми лучниками.
Мы можем взять лучника и мечника и смоделировать их столкновение. Сколько времени у мечника уйдет на то, чтобы подойти к лучнику на расстояние рукопашной атаки? Сколько выстрелов успеет произвести лучник, прежде чем мечник доберется до него? Если лучник и мечник должны быть равны друг другу, то довольно просто составить формулу, по которой лучник успевал бы сделать два выстрела, пока мечник идет к нему, а потом мечник убивал бы лучника за один удар одновременно с третьим смертельным для мечника выстрелом.
Выбрав набор основных архетипов персонажей и минимально их сбалансировав, можно заняться наращиванием на них «мяса» дополнительных характеристик, роста уровня и прочего.
Все числа, участвующие в балансе игры, образуют некую экономику. Даже в результате заезда в гонке мы получаем части нового автомобиля – это ресурс, который мы обменяем на новый автомобиль по мере накопления необходимого количества. Во время битвы в игре погибают юниты, на строительство которых мы потратили ресурсы, собранные вокруг базы, и время.
Практически все комплексные механики как-то работают с ресурсами. По работе с ресурсами механики делятся на три типа: источники, цели и конвертеры.
Источники – это такие механики, которые не требуют вложений. Таких чистых механик на самом деле не очень много. Например, это ежедневные награды, которые требуют от игрока только входа в игру (что, впрочем, тоже можно оценить). Но к источникам можно отнести практически все механики, работающие самостоятельно и требующие только игрового времени, типа времени на восстановление энергии. Таких механик уже значительно больше, это практически все постройки, собирающие и производящие ресурсы, или награда за прохождение уровней.