Эта статья предназначена для тех, кто хочет осознанно сделать боёвку определённого уровня сложности. Основано на личном опыте и месяцах теоретического исследования. Возможно, статья будет дополняться. Перед чтением статьи советую запастись бумагой и ручкой, а так же,
обязательно(!), желанием к балансировке (1 штука) и временем (от часа, далее по желанию).
Введение
Для начала хотелось бы в общих чертах рассказать о том, как я вообще дошёл до такой жизни
Как-то раз, делая карту для варкрафта, я столкнулся с ситуацией, когда надо было точно сбалансировать волны врагов. (я делал дота-подобную карту). Немного помучившись, я понял, что здесь нужна теория перед практикой. Залез в файл справки, и там, на моё счастье, оказалась статья про баланс групп, где была математическая формула для просчёта, так скажем, времени взаимоуничтожения двух групп. Немного поигравшись с типами атаки, я добился, что две волны, идущие навстречу друг другу, уничтожали друг друга полностью. Без шуток, были ситуации, когда оставшиеся в живых стрелки одновременно убивали друг друга, и от атакующих групп ничего не оставалось. Тогда я познал теорию
математического баланса.
Намного позже, играя в Dark Souls, я увидел совершенно другую систему баланса, хотя и основанную на том же математическом просчёте DPS (Damage Per Second - Урон В Секунду) врагов и персонажа. Если в варкрафте ставка делалась на Урон минус Защита у персонажей и мобов, то здесь ставка делалась на пряморукость самого игрока. Так я познал теорию
"человеческого фактора". Потом я увидел
Titan Souls, кстати, сделанную на RPG Maker, где использовалась та же система, доведённая до кристальной чистоты.
Однако, есть игры, бои в которых не имеют понятия УВС. В пошаговых играх используется математическая теория, отделённая от времени, и так же требующая отдельного рассмотрения. Основана она на балансе урона и здоровья, и в особо проработанных случаях учитывающая доступные игроку ресурсы. Назовём это теорией
глобального баланса
Типы баланса
С давних времён, когда мастер Кармак создал всем известный шедевр, понятие баланса существует в игровом мире. В шутерах, рпг, стратегиях и везде, где геймплей предусматривает бои, весь баланс основан на таком понятии, как DPS, или на русском УВС. Он обозначает урон, наносимый в секунду. В ближнем ли бою, в дальнем ли, это понятие обозначает одно и тоже.
Однако, не смотря на такую общую для всех основу, баланс в разных жанрах и играх отличается.
1. В стратегиях, coop-играх и некоторых рпг используется групповой тип, когда высчитывается общий DPS для каждой группы, и высчитывается разность. Чем разность меньше, тем лучше баланс. Здесь тем сложнее высчитывать баланс, чем больше типов атаки и защиты. На примере варкрафта: идеальный баланс может разрушить типа атаки "Сила Тьмы", потому что она бьёт почти одинаково сквозь все типы защиты, давая серьёзное преимущество в бою.
2. В шутерах и некоторых рпг обычно используется тип "Рэмбо", один против толпы. Здесь УВС игрока высчитывается так, что бы он был примерно равен УВС группы противников. Обычно здесь так же учитывается расстояние, на котором начинается стрельба. Чем меньше расстояние и лучше баланс, тем сложнее придётся игроку. Так, на примере игры Serious Sam, в маленьких комнатах пространствах у игрока меньше шансов на выживание против группы противников, чем на открытой местности, особенно на высоких уровнях сложности.
3. В файтингах и некоторых рпг используется дуэльный тип баланса. В этом случае УВС противников должны быть равны, что бы победа кого-либо из них была зависима от умения игроков. Однако, в дуэльном типе балланса есть особенность, которая делает её более трудно осуществляемой, нежели другие типы баланса.
4. В пошаговых же играх может использоваться любой из вышеописанных типов, хотя чаще всего используется групповой тип. За маленьким отличием: понятия DPS там нет, за отсутствием реального времени в боях. В этом случае для балансировки сложности необходимо особо учитывать логику битвы, доступность и количество ресурсов (маны, здоровья, очков хода, лечилок, и тому подобного).
Математическая теория
Во введении я упомянул три теории баланса - математическую теорию, теорию человеческого фактора и теорию глобального баланса.
Математическая теория больше подходит под первый и второй тип баланса, частично распространяясь на третий. Третий же тип баланса, дуэльный, имеет некоторые различия, нуждающиеся в отдельном рассмотрении. Четвёртый тип баланса представляет собой урезанную математическую теорию, однако имеющий при этом свои тонкости.
Но для начала поподробнее разберём Математическую Теорию Баланса. Она строиться на понятии DPS (УВС). Теория звучит так:
Если урон в секунду двух групп равен, то победа одной группы над другой зависит от сторонних факторов, не поддающихся математическому просчёту.
Закон
Для создания стратегически и тактически зависимых побед необходимо различие в УВС не более 30%
Доказательство (на пальцах
):
Допустим, у есть две враждующих группы по три боевых единицы. Для идеализации возьмём, что у них одинаковый тип атаки (физический), есть по одному лучнику и по два мечника, все с физическим типом защиты. Это позволит нам избежать дополнительных просчётов.
Лучник |
Защита | 1 |
Атака | 12 |
Здоровье | 10 |
Мечник |
Защита | 5 |
Атака | 10 |
Здоровье | 14 |
Таким образом УВС у них будет одинаковый. Допустим, каждая боевая единица наносит один удар в секунду, выдавая урон минус защита оппонента, и каждый мечник бьётся с другим мечником из вражеской команды, при этом лучники стоят слишком далеко, что бы достать друг до друга, но могут помогать убивать одного из мучников. В этом случае один мечник убьёт другого за 14/(10-5)~3 секунды, с помощью лучника 14/((10-5)+(12-5))~2 секунды.
Учитывая, что стрела летит какое-то время, можем смело прибавить, допустим, треть секунды. Оставшиеся лучники убьют друг друга за 1 секунду. И так выходит, что бой продлиться ~6 секунд, в результате которого обе группы будут взаимо уничтожены.
Теперь возьмём, и одной из групп (Группе Б) повысим УВС на 30%: 10*2+12=32 => 32*0,3~10 => 32+10=42.
Допустим, что первый удар у всех прошёл одновременно. У группы А УВС с учётом защиты оппонентов будет равен 22-ум единицам, у группы Б же УВС с той же защитой будет равен 31-му. Мечник Б и мечник А одновременно бьют друг друга, мечник Б убьёт мечника А за 14/(13-5)~2 секунды, с помощью лучика - за одну секунду. Таким образом на 30% разницы создалась ситуация, когда группа Б получила силовое преимущество и уничтожила группу А с минимальными потерями. На конец боя должен остаться раненный лучник Б.
Домашнее задание: просчитать варианты боя, использую идеализированную ситуацию, когда бой начинается синхронно, но при этом группа Б имеет 15% либо 50% преимущество над группой А.
Конечно, идеализированная ситуация не описывает всех прелестей боя в игре. Допустим, вышеописанная модель не учитывает тактическое преимущество и преимущество в количестве, а не в качестве. Однако математический эксперимент позволяет понять СУТЬ баланса, его кристаллизованное и очищенное от примесей лицо, позволяя перейти к теории "Человеческого фактора".
Теория человеческого фактора
Для начала должен сказать, что человеческий фактор есть во всех играх. Теория выше типична для начинающих игроделов, и если ею пользоваться вы можете испортить баланс, сделав его слишком лёгким, либо слишком тяжёлым. В примере с группами А и Б такое упрощение, без учёта местности, скорости движения и дальности полёта стрелы могло бы создавать ситуации, когда засада из трёх лучников держала бы стратегическую точку в течении очень долгого времени, пока противник не послал бы превосходящие силы или не создал бы отряд с лучниками; либо когда отряд лучников был бы наголо разбит меньшим отрядом мечников.
Теория человеческого фактора усложняет как формулу подсчёта, так и вписывает в само планирование игровых ситуаций огромное количество факторов, не поддающихся или трудно поддающихся математическому анализу.
Разберём теорию на примере игры Titan Souls.
Геймплейно игра - само совершенство человеческого фактора: она построена на внимании и реакции игрока. В игре есть куча боссов, у которых есть тактика, набор атак и ОДНО слабое место, в которое надо попасть ОДИН раз. У игрока есть ОДНА стрела, которую можно притягивать после выстрела, таким образом возвращая её себе. На этой базе создано много игровых загадок, некоторые из них похожи на другие, а некоторые заставляют ломать мозг по полчаса. При том, что боссам достаточно аналогично одного удара, что бы прикончить главного героя, отправляя его на спаун.
Что мы здесь видим? Нет ни здоровья, ни защиты, смерть мгновенна и победа зависит лишь от тактики. Это и есть кристаллизованная теория человеческого фактора.
Есть босс (слизень), которого надо просто расстреливать, деля его на более мелких противников, добираясь до слабого места у "основного" куска слизи. А есть босс, который открывает свою точку при ранении в определённой ситуации.
В примере под спойлером описаны две ситуации из Titan Souls, ярко показывающие геймплейное решение на основе человеческого фактора. В игре Serious Sam, использующей в основном математическую теорию для балансировки, тоже встречаются решения на основе тчф. К примеру:
- Прыжковая комната. Игрок и враги постоянно пружинит от пола, делая точный выстрел трудно осуществимым. Вступает в дело пространственное мышление и внимание.
- Труба с поверхностной гравитацией. Игрок и враги движутся перпендикулярно поверхности трубы. Выстрел легко осуществим, однако невозможно отстреливать врагов кучно и приходиться подбирать оружие.
Так же человеческий фактор косвенно влияет и на чисто математический подход к балансу. В этом случае можно говорить о скорости мышления и наличии стратегического мышления.
Теперь, когда мы выяснили, что такое теория человеческого фактора, давайте подумаем, как регулировать сложность в таких играх. С математической теорией всё понятно - просто увеличиваем УВС у врагов. Однако в случае человеческого фактора такой приём не всегда будет целесообразен, хоть и универсален. В этом случае давайте обратим внимание к игре Dark Souls, или, что ещё лучше, Demon Souls.
В этих играх так же торжествует баланс человеческого фактора, однако не в таком чистом виде, как в Titan Souls. В них есть такие понятия, как здоровье, типы атак, типы защиты, и главное, что отличает эту серию игр, это такие понятия, как:
- окно
- парирование
- бэкстаб
- боль
- уворот
Разберём же эти новые понятия, что бы чуть лучше понять суть теории человеческого фактора.
Окно - временной промежуток в анимации действия, в котором возможно противодействие либо прерывание. К примеру в анимации атаки есть окно, когда возможно парирование и уклонение. А в анимации уклонения есть окно, когда игрок неуязвим к горизонтальным атакам.
Парирование - приём, позволяющий прервать атаку противника и лишить его возможности действовать в течении короткого времени.
Бэкстаб - удар сзади, буквально. Критический удар в спину, наносящий огромный урон и лишающий противника дееспособности на несколько секунд.
Боль - короткий промежуток времени после получения урона, когда прерываются анимации атаки и уворота, имитирует болевой шок.
Уворот - перекат в сторону, позволяющий избежать горизонтального или точечного урона.
Домашнее задание: придумать геймплейные задачки на выше описанных понятиях.
Таким образом мы видим, что появляется поле для создания тактического разнообразия. При этом, даже если противник гораздо сильнее, его можно победить, выучив его атаки и умело от них уворачиваясь, что невозможно при чисто математическом подходе, когда победа достигается при помощи УВС и использовании заданного местного преимущества, к примеру, складок местности, укрытий или преимущества первого удара.
Исходя из вышеописанных приёмов, сделаем вывод, что регулировать сложность в играх с балансом человеческого фактора можно с помощью увеличения скорости анимации, заставляя игрока выжимать из своих реакций все соки. Подобный приём применён в битвах с боссами в играх серии Souls и в игре Titan Souls, к серии не относящейся, но доводящей приёмы человеческого фактора до идеала; чем сложнее босс, тем быстрее у него атаки и меньше окно между атаками, в которые можно подлечиться или подобраться к уязвимому месту противника.
Тонкости пошаговых боёв, или теория Глобального баланса
Пошаговые игры со своей лишённой времени балансировкой не вписываются в вышеописанные теории, основанные на боях в реальном времени. В этом случае должны быть совершенно другие приёмы для уравнивания шансов на выживание, и следовательно, на создание приемлемого уровня сложности.
Рассмотрим на примере мейкеровской боёвки.
У нас есть стандартная формула для расчёта урона: атака * 4 - защита противника * 2, действующая как на игрока, так и на противников.
Что мы можем извлечь из этой формулы? Давайте подумаем. Допустим, у нас есть персонаж, с атакой 64 и защитой 20, а так же противник с атакой 60 и защитой 25. Исходя из формулы, получаем, что чистая атака у персонажа будет
64*4-25*2=256-50=206
206 единиц урона, а у врага
60*4-20*2=240-40=200
200 единиц урона.
Как видим, разница в уроне маленькая, соответственно подключаем логику. Во-первых, у персонажа должно быть как минимум в два раза больше здоровья, чем у противника (если это один из первых боёв, либо локация насыщена противниками и у игрока может не оказаться возможности подлечиться после или во время боя). Во-вторых, необходимо предусмотреть лечение - бутылочки, целителя в партии, способности самого персонажа и так далее (делается это путём прибавления к урону или здоровью персонажа определённых величин). В-третьих надо так же учесть случайность, если вы оставили у способностей шанс срабатывания (делается, так же, прибавление к здоровью или урону процента или единиц от здоровья / атаки соответственно). Как учесть вероятность? Допустим, если у способности есть 5% шанс НЕ сработать, то делаем минус 5% от атаки за ход. Или если лечение работает с 80% вероятностью (в случае, когда лечение имеет разброс действия, к примеру), то убавляем от здоровья пациента 20%. Грубый приём? Согласен, однако мне, как ОЧЕНЬ плохому математику, этого хватит. В противном случае используем любой вид математического распределения вероятностей.
После боя герою надо восстановиться. В том же Dark Souls для этих целей есть фляги с Эстусом, которых даётся определённое количество от бонфайера (точка сохранения, у которой респаунится игрок) до смерти или до следующей точки. Однако на стандартной мейкеровской логике есть баночки с лечилками, которые действуют как в бою, так и вне его. Какие у них плюсы и минусы с точки зрения баланса? А, собственно, никаких, если не смотреть на контекст.
А контекст может быть любым. Допустим, бутылочки свободно покупаются у торговцев, если они есть в игре. Упрощение? Да. Однако можно либо внимательнее следить, сколько и за что получает игрок, либо сделать ассортимент продавцов ограниченным.
Не забываем про магию. Есть бутылочки с маной? Мана регенерируется? Есть ли у заклинаний шанс не сработать? Есть ли у заклинаний разброс урона? В зависимости от ответов на эти, и другие вопросы, добавляем или убавляем от урона или здоровья единички, либо смотрим на сторонние факторы. Лут в сундуках, свитки, помощь добытых сопартийцев, и так далее.
Подытожим написанное в разделе.
- Основная сложность пошаговых боёв заключается в тонкой настройке соотношения урона врага и здоровья игрока
- Чем меньше у игрока / партии здоровья + лечения (бутылок, зарядов лечебных заклинаний, шансов / процентов заблокировать урон итд), тем меньше у него шансов на выживание
- Чем меньше соотношение здоровья игрока / партии к урону противника тем сильнее нужно лечение
- Чем больше в игре врагов, тем больше в игре должно быть лечения
- Побочная сложность заключается в умении вовремя вылечиться
- Побочная сложность заключается в тайниках и не очевидных квестах
- Ещё одна побочная сложность - наличие в игре ловушек, которых трудно или невозможно избежать. Из-за них в последующем игроку может не хватить лечения, и придётся выезжать на везении, что сократит желание играть.
Послесловие
Итак, я пока написал всё, что хотел. В будущем, возможно, я допишу эту статью, если мои исследования продвинуться дальше, или я найду более подходящие примеры для описания своих теорий по балансу в видео играх.
А пока, вопросы на засыпку:
какие вы можете привести примеры математического баланса?
какие вы можете привести примеры баланса человеческого фактора?
какие вы можете привести примеры глобального баланса?
как можно комбинировать эти два-три типа баланса?
какую технику вы могли бы придумать, использую идеальную модель той или иной теории?
Успехов в игростроении!