Презумпция (не)компетентности

Нарраторика: лекция про нарративный дизайн

Задача про баланс

  • 01 декабря, 2014
  • 34 комментария

На прошедшем недавно DevNight в Москве я увидел игру, тактическую стратегию по второй мировой, которая напомнила мне про классическую задачку по балансировке.

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

Итак, задачка. Сначала обозначим исходные данные. У нас есть персонаж игрока, у которого сколько-то здоровья и урона в секунду по одной цели. Есть враги, у которых свои значения здоровья и урона по игроку в единицу времени. Также у нас есть влияние скилла (skill — умение, в данном случае умение играть в игру). Игрок, проявив свои умения, может уворачиваться от атаки противника, тем самым снижая урон от него, а если игрок будет мешкать, то у него упадет собственный урон.

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

Теперь переходим к проблеме. По ходу игры мы наверняка захотим увеличивать сложность стычек. Сначала один противник, потом два, потом три, и так далее. Но смотрите, что получается, когда противников несколько. Например, три штуки. В начале боя игроку наносится урон 3x , а в конце боя, когда остался один противник, урон будет 1x. То есть в начале боя ошибки игрока будут стоить ему в три раза дороже, чем в конце боя. Иными словами, сложность боя в начале выше, чем в конце.

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

balancing_multiple_enemies_2

Соответственно вопрос: как сбалансировать бой с несколькими противниками, чтобы сложность во время схватки нарастала, а не падала?

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

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

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

* Противники, сколько бы их ни было, нападают на игрока по очереди. Например, в Batman: Arkham Origins. Таким образом количество противников не увеличивает урон в секунду по игроку, но увеличивает общую сложность боя — при плохом скилле здоровья может не хватить до конца схватки.

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

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

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

Switch language:
Facebook