Секреты идеального баланса: колонка геймдизайнера компании Pixonic
Секреты идеального баланса: колонка геймдизайнера компании Pixonic
44

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

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

Или взять, например, баланс Овервотч. 20 героев, у которых каждая способность уникальна. И оружие. И тактика игры. Аппроксимировать, конечно, можно, но числовой результат будет далёк от балансного. Если балансер не гений-гений или не подтасовывает.

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

Или я не прав?

7

Абсолютно правы. А статью внимательно и до конца прочитали?)

1

Абсолютно согласен. Матмодель для стартового баланса и куча плейтестов с аналитикой для корректировки. Да и eDPS не панацея.

1

Фух, зря напугали неподготовленных читателей, математика элементарная, формул и спец.терминов не замечено! Или это еДПС и АоЕ страшат?

4

В целом солидарен, хотя некоторые читатели отмечали головную боль от формул после прочтения. Forewarned, forearmed.

1

Было бы интересно услышать, кто как балансирует юнитов учитывая урон вместе с ХП? (именно в плане голой математики, без подкручивания после тестов)
Казалось бы, юнит1 (ХП:100 ДПС:10) равен по силе юниту2 (ХП:50 ДПС:20) поскольку обоим нужно по 5 "ударов", чтобы уничтожить друг друга. Тогда в балансе боев один на один можно использовать число ХП*ДПС
Но как только юнитов в бою больше 2ух вылазят проблемы, например: юнит с ДПС=0 перестает быть бесполезным (тем, что может забирать на себя часть урона).

1

В общем случае действительно обычно считают некую "мощность", которая определяется, как HP x DPS.

В вашем конкретном случае (бою 2 vs 1, где один юнит на перевешивающей количественно стороне просто исполняет роль танка), например, можно юнита с DPS = 0 не считать отдельной сущностью вовсе. Все, что он делает, это является щитом для юнита-союзника. Тогда можно просто учесть его в "мощности" юнита-союзника по формуле DPS * (HP1 + HP2).

Это как вариант. Я думаю, что без "подкручивания после тестов" не обойтись никак, только если у вас действительно не игра 1х1 с прозрачной математической моделью нанесения урона и простыми критериями победы. Поэтому все, что в наших силах — это прикинуть. Можно, в принципе, и на глаз (хоть формально это будет и ненаучно), если понимание игры в целом очень хорошее — т.е. зайти с позиции игрока. А можно попробовать аппроксимациями — в зависимости от конкретной игры, ее особенностей и кейса.

2

Отличные вопросы! Присоединяюсь и жду автора.

Полезный материал, пишите еще!)
Интересно как вы рассчитываете баланс развития игрока. А именно, как смягчаете проблему "средней температуры по больнице", когда развитие рассчитано на среднестатистического игрока, но хардорщики проходят путь в ТОП в несколько раз быстрее прогнозов, а казуалы медленне.

1

Недавно общался с одним видным дизайнером, который вел разработку The Witcher 3. Он высказал мнение, с которым я в целом согласен — что игра изначально должна дизайниться под казуального игрока, чтоб он уж точно "смог" и ему хватило всего — и условий, и контента.

Если казуал выест 30% игры, то хардкорщик легко проглотит 100% и потребует добавки. И хотя он говорил с позиции дизайнера синглового проекта, основная идея здесь, на мой взгляд, такая же. Игра должна быть посильной для казуала, но не должна иметь жестких абузов для хардкорщика — т.е. или не иметь в целом, или контролировать их.

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

Хотелось бы дополнить про плюсы такого подхода:

1) Простые математические модели позволяют отслеживать не только сбалансированность оружия, но и его разнообразие. Иначе есть риск получить ситуацию, когда пушек много, а разницы между ними нет. Куда круче, когда разница не только есть, но ещё и прямым образом влияет на геймплей. Например, приведенный вариант с дистанцией атак в одном случае будет форсить сближение с целью, а в другом случае - сохранение дистанции.

2) Уже на таком уровне можно проверять модель на прочность. Например, в случае с пушкой C возможны случаи, когда игрок наносит урон противникам, а они не могут нанести ему урон из-за расстояния. Возможность безнаказанно наносить урон - мечта любого игрока. Конечно, все может свестись к тому, что все будут бегать с пушкой С и система самосбалансируется, но пропадет разнообразие. Значит, нужны будут механики, которые нивелируют преимущество расстояния: преграды на уровнях, абилки быстрого сокращения дистанции, медленный задний ход, чтобы нельзя было долго сохранять дистанцию).

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

1

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

Осталось забацать статью про то как на коленке проектировать мету и сгрупировать в Gamedesigner Start Guide. Возможно, будет полезно для свежей крови и тем, кому не удавалось на практике пощупать подобные проекты.
Найдете силы, пишите, у вас получается просто о сложном ;)

1

Возможно, я ошибаюсь, но не вкралась ли в текст опечатка? Почти в самом конце, где пересчитывается дистанционная эффективность оружия А (именно оно обладает АоЕ-уроном). В паре предложений оно перепутано с оружием С.

Да, вы правы, спасибо.

Артур, как дела со второй частью статьи?

Мне, к сожалению, не приходят уведомления о новых комментариях, т.к. постил материал не я со своего аккаунта, а редакция. Но по поводу вашего вопроса - как раз недавно опубликовали немного моих мыслей на тему: https://pixonic.com/ru/posts/332

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

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

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

Или вот еще пример: оружие, которое по чуть-чуть поражает много целей. Если в игре часто бывают свалки, в которые можно палить из такого оружия, то формально оно имеет смысл, а по факту игрок не будет счастлив. Реально он редко получит фраг. Разве что можно задобрить его детально проработанной системой наград, которая отметит именно факт нанесения большого урона, пусть и без убийств.

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

Примеры в вакууме неплохие, но все сильно зависит от дизайна. Под ваш второй пример хорошо подходит Winston из Overwatch (хотя мы уже уходим от игры, где есть только оружие, игрок и Deathmatch, ведь в Overwatch есть и абилки, и обджективы на карте).

Вы даже не представляете, насколько забавен ваш комментарий)))

Дело в том, что приведённые вами примеры "плохого" оружия существуют в игре, на примере которой Артур рассматривает логику баланса. И, надо сказать, эти пушки отлично работают!

Например, "оружие с большой дистанцией стрельбы и уроном, но и с большим временем перезарядки" называется Trebuchet – заряжается полностью аж 20 секунд, зато уж если долбанёт – то половину хп у мелкого робота сносит напрочь.. Для "торопыг" – можно выстрелить не через 20, а через 3 секунды, но урон будет значительно меньше.

Второй ваш пример "оружие, которое по чуть-чуть поражает много целей" тоже существует! Называется Noricum – это типа многоствольной миномётной установки штука. Делает как раз то, что вы описали, да ещё и ограничение на расстояние стоит – ближе 400 метров оно не стреляет.. Если следовать вашей логике – игроки должны были уже весь саппорт Пиксоникам вынести на тему того, какое это плохое оружие... Однако..

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

Так что, соглашусь с Евгением Гатсаловым – вы, мягко говоря, совсем не правы..

Колоссальное количество примеров с низким RoF&high burst dmg (даже) в PvP играх говорит о том, что вы мягко говоря не совсем правы.

"Поэтому все, что в наших силах — это прикинуть." - в принципе, этой фразой можно было бы и ограничиться))