С чего следует начинать работу над боевой системой, а также, какие формулы использовать, — рассказал Константин Сахнов, основатель инди-студии Vengeance Games и автор курса «Основы гейм-дизайна».

Одна из игр Vengeance Games

Константин Сахнов

Терминология

Для начала определимся с терминами.

Боевая система — игровая механика сравнения двух сущностей для определения победителя.

Самый простой способ что-то сравнить — сопоставить числа (в нашем случае — выраженные в числах параметры сущностей).

У кого число больше, тот и победил.

Давайте назовем это число мощью (или боевой мощью).

Мощь — единая величина, характеризующая силу сражающегося субъекта.

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

Например, разработчики MMORPG делают так, что при сражении двух персонажей победа более сильного героя не «гарантирована», а «более вероятна».

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

  • характеристики персонажа;
  • навыки игрока;
  • случайность.

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

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

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

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

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

Посчитать мощь из характеристик — наша основная задача в рамках этого материала.

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

Основная формула расчета боевой мощи

Обозначим мощь персонажа как P. Тогда условие большей вероятности победы игрока 1 над игроком 2 будет выглядеть так:

Формула 1

Это база. Те самые два простых числа, о которых мы с вами говорили в самом начале.

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

Так что давайте введем две новые характеристики:

  • H — эффективный запас здоровья персонажа
  • D — эффективный урон персонажа.

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

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

Формула 2

Простейшая модель

Рассмотрим случай сражения двух персонажей, игроки которых имеют равные навыки.

Тогда игрок 1 имеет H1, D1 > 0

Тогда игрок 2 имеет H2, D2 > 0

Побеждает тот, кто своим уроном первым доведет запас здоровья противника до нуля. То есть:

Формула 3

Т.к. все величины тут положительные, неравенство можно переписать, как:

Формула 4

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

Формула 5

Преобразование характеристик

Пора разобраться с эффективными характеристиками и прийти к чему-то более привычному.

Наша задача — определить список характеристик игрока и свести их все к базовым:

  • эффективному H;
  • эффективному D.

Для этого удобно использовать таблицы конвертации:

Таблица 1

Пусть у нас будет 4 производных характеристики:

  • сила;
  • ловкость;
  • интеллект;
  • выносливость.

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

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

Итак, вернемся к теме. Обратите внимание, я добавил в таблицу Crit и Dodge. Но эти параметры вовсе не участвуют в формуле мощи. Это значит, что мы также будем должны свести их к эффективным H и D.

Как посчитать, сколько должна давать каждая характеристика?

  1. Задать масштаб единиц: сколько HP и DMG будет давать 1 характеристика.
  2. Задать динамику боя N: сколько ходов, секунд, ударов и т.д. нужно для победы.

Чем больше N, тем более медленный получится бой.

Формула 6

Пусть N = 5, а масштаб характеристик – k1 = 2. Тогда берем характеристику, конвертирующуюся только в HP или DMG, в нашем случае это выносливость:

Формула 7

Базовое условие эквивалентности вклада всех характеристик в мощь:

Рисунок 1

Тогда сила суммарно может дать 2 единицы урона или 10 единиц запаса здоровья. Пусть сила дает 1,5 урона, тогда коэффициент при запасе здоровья будет:

Формула 8

Значит силу можно расписать как:

Формула 9

Тогда исходная таблица 1 будет выглядеть следующим образом:

Таблица 2

Аналогичным способом посчитаем остальные характеристики.

Теперь вернемся к Crit и Dodge. К примеру, Crit можно учесть как:

Формула 10

Где D0 — изначальный урон до учета крита, а CritFactor — коэффициент увеличения урона при крите. Обычно это х2.

***

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

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

Визуализация сражения, анимации и VFX — это тоже боевка, как и многое, многое другое.

Рисунок 2

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


Подписывайтесь на App2Top.ru в Telegram и во «ВКонтакте»

Есть новость? Поделитесь с нами, напишите на press@app2top.ru

Теги:

Комментарии

Оставлять комментарии могут только зарегистрированные пользователи.
×