Как Blizzard подходят к балансу своих RTS?

Проблема баланса в соревновательных стратегиях всегда была крайне популярной темой для обсуждения в комьюнити. Однако как компании вроде Blizzard добиваются баланса в своих детищах? Дэвид Фрид, бывший сотрудник компании, работавший над WC3 и Frozen Throne, решил подробно рассказать о том, что же нужно сделать, чтобы получить как можно более "честную" игру. Ну а мы подготовили для вас перевод этого материала.

Что значит "сбалансированно"?

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

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

Простой и слишком усложненный пример контры

Экономический фактор баланса

Баланс достигается путем подгонки определенных цифровых значений, чтобы контр-стратегии не давали игрокам слишком уж сильного бонуса. Давайте предположим, что у копейщиков есть 20% преимущество против кавалерии, так что в сражении 10 на 10 в живых должны остаться 2 копейщика. Это крайне серьезный плюс, особенно если учесть, что копейщики зачастую стоят дешевле кавалерии. Так что если один игрок отдал за копейщиков по 50 золотых, а второй заплатил по 100 за каждого кавалериста, то по итогам боя первый игрок получил еще и преимущество в 600 золота! Поэтому когда мы занимаемся балансом нам нужно следить сразу за несколькими аспектами геймплея.

Необходимые характеристики

Для каждого юнита вам, как минимум, нужно принимать во внимание следующие характеристики: жизни, урон, и какая-то особенность, дающая им преимущество против конкретных врагов(контра). Это может быть тип брони, как Warcraft III, пассивный бонус, описывающий против кого он будет сражаться лучше( "хорош против кавалерии +20% урона") и/или способность, определяющая его любимых врагов("Удар Копьем: Бонус к урону 300% против кавалерии").

Для начального тестирования я рекомендую использовал базовое значение для всех характеристик в 10, а потом повышать его по необходимости. Это позволит вам работать с небольшими цифрами и упростит балансировку. К тому же в зависимости от игры, которую вы хотите создать вам может понадобиться дальность перемещения юнитов, дальность атаки(для лучников и магов) и энергия для тех, кто использует способности и заклинания(хотя я бы предложил для начала сделать все "особые умения" одноразовыми).

Баланс этих значений

Изначально это игра "в угадайку", однако если речь идет о небольшом наборе юнитов, то вы достаточно быстро разберетесь в том, какие значения нужно изменить. К примеру, в тактической игре, где юниты двигаются по гексагональной(шестиугольной) сетке большая часть войск передвигается пешком, так что им можно дать одинаковое значение скорости. Кавалерия же может получить либо +1 к скорости, либо удвоенную дальность перемещения. Так что если Воин может пройти 2 гекса, то кавалерия должна пройти 4. Хотя по моим наблюдениям при тестировании лучше брать базовую скорость в 3, потому как это значения куда проще модифицировать для перемещения по "сложному" ландшафту. Кавалерии же лучше дать все ту же четверку, так как на гексагональном поле даже 1 единица движения — это огромный бонус.

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

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

Такая система позволила создать механику "Decimate", ставшую решением вопроса с "контр-стратегиями". Эта способность позволяет моментально убить 1 из 10 врагов еще до нанесения урона. Так что даже одинокий кавалерист гарантировано нанесет 4 единицы урона юнитам типа Guardian и Archer. Мне не особо нравилась идея армий, представленных одиночными персонажами на карте, однако нужно работать с тем что есть.

Ассиметричный баланс

В игре вроде Starcraft, где у вас есть несколько рас с различными, не эквивалентными друг другу, юнитами вы можете подойти к изначальному балансу так же как и в симметричной игре. Тем не менее нужно осознавать, что Марин стоит 50 минералов, имеет 40 здоровья, может атаковать как воздушные так и наземные цели, наносит 6 урона с дальностью в 4 и перезарядкой атаки в 0.8 секунд. В то же время статы Зерглинга и Зилота кардинально отличаются по всем параметрам и количество цифр может изначально немного пугать. Поэтому давайте попробуем поместить их в табличку.

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

Кроме этого нужно принимать во внимание стоимость каждого юнита по минералам. Один зилот стоит как два марина, так что вы получаете 80 здоровья и дальнобойную атаку на 8DPS, вместо 7.27 урона в секунду от зилка. Если говорить о зерглингах, то они настолько дешевы, что вы можете получить 60 здоровья и 12.5DPS вместо одного марика. Так что в конечном итоге все базовые юниты в игре кажутся достаточно сбалансированными.

Полевые испытания

В Blizzard у нас есть возможность создавать любое количество юнитов определенных типов и пускать их друг на друга в атаку. Таким образом мы можем воочию убедиться в том, насколько правильны были наши изначальные предположения относительно их силы. Если стравить 1 марина с 2 зерглингами, то последние победят. Однако если маринов будет 6, а зерглигнов 12, то победа окажется за маринами, потому что они будут убивать юниты еще до того, как те вступят в бой. К тому же вторая и третья линия маринов может наносить урон, в то время как вторая линия зерглигнов может только бестолково суетится за спинами своих собратьев, так что дальность стрельбы дает маринам огромное преимущество. Если вам нужна дополнительная информация о том, как эти юниты взаимодействуют друг с другом, то есть замечательная статья на эту тему.

Общий баланс

При балансе ассимитричной RTS вы всегда должны помнить, что вам нужно "создать контру к любому юниту". Так что если у одной из сторон есть осадные танки, то у остальных должна быть возможность как-то противостоять им. В Starcraft'e ответом на танки зачастую был воздух, хотя апгрейды скорости для юнитов ближнего боя тоже работают неплохо. Так что вам нужно пройтись по юнитам и улучшениям для каждой армии и найти способы устранить их слабости, в то же время сохраняя их уникальный стиль игры.

Тестирование баланса

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

На что нужно обратить внимание:

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

Хорошие ощущения

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

Эволюция баланса

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