Золото, жизнь, здоровье: Как связаны между собой числовые значения в играх

Ведущий геймдизайнер Plarium Анатолий Шестов опубликовал в своём блоге перевод одной из лекций курса «Принципы игрового баланса» игрового дизайнера Яна Шрайбера, который работал над такими проектами, как Marvel Trading Card Game и Playboy: the Mansion.

ЦП публикует перевод с разрешения Шестова.

Золото, жизнь, здоровье: Как связаны между собой числовые значения в играх

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

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

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

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

Каким образом числа могут соотноситься друг с другом?

Тождественные и линейные соотношения

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

Вы можете подумать, что тогда можно обойтись одной величиной, но есть случаи, когда имеет смысл взять две разные величины, которые эквивалентны друг другу. Например, в Ultima III: Exodus есть Еда, которая нужна каждому персонажу, чтобы не умереть с голоду в подземелье. Еду невозможно найти или получить в бою, её можно только купить у торговцев в городах.

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

В отличие от Еды, Золото не убывает с течением времени, и оно универсально (им можно подкупить стражу, купить подсказки, приобрести оружие и доспехи… или Еду). И хотя очевидно, что это две совершенно разные величины, имеющие каждая своё применение в игре, каждая единица Еды стоит 1 Золотой (10 Еды стоит 10 Золота, 1000 Еды стоит 1000 Золота и так далее).

Еда и Золото находятся в отношениях тождества. Хотя в этом случае отношения односторонние, раз Золото можно перевести в Еду, но не наоборот.

Более общим случаем тождественных отношений являются линейные отношения, где «обменный курс» между двумя величинами постоянен. Если исцеляющее заклинание всегда стоит 5 очков Маны, и возвращает 50 очков Здоровья, то между Маной и Здоровьем линейное соотношение 1 к 10. Если вы можете купить +1 к Ловкости за 100 Золотых, между Золотом и Ловкостью линейное соотношение 100 к 1. И так далее.

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

Экспоненциальное и трёхпараметрическое соотношение

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

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

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

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

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

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

Например, удваиваете: за каждую +1 которую вы прибавляете к одной величине, вы удваиваете другую. Это даёт вам соотношение, при котором покупка 1, 2, 3, 4 или 5 единиц чего-либо сто́ит соответственно 1, 2, 4, 8 и 16 единиц ресурса. Как вы можете убедиться, при таком соотношении цифры растут очень быстро.

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

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

А что, если значение увеличивается, не так стремительно, не экспоненциально? В играх довольно часто встречаются трёхпараметрические соотношения. Если даже вам незнаком этот термин, вы наверняка встречали эту последовательность:
1, 3, 6, 10, 15, 21, 28, …

Это классическая трёхпараметрическая последовательность (получившая своё название за то, что среди способов её визуализации есть треугольники). В нашем предыдущем примере, первое дополнительное действие стоило 1 единицу ресурса; следующее стоило 2 (что в сумме давало 3), следующее стоило 3 (в сумме — 6), и так далее.

Трёхпараметрические числа обладают одним интересным свойством, которое можно заметить, если сравнить разницы между парами последовательных чисел. Разница между первыми двумя числами (1 и 3) даёт 2. Разница между следующей парой чисел (3 и 6) даёт 3. Следующая разница (между 6 и 10) равняется 4. Таким образом, последовательная разница линейна: 1, 2, 3, 4…

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

Например, вы решаете, что первый Прибамбас должен стоить 7 золотых. Затем задайте для второго цену в 6 золотых (в сумме 13), третий пусть стоит 5 золотых (в сумме 18), и так далее.

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

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

Другие числовые соотношения

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

Например, в вашей игре есть определённые ценовые пики, где определённое пороговое значение сто́ит больше, чем другие из-за того, что оно имеет особое влияние на игру. Например, если всё в вашей игре обладает 5 очками здоровья, разница между нанесением 4 и 5 очков урона огромна, так что 5 очков урона должны стоить гораздо дороже, чем если бы дела обстояли иначе.

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

Внутрисистемные соотношения

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

Давайте возьмём простой пример: первую игру Dragon Warrior для Nintendo. В системе боя этой игры у вас есть три основные характеристики: очки здоровья (HP), очки магии (MP), атака и защита. Это игра на износ: вы исследуете игровые области и на каждом шагу на вас нападают враги. Вы проигрываете, когда ваше здоровье падает до нуля.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ещё пример

Вы можете спросить: если такой анализ подходит для игры, основанной на характеристиках и статистике, такой как RPG, значит ли это, что он подходит и для других типов игры? Ответ: да. Давайте рассмотрим игру в стиле «экшн», оригинальную Super Mario Bros. (прославившуюся в версиях для Nintendo и аркадной).

Какие ресурсы у нас есть в Mario? Есть жизни, монеты и время (таймер обратного отсчёта). Ведётся счёт очкам. И есть различные объекты — кирпичи с монетами, враги и так далее, которые могут работать либо на вас, либо против вас — в зависимости от ситуации.

Давайте продолжим анализ, рассмотрев эти соотношения.

Монеты: между монетами и жизнями существует соотношение 100 к 1, так как собрав 100 монет вы получаете дополнительную жизнь. Между монетами и очками существует соотношение 1 к 200, так как подобрав одну монету, вы получаете 200 очков. Есть соотношение между «денежными» кирпичами и монетами, которые из них выпадают.

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

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

Жизни: между жизнями, и всем остальным существует странное соотношение, так как потеря жизни возобновляет монеты, время и врагов на уровне. Обратите внимание: так как монеты дают дополнительные жизни, а потеря жизни восстанавливает монеты, любой уровень с количеством монет больше 100 даёт возможность для позитивной петли обратной связи, где вы можете погибать специально, получать больше 100 монет и продолжать, бесконечно зарабатывая новые жизни. В оригинальном Super Mario Bros. таких уровней не было, но в Super Mario 3 были.

Отношения между жизнями и счётом: Между жизнями и счётом нет прямой связи. Однако, потеря жизни восстанавливает множество вещей, влияющих на ваш шанс получить очки, поэтому косвенно вы можете перевести жизни в очки. Интересно, что наоборот сделать нельзя. В отличие от других современных ей аркадных игр, Super Mario Bros. не даёт дополнительные жизни за много заработанных очков.

Глядя на эти соотношения, мы видим, что на самом деле, центральным ресурсом в Super Mario Bros. являются очки. Это логично для ранней аркадной игры, где чтобы победить, нужно было не «победить игру», а набрать наибольшее количество очков.

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

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

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

Взаимодействие соотношений

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

Мы только что рассмотрели пример из игр Mario, с жизнями и монетами. Если у вас на уровне 200 монет, то тогда соотношение 100 монет к 1 жизни накладывается на соотношение 1 жизнь к 200 монетам на этом уровне и даёт эффект удвоения, конвертируя 1 жизнь в 2 жизни за один прогон.

Вот ещё пример из Baldur's Gate: Dark Alliance. Это ролевая игра в стиле «экшн», побеждая врагов вы получаете очки опыта, что в свою очередь повышает ваши шансы на новый уровень. Соотношение между очками опыта и уровнями трёхпараметрическое: чтобы подняться с 1 на 2 уровень, вы должны набрать 1000 очков, со 2 на 3 уровень — 2000 очков, с 3 на 4 — 3000 очков, и так далее.

Каждый раз, когда вы получаете новый уровень, вам даётся некоторое количество очков, которые вы тратите на дополнительные способности. Здесь тоже действует трёхпараметрическая прогрессия: на втором уровне вы получаете 1 очко улучшения, на третьем — 2 очка, следующий уровень даст вам 3 очка, а следующий за ним — 4, и так далее.

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

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

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

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

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

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

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

Представьте себе две ситуации.

Перебор уровней: Игрок перещёлкал множество уровней и теперь слишком силён для врагов, которых он встречает в той области игры, где сейчас находится. С одной стороны, он сможет быстрее победить всех врагов, которые находятся поблизости, поэтому ему не придётся задерживаться здесь надолго. Но с другой стороны, опыта за это он получит немного, раз уже набрал высокий уровень, победа над слабыми врагами вряд ли принесёт новые уровни. Максимальный уровень, которого может достичь игрок надёжно ограничен кривой набора опыта.

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

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

Как взаимодействуют отношения

Откуда вам знать, как два числовых соотношения будут действовать друг на друга? Вот краткое руководство:

  • Сочетаются два линейных соотношения: их надо умножить друг на друга. Если за 1 единицу ресурса А вы можете получить 2 единицы ресурса Б, а за одну единицу ресурса Б, вы можете получить 5 единиц ресурса В, тогда между А и В существует соотношение 1 к 10 (2х5).
  • Линейное соотношение сочетается с увеличивающимся соотношением (трёхпараметрическим или экспоненциальным): увеличивающееся соотношение просто умножается на большее число, но сама природа графика остаётся неизменной.
  • Линейное соотношение вступает в противодействие с увеличивающимся соотношением: если линейное преобразование велико, оно может возобладать вначале, но в конце концов, увеличивающееся соотношение его обгонит. Где именно встретятся два графика и игра переключится из одного режима в другой зависит от конкретных чисел, и подстраивая их вы можете дать своим игрокам интересный стратегический поворот.
  • Два увеличивающихся соотношения сочетаются: у вас получается увеличивающееся соотношение, которое растёт быстрее, чем любое из двух отдельно взятых.
  • Два увеличивающихся соотношения вступают в противодействие: всё зависит от конкретных соотношений. В целом, экспоненциальные соотношения рано или поздно возобладают над трёхпараметрическими (насколько быстро это произойдёт зависит от конкретных чисел). Два тождественных соотношения (например, два чисто трёхпараметрических) друг друга нейтрализуют до линейного или тождественного соотношения.

Если вы сейчас работаете над игрой

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

Используйте получившуюся диаграмму, чтобы определить представляющие интерес моменты в балансе вашей игры:

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

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

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

Домашнее задание

Вот вам задание по балансу на эту неделю. Для начала, выберите игру на одного игрока, в которую вы играли, и с которой знакомы, где есть механика продвижения. Примерами таких игр могут быть экшн-приключения (Zelda), экшн-RPG (Diablo), RPG (Final Fantasy) или MMORPG (World of Warcraft).

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

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

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

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

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

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

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

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

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

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

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

9 комментариев

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

6
Ответить

будут еще главы)

Ответить

А нет такой же статьи, но от бухгалтера или от юайщика?)

4
Ответить

Где картинки?

3
Ответить

Отличный материал, полезный. Немного пересмотрел работу над игровым балансом :)

1
Ответить

Комментарий недоступен

1
Ответить

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

Как игрок в ВоВ, скажу, что это абсолютно неверное утверждение. Но сути статьи, это, конечно, не меняет.

Ответить