Динамическое балансирование сложности игры

Динамическое балансирование сложности игры (англ. Dynamic game difficulty balancing, DGDB), также известное как динамическая корректировка сложности (англ. dynamic difficulty adjustment, DDA) или адаптивная сложность — это процесс автоматического изменения параметров, сценариев и поведения в видеоигре в реальном времени на основе способностей игрока с целью избежать его скуки (если игра слишком лёгкая) или разочарования (если игра слишком сложная). Цель динамического балансирования сложности — поддерживать интерес игрока от начала до конца, обеспечивая оптимальный уровень вызова[1].

Динамические элементы игры

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

  • Скорость врагов
  • Здоровье врагов
  • Частота появления врагов
  • Частота появления усилений
  • Сила игрока
  • Сила противников
  • Продолжительность игрового опыта

Подходы

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

Chris Crawford, 1982[1]

В литературе встречаются различные подходы к динамическому балансированию сложности игры. Во всех случаях необходимо явно или неявно измерять сложность, которую испытывает пользователь в данный момент. Это может выполняться с помощью эвристической функции, которую некоторые авторы называют «функцией вызова». Эта функция отображает текущее состояние игры в значение, определяющее, насколько игра кажется пользователю лёгкой или сложной в данный момент. Примеры используемых эвристик:

  • Доля успешных попаданий или выстрелов
  • Количество выигранных и проигранных предметов/юнитов
  • Очки жизни
  • Прогресс
  • Время, затраченное на выполнение задания

Это также может быть любая другая метрика, используемая для вычисления игрового счёта. Крис Кроуфорд отмечал: «Если бы я построил график набранных очков обычного игрока как функцию потраченного в игре времени, эта кривая должна была бы плавно и неуклонно идти вверх. Такие игры я называю обладающими положительным монотонным графиком». Игры без такой кривой кажутся либо «слишком сложными, либо слишком лёгкими», отмечал он[1].

Подход Ханике и Чапман[2] предполагает управление игровым окружением для облегчения или усложнения заданий. Например, если игра становится слишком сложной, игрок получает больше оружия, быстрее восстанавливает жизни или сталкивается с меньшим числом противников. Несмотря на эффективность, такой подход может создавать малореалистичные ситуации. Прямой подход комбинирует манипулирование параметрами с механизмами изменения поведения неигровых персонажей (контролируемых компьютером, обычно реализованных как интеллектуальные агенты). Такая корректировка должна быть осторожной, чтобы избежать эффекта «резиновой ленточки» — когда в гонках, например, автомобили соперников заметно ускоряются, отставая от игрока, и замедляются, обгоняя его, будто соединены с ним для поддержания равенства.

Традиционная реализация такого ИИ основана на поведенческих правилах, заданных во время разработки. Типичное правило для файтинга: «ударить, если противник в досягаемости; в ином случае — преследовать». Расширение этого метода — динамический скриптинг Спронка и соавторов[3][4], где каждому правилу сопоставляется вероятность выбора. Весовые коэффициенты динамически обновляются по ходу игры, в зависимости от умений противника, что позволяет ИИ подстраиваться под конкретного игрока: выбор правил приводит к созданию тактик, ни слишком сильных, ни слишком слабых для данного пользователя.

Андраде и соавторы[5] разделяют задачу DGB на две составляющие: компетентность (максимально эффективно учиться) и производительность (действовать настолько хорошо, насколько необходимо). Эта дихотомия, предложенная Ноамом Хомским[6] и хорошо изученная в лингвистике, решается посредством обучения с подкреплением (RL). Офлайн-обучение запускается заранее (агент играет сам с собой, с другими ИИ или людьми), затем онлайн-обучение обеспечивает дальнейшую подстройку под конкретного игрока. Касательно производительности цель состоит в выборе такой политики действий, чтобы поддерживать баланс — игрок и агент сохраняют схожий уровень успеха. Когда пользователю тяжело, агент выбирает всё менее оптимальные решения, пока их уровень не сравняется. Если пользователю слишком легко — действия агента становятся всё более эффективными, вплоть до оптимального уровня.

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

Другие работы в области DGB исходят из гипотезы, что взаимодействие игрока и противника, а не визуальные или жанровые особенности, формирует большую часть удовольствия от компьютерных игр[8]. В результате был предложен показатель для измерения реального времени «интересности» в играх охотник-жертва, валидированный с помощью человеческих оценок.

Дальнейшие исследования Яннакиса и Холлама[9] показали, что нейронные сети и нечёткие нейронные сети позволяют лучше предсказывать удовлетворённость игрока, чем вручную созданные алгоритмы — при условии корректной оценки степени вовлечённости и любопытства пользователя (по Малону[10]), а также анализа игровых параметров и физиологических сигналов, зафиксированных в ходе игры[11]. Такой метод конструирования пользовательских моделей (Entertainment Modeling) позволяет прогнозировать, какие варианты игры вызывают больше удовольствия у конкретных игроков, что реализуется с помощью машинного обучения на основании параметров игрового процесса[12], и/или статистического анализа физиологических сигналов[13]. Этот подход применим как к компьютерным[9], так и к физическим играм.

Ограничения и предостережения

Создание честной, но непредсказуемой игры чрезвычайно сложно[14]. Эндрю Роллингс и Эрнест Адамс приводят пример игры, в которой сложность каждого уровня подстраивалась на основании результатов игрока в нескольких предыдущих уровнях. Игроки это заметили и начали нарочно играть плохо перед трудными уровнями, чтобы облегчить прохождение. Авторы подчёркивают важность маскировки адаптации сложности, чтобы игроки не осознавали её наличие[15].

Применение в видеоиграх

Одним из ранних примеров балансировки сложности является Zanac, разработанная в 1986 году студией Compile. В игре реализован уникальный адаптивный искусственный интеллект, автоматически настраивающий уровень сложности по умениям игрока, частоте стрельбы и текущей обороноспособности судна. Ещё раньше, в 1975 году, аналогичные элементы появились в Gun Fight от Midway: проигравшему игроку на поле добавлялись новые объекты (например, кактус) для упрощения его положения.

В Archon компьютерный противник постепенно адаптируется, чтобы игрок мог его победить[16]. Дэниэл Бантен спроектировала M.U.L.E. и Global Conquest так, чтобы динамически балансировать геймплей между игроками: случайные события настраиваются так, что лидер не бывает удачлив, а отстающий — неудачлив[17].

В первом Crash Bandicoot и его сиквелах используется система Dynamic Difficulty Adjustment, которая замедляет препятствия, выдаёт дополнительные жизни и чекпоинты при частых поражениях игрока. По словам ведущего разработчика Джейсона Рубина, задача заключалась в «помощи слабым игрокам без изменения игры для сильных»[18].

В обеих сериях Insomniac Game — Spyro the Dragon и Ratchet and Clank — применяется динамическая сложность через систему Automatic Challenge Tuning (ACT). В ранних выпусках некоторые баги приводили к невозможности пройти игру на 100 %[19].

Видеоигра Flow (2006) стала популярным примером использования эффекта погружения в геймдизайне, реализованного изначально в Flash и позднее на PlayStation 3. Идея основана на магистерской диссертации одного из авторов.

В SiN Episodes (2006) реализована «Personal Challenge System», автоматически варьирующая количество и силу врагов в зависимости от успехов игрока, чтобы темпы прохождения для разных уровней навыка мало отличались[20].

В Resident Evil 4 (2005) используется система "Difficulty Scale", информация о которой содержалась только в официальном гиде. Эффективность игрока оценивается по десятибалльной шкале: в зависимости от смертей, критических ударов и т. д. настраивается сложность противников и их тактика. Значения шкалы частично перекрываются между уровнями сложности[21].

God Hand (2006) имеет индикатор, регулирующий интеллект и силу противников: он растёт при успешных действиях и уменьшается при ошибках, делится на четыре уровня (высший — "Level DIE"). При лёгком уровне индикатор фиксируется на уровне 2, при сложном — всегда на максимуме. Кроме того, вознаграждение за победу над врагами увеличивается на высоких значениях метра.

Left 4 Dead (2008) использует ИИ-технологию под названием "AI Director"[22]. Директор генерирует уникальный опыт для каждого прохождения, отслеживает успехи отдельных игроков и командную работу, регулирует количество зомби и ключевые встречи с боссами, а также темпы продвижения по уровню. Если стендстилл слишком долгий, игрокам навязывается новая волна мобов. Также система влияет на видео- и аудиосопровождение, создавая нужную атмосферу и чувство нарратива[23].[24]

В Madden NFL 09 внедрён механизм "Madden IQ" — игроки проходят тест на знание правил и навыки, итоговый балл влияет на сложность игры[25].[26]

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

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

В Fallout: New Vegas и Fallout 3 по мере роста уровня игрока появляются более сильные противники, новые враги и более мощные оружие, что позволяет удерживать сложность на постоянном уровне (может регулироваться через ползунок; в New Vegas изменения уже не сопровождаются бонусами).

Серия Mario Kart наделяет отстающих гонщиков специальными ускоряющими или замедляющими других игроков предметами. Получение предметов (и действия ИИ) зависит от позиции игрока: лидерам достаются слабые предметы, а отстающим — мощные, обеспечивая балансировку. Компьютерные соперники также подстраивают свою скорость, чтобы не сильно отставать или не слишком опережать игрока.

Предполагаемое использование для влияния на покупки игроков

В 2020 году групповой иск в Окружном суде США Северного округа Калифорнии был подан против Electronic Arts о применении технологии Dynamic Difficulty Adjustment в трёх франшизах EA SportsMadden NFL, FIFA и NHL (начиная с версий 2017 года). Истцы утверждали, что технология заставляет игроков чаще покупать лутбоксы (наборы игроков), поскольку даже персонажи с высокими параметрами якобы не демонстрируют их силу в полной мере.

В иске также отмечалось, что EA не раскрывает использование данной технологии, несмотря на многократные отрицания. Представители компании назвали обвинения «безосновательными» и «искажающими суть наших игр»[27].[28][29] В 2021 году истцы добровольно отозвали иск[30].

Примечания

Литература

  • Hunicke, Robin (2005). “The case for dynamic difficulty adjustment in games”. Proceedings of the 2005 ACM SIGCHI International Conference on Advances in computer entertainment technology [англ.]. New York: ACM. pp. 429—433. DOI:10.1145/1178477.1178573.
  • Byrne, Edward. Game Level Design : [англ.]. — Charles River Media, 2004. — P. 74. — ISBN 1-58450-369-6.
  • Chen, Jenova Flow in Games (англ.) (2006).

Ссылки

Категории