Балансируем механику в играх

    imageВ индустрии игр пользователь, как правило, получает готовый продукт, но с тем условием, что состав «конфеты» всегда будет скрыт. Можно покрутить конфету в руках, чтобы услышать шелест обертки. Или положить на стол и получать эстетическое наслаждение от сочетания красочных узоров на конфете с цветом рядом стоящей чашки. Но чтобы пользователь ни делал с этой конфетой, у него не получится попробовать, возможно, не всегда сладкий, но зато реальный вкус начинки.

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

    Поговорим о балансе в играх. Например, мы захотели создать незатейливую RPGMMO-шечку «убийцу WoW», и у нас уже почти все готово, мы уже нафантазировали, какая в игре будет крутая механика боя и система умений. Дело осталось за малым – абстрактные мысли превратить в конкретные значения. Причем, каким-то образом, сочетание этих значений должно убедить пользователя в том, что фраза «баланс – говно» совершенно не может быть описательной характеристикой нашей механики. Посмею дать свою интерпретацию — «Как надо делать!».

    Воздействия


    Игровые взаимодействия, если сильно не вдаваться в детали, это совокупность параметров, которые изменяют свои значения под действием каких-либо явлений (сущностей). Если у одного объекта есть параметр «Урон», а у другого объекта параметр «Здоровье», то мы можем создать игровой процесс «Объект совершает атаку по другому объекту» и в результате параметр «Здоровье» изменяет свое значение на величину параметра «Урон».

    Таким образом, получается, что воздействие (в данном примере воздействие урона на здоровье) является причиной изменения параметров объекта. Для более глубокого понимания, попробуем классифицировать воздействия. Они бывают мгновенными или временными:

    • Мгновенное воздействие меняет значение параметра сразу и безвозвратно;
    • Временное воздействие лишь на время изменяет значение параметра, а по окончанию своего действия возвращает нормальное значение параметра;

    Наверняка данная статья привлекла в основном играющих людей и значит у вас на слуху такие термины как buff, debuff, dot, hot и т.п. В разных играх эти термины могут принимать иные названия (дары, проклятья), но суть остается одна – некая долговременная сущность, изменяющая параметры персонажей в течение своего времени действия.
    Обобщив сущности, назовем их эффектами.

    С помощью эффектов создаются взаимодействия между игровыми параметрами. Из взаимодействий формируется игровая механика. А механика контролирует игровой процесс.

    Эффект – это «контейнер» для воздействий. Внутри этого «контейнера» могут содержаться как мгновенные, так и временные воздействия:

    • Мгновенные воздействия вызываются периодически по таймеру (пример: наносить урон каждые n секунд);
    • Временные воздействия изменяют параметр в течение действия эффекта;

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

    Повышая время длительности или величину интенсивности, мы усиливаем эффект. Отсюда следует, что на интуитивном уровне (да и на практическом тоже) значимость эффекта может оставаться одинаковой, если одновременно изменять длительность и интенсивность в разных направлениях (например: повышать интенсивность и понижать длительность). Назовем эту аксиому «Правилом баланса №1».

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

    Состояния


    Существует отдельный вид эффектов – состояния.
    Если эффект меняет совокупность характеристик объекта и наделяет его новыми свойствами (пример: невидимость, неподвижность, оглушение и т.п.), то такой эффект называется состоянием. Интенсивность, как характеристика, отсутствует в эффектах состояния.

    Балансируем эффекты

    image
    В попытках найти соотношение между двумя характеристиками эффекта (интенсивность и длительность) такое, чтобы эффект считался «сбалансированным», мы можем прийти к бесконечному числу вариантов, удовлетворяющих правилу баланса №1. Для этого можно повышать один параметр (например: интенсивность) и уменьшать другой (например: длительность):

    • Замедлить цель на 50% в течение 5.0 секунд;
    • Замедлить цель на 60% в течение 4.0 секунд;
    • Замедлить цель на 70% в течение 3.0 секунд;
    • Замедлить цель на 80% в течение 2.0 секунд;

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

    А ведь таких соотношений интенсивности и длительности можно предложить бесконечно много.

    Сокращаем количество соотношений


    Можно проблему бесконечных вариантов решить, если разделить все эффекты на 2 типа:

    • Изменяемые только по длительности (интенсивность то ли отсутствует, то ли всегда постоянна);
    • Изменяемые только по интенсивности (длительность всегда постоянна);

    Теперь нам дозволено изменять только одну из характеристик эффекта, и, следовательно, мы условно можем найти шаблонные значения изменяемого параметра для всех эффектов.
    Что значит шаблонные значения? Представьте себе, что существует такое соотношение величины интенсивности у эффекта, что при равной длительности эффекты будут восприниматься игроками как равноценные. Сказка?

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

    Пример таблицы:
    image

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

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

    Для теоретического глобального баланса отсутствует разница, будет ли умение наносить урон в 600 единиц, оглушать на 4 секунды или же применять эффект, изменяющий атаку на 30% в течение n секунд, так как мы создали таблицу шаблонных значений и сделали предположение о равнозначности этих значений.

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

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

    Продолжение следует…
    • +11
    • 24,5k
    • 9
    Поделиться публикацией

    Комментарии 9

      0
      Понятно что скорее шутка этот демотиватор с пое. Но игра нацелена на ПВЕ, а не ПВП и понятие баланса в ПВЕ несколько другое. Ну и прелесть в множестве вариантов бесценна.
        0
        Если правильно подходить изначально, то эти различия решаются дополнительными внешними правилами, которые никак не затрагивают шаблоны. Кто бы спорил, множество — вариантов всегда бесценно, но только не в случае, когда надо принимать быстрые, правильные и точные решения.
          +2
          Быстрые, точные и правильные решения в бесконечной гриндилке? Не думаю.
        0
        В будущем игроки подскажут, какое воздействие оценено неверно с точки зрения баланса.


        OKAAAAY… Зачем тогда остальной текст?
          0
          Как это зачем? От игроков чаще всего поступают предложения в таком виде: «Меня нагибают этим умением — я ухожу из проекта!». А дальше уже идет процесс анализа, применения описанных правил. Текст наполнен идеями, которые помогут избежать точечных неверных исправлений.
          0
          По моим представлениям, правило баланса №0 — статистика имеет приоритет перед любыми правилами баланса. Надо наклепать ботов с разными навыками и заставить их рубиться друг с другом (или с типичными мобами) 1000 раз, и смотреть статистику побед. Подгонять параметры навыков под желаемую статистику побед. Тут конечно тоже куча тонкостей, но такая общая идея должна решать большинство проблем.
          Кстати, ДнДшные дайсы на КДПВ символизируют. Там ведь тоже всё негладко с балансом :)
            0
            Все верно, это другой способ, но, елки-зеленые, это невероятно затратно! )
            Но статистика — это уже пост-процесс, а нам ведь надо вначале создать систему, которую мы в состоянии контролировать. К тому же анализировать статистику — это вообще отдельные профессиональные навыки и порой сформированное мнение одного игрока играет более важную роль, чем огромные массивы данных, которые невозможно конвертировать в реальные осмысленные факты.
            +1
            Так как же всё-таки считать баланс?
            А то у Вас «на вскидку» эффекты замедления дают ущерб «пути», замедляемого персонажа в 2,5% / 1,6% / 0,9% и 0,4% соответственно, что не совсем равнозначно.

            Лично я предпочитаю сводить максимум возможных параметров игровых сущностей к «мощи» персонажа.
            В примере со здоровьем и уроном: в базовой модели мощь можно считать за произведение этих двух величин.
              0
              На эти вопросы я постараюсь дать ответы, когда закончу редактировать продолжение.
              О «мощи» как раз и пойдет речь. Все шаблонные значения эффектов должны получить одно значение мощи и нелинейно скалироваться в зависимости от мощи родителя-умения.

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

            Самое читаемое