Хабрахабр

Курс Молодого Геймдизайнера: баланс прогрессии и динамики без математики

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

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

Бонусом в конце — несколько ссылок по теме.

Баланс, экономика и прогрессия

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

Не знаю, придумайте сами, это не так важно. Сколько должен стоить обычный меч с единицей урона? Главный вопрос — сколько тогда будет стоить меч с 2 урона? Я возьму 10 золота за меч с 1 урона. А с 5 урона? Наверное, 20 золота? Очевидно, 50.

Сначала вы могли задаваться вопросом: а какие правила нашей игры, как она работает? И да и нет. В зависимости от механик, меч с 5 урона может стоить и 50 и 150 золота.

Для игрока это значит, что с мечом, у которого 1 урона, ему понадобится 5 атак, чтобы убить врага. Представим, что у всех врагов 5 единиц жизней. И одна атака мечом с 5 урона. Если меч с 2 урона — 3 атаки, с 3 или 4 урона — 2 атаки.

И это очень важно — чем меньше время жизни врага, тем меньше урона он успеет нанести.

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

В результате получим некую кривую стоимости:

  • 1 урона — 10 золота;
  • 2 урона — 30 золота;
  • 3 или 4 урона — 60 золота;
  • 5 урона — 100 золота.

В этот момент надо снова подумать о механике. Как быстро враги наносят игроку урон?

Допустим, у нас RPG в реальном времени и очень мало врагов на экране — они подходят к игроку по одному, и умирают до того, как успеют нанести урон. Вот игрок купил меч с 5 урона, и каждый враг умирает с одной атаки. Это будет не весело, а такой меч слишком сильным, чтобы вообще существовать. В такой игре меч с 5 урона сделает игрока фактически бессмертным. Тогда и меч будет хорошим, и он не испортит удовольствие от игры (если оно изначально было). Но что если в каждый момент времени на экране будет 100 врагов, и даже если игрок убивает каждого с одного удара, он физически не сможет уворачиваться от остальных?

Чтобы у врагов росло количество HP с уровнями. Может быть мы хотим, чтобы наша RPG работала по-другому. И тогда можно оставить стоимость в 10 золота за каждую единицу урона, как мы изначально и собирались. Тогда, повышая урон меча, игрок не будет становиться сильнее, чем враги, он будет лишь оставаться на их уровне.

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

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

В шутерах у оружия обычно есть боезапас — количество выстрелов, которое можно сделать до необходимости перезарядиться. Пример из практики. Чем больше у тебя выстрелов, тем меньше требования к точности игрока, тем больше шансов убить цель, тем больше врагов можно убить за магазин. В большинстве классических шутеров, вроде Call of Duty, большой боезапас — это преимущество. Потому что, пока ты стреляешь в противника, он стреляет в ответ и ты теряешь HP. В War Robots и других шутерах, где одного магазина почти никогда не достаточно, чтобы убить цель, долгое время разрядки магазина перестает быть преимуществом. Преимущество имеют пушки с одним выстрелом в магазине — из них можно мгновенно нанести урон и спрятаться на время перезарядки от ответного огня.

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

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

Цена возможности

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

В них есть существа с некой силой, которая считается как: Многие знакомы с коллекционными карточными играми (ККИ) — Hearthstone или Magic: The Gathering.

(урон+HP) * 100%

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

  • 1 мана — 3 единицы силы, разделенные между уроном и HP;
  • 2 маны — 5 единиц;
  • 3 маны — 8 единиц;
  • и так далее.

Достаточно ли этого, чтобы назначит адекватную цену?

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

И за 10 маны вы призвали огромное существо — Колосса — у которого 15 урона и 15 жизней. Допустим, у вас 10 маны. Потратив всю свою ману за ход, вы лишаетесь возможности призвать кого-либо еще или использовать заклинание. Он убьет любого врага с одного удара, а один на один его убить никто не сможет. В этом случае одна единственная карта с заклинанием (которая, вероятно, дешевле, чем Колосс) в руке соперника может лишь вас всей боевой силы. Также у вас будет всего одно существо, которое уязвимо к заклинаниям мгновенной смерти.

Кроме того, если враг атакует несколькими существами, то ваш Колосс сможет блокировать только одного из них (если это MtG) или вообще никого (Hearthstone).


Блокирование урона в MtG

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

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

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

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

Баланс динамики игры

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

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

Например, 1 урон — это 10 золота. Когда мы говорили о цене мечей, то установили взаимосвязь одних свойств с другими. Соотношение 1 урона к 10 золота — правило. Урон и золото — это свойства. Чем больше свойство «урон», тем больше свойство «золото».

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

Меч с 1 урона стоил 10, меч с 2 урона уже 30 (10 + 20 золота за дополнительную единицу), меч с 3 урона — 60 золота (30 + 30 золота за доп. Вспомним меч, у которого стоимость каждого следующего урона росла. единицу) и так далее.

Цепи обратной связи описывают динамику игры. Когда какое-либо свойство в игре влияет на правило, это называется цепью обратной связи. Их есть два вида:

  1. Цепи позитивной обратной связи.
  2. Цепи негативной обратной связи.

Позитивная обратная связь нужна чтобы «разгонять» игру. Негативная — чтобы «замедлять», стабилизировать.

Например, у вас очень удачный матч и вы убиваете одного и того же противника раз за разом. Пример негативной обратной связи легко найти в МОВА-играх. Уменьшение награды — это цепь негативной обратной связи. И с каждой новой смертью он дает вам все меньше и меньше золота. Она не дает вам заработать слишком много золота на слабом враге и оторваться от него слишком далеко.

Там вы добываете минералы, за которые можете построить больше рабочих, чтобы добывать больше минералов, чтобы построить больше рабочих, чтобы… и так далее. Пример цепи положительной обратной связи возьмем из Starcraft.

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

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

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

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

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

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

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

В примере с футболом можно менять количество игроков не за каждое очко, а за каждые 2 или 5 голов. Вы можете выбирать, между какими элементами строить эти связи, изменять их силу или характер. Или менять не количество игроков на поле, а правила начисления очков — два очка за гол отстающей команде. Или привязать это не к счету, а ко времени, которое команда лидирует. Например, бонус за очки преимущества сделает очень напряженной игру за каждое четное очко, чего не добиться, строя правило вокруг одного или пяти очков. У каждого из этих изменений будут свои последствия. Даже если это мультиплеерная игра, на которую у вас (как у дизайнера) нет прямого влияния. Это позволит вам тонко настраивать динамику и косвенно режиссировать ход всей игры, помогать ей развиваться так, как вы задумали.

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

Заключение и ссылки

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

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

Если вам стало интересно и вы захотите подробнее разобраться в этих темах, то я советую начать здесь:

  • Лекции Яна Шрайбера по балансу. На русском и английском. В них детальнее обсуждаются темы, которые я затронул. Я даже позволил себе стащить несколько примеров. Также там есть вполне конкретные инструкции, как считать вещи.
  • Game Mechanics: Advanced game design — целая книга, посвященная цепям обратной связи. Материал не для новичков, но аналогов пока нет.
  • Блог Манжеты ГД.
Теги
Показать больше

Похожие статьи

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

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Кнопка «Наверх»
Закрыть