Идеальная симуляция поведения NPC — не главная задача: почему реакции ИИ имеют фундаментальное значение Статьи редакции
Создание увлекательной системы важнее реализма.
Ведущий ИИ-инженер Hangar 13 Серджио Оцио Барриалес на сайте Gamasutra опубликовал текст, в котором рассказал о важности реакций NPC на действия игроков — именно этот аспект имеет фундаментальное значение для пользовательского опыта. Мы выбрали из текста главное.
Основная цель разработчиков игр — создать увлекательный и приятный игровой опыт. Это значит, что построение идеальной симуляции поведения NPC — не главная задача.
ИИ в играх работает примерно по такому сценарию: ИИ-агент получает стимул, после чего информация об этом попадает в систему принятия решений, которая выбирает, как реагировать. Существует множество методов контроля принятия решений и обработки реакций. Вот некоторые из них.
- Конечные автоматы (Finite-State Machines, FSMs) или их иерархические версии (Hierarchical Finite-State Machines, HFSMs) обрабатывают реакции NPC как переходы между состояниями. Трудности с этим подходом начинаются в тот момент, когда реакций становится очень много — из-за этого бывает трудно контролировать число переходов.
- Деревья поведения (Behavior Trees, BTs) — это в некотором смысле эволюция HFSMs: они могут обрабатывать реакции несколькими различными способами. Этот подход позволяет приоритезировать обработку внешних стимулов, а также вводить новые модели поведения в определённые точки дерева.
- Автоматизированные планировщики, такие как GOAP (Goal-Oriented Action Planning) или HTNs (Hierarchical task network), могут потребовать частичного или полного перепланирования. Эти подходы лучше масштабируются, но их реакции могут быть менее управляемыми — решение алгоритма зависит от текущего состояния мира и цели NPC. Поэтому реакция на одно и то же событие в разных условиях может отличаться.
Реакции NPC используются для того, чтобы игрок понимал, когда одно состояние сменяется на другое. Для этого применяются анимации, интерфейс, звуковые и визуальные эффекты.
Обеспечение корректной обратной связи для игрока — это одна из важнейших задач разработчиков ИИ. Другими словами, если игрок выполняет какое-то действие и ждёт реакции от искусственного интеллекта, результат должен соответствовать ожиданиям. Вторая по важности цель — создать реакции, соответствующие контексту. Агенты должны демонстрировать правдоподобное и адекватное поведение.
Третья цель заключается в том, чтобы реакции всегда были читабельными и последовательными. Пользователи должны привыкнуть к игровым системам и научиться распознавать разные состояния. Это особенно важно в стелс-играх, где NPC должны вести себя предсказуемо, чтобы пользователь мог спланировать свои действия.
В отношении ИИ часто можно услышать словосочетание «приостановка неверия». Это идея появилась ещё в 1817 благодаря британскому поэту Сэмюэлю Тейлору Кольриджу. Её можно описать, как «готовность читателей принять неправдоподобность истории, пока она достаточно правдоподобна, чтобы привлечь их внимание».
В видеоиграх можно описать приостановку неверия, как «готовность пользователя принять игровые правила и погрузиться в созданный мир». Чтобы поддержать эту иллюзию, разработчики должны быть последовательными и следовать определённым правилам. И реакции NPC имеют важное значение в этом.
Цели, описанные ранее, направлены на сохранение погружения игрока. Например, отсутствие реакции приводит к отсутствию обратной связи, поэтому у пользователя может нарушиться иллюзия.
Из-за ресурсных ограничений разработчики часто могут сделать лишь ограниченное количество самых важных реакций. Люди по своей природе очень хорошо распознают паттерны, поэтому важно, чтобы реакции NPC были разнообразными, но при этом в них сохранялась читаемость и последовательность. Вот несколько примеров реакций, с которыми могут возникнуть проблемы.
Допустим, в стелс-игре пользователь спрятался у колодца, но его заметил противник и крикнул: «Он у колодца!». Вероятно, если игрок сменит позицию, но останется у колодца, то противники при обнаружении будут произносить всё ту же фразу. В итоге это начнёт раздражать, а иллюзия начнёт рушиться. Чтобы избежать этого, у каждой фразы должен быть небольшой «кулдаун» — промежуток времени, в который реплика не может быть повторена. Вместо конкретных фраз можно использовать более общие: «Вон там» или «Я вижу его».
Другая проблема связана с групповыми реакциями. Если несколько NPC одновременно воспроизводят одну и ту же реакцию, то это нарушает погружение. Для решения этой проблемы можно изменять реакцию: например, один враг откроет огонь, а другой сменит позицию. Также для разнообразия можно использовать процедурные методы анимации или сделать тайминг запуска реакции рандомным, чтобы избежать одновременности действий.
Реакции на попадание воспроизводятся в результате прямого контакта или столкновения с каким-либо другим объектом, например, при ударе или попадании пули. Они предназначены для обеспечения немедленной обратной связи — благодаря им игрок понимает, что атака была успешной. Реакция обычно определяется сочетанием таких факторов, как сила и направление удара, а также место попадания, например, выстрел в голову или конечность.
Плохая реакция на попадание может легко сломать приостановку неверия. Например, если персонаж после серьёзной травмы быстро приходит в себя, то это может быть расценено, как неправдоподобное действие.
Система восприятия — это набор смоделированных органов чувств, которые позволяют ИИ-агентам обнаруживать изменения в окружающей среде. Большинство игр используют «зрение» в качестве основного способа сбора информации — ИИ анализирует свою область видимости, чтобы определить попадает ли игрок в него. «Слух» также широко используется — ИИ проверяет громкость шума и дальность от него.
Пребывание NPC в игре можно легко описать с помощью конечного автомата с ограниченным количеством состояний. Например, в типичной экшен-игре «жизнь» персонажа может быть описана четырьмя состояниями — «До боя», «Бой», «Поиск» и «Смерть». Конечно, эти состояния можно разбить на множество более мелких частей, но на самом высоком уровне это выглядит примерно так:
Так как эти состояния в целом определяют поведение противников, игрок должен чётко различать каждое из них. Пользователь должен получить обратную связь, если происходит переход из одного состояния в другое.
Вот несколько выводов.
- Сделайте так, чтобы противники могли переговариваться между собой. Это создаст ощущение хорошо проработанного интеллекта. Сценаристы могут помочь вам в этом.
- Используйте как можно больше вариаций анимации — это позволит избежать проблем с повторением.
- Рандомизируйте тайминги реакций — это сделает ИИ более реалистичным.
- Не нарушайте ожидания игроков, когда дело касается реакций — если пользователь ожидает ответа от игры, убедитесь, что он его получит.
Комментарий недоступен
Так эту мысль еще с 2000 года несут. Гейплей важнее всего. Бывает конечно симулятор подводной лодки, но их и делают для любителей этих фетишей.
ИИ в Mafia 3 оставляет желать лучше
Чувствую, что его мнение я читать не очень хочу
Да вроде ии вполне норм для такого типа геймплея. Там есть ряд странных багов, но в целом поведение противников как раз такое чтобы было интересно.
По сути в игре как раз и удались только экшон и катсцены. Оставь они в игре только это, был бы шедевр, который все регулярно вспоминали.
"Зачем вы убили Ульяма Таггарта?!!" (с, deus ex md) Когда одна истеричная NPC-девица накинулась с этим вопросом, то впечатлило.
Идеальная симуляция людей, находящихся в зоне аномалий, радиации, мутантов и вооружённых бандитов.
вот именно, 1 гайки кидает, остальные в след идут
Комментарий недоступен
Комментарий недоступен
Он наливает выпивку, или ты ожидаешь что то экстраординарное?
Комментарий недоступен
Добавят новых анимаций и звук, как бы и все.
Комментарий недоступен
На этой или на следующей неделе увидишь.
Все что не хватало сплитр селу это повествования метал гиер солид 1 с путешествием на какой нить спрятанной военной базе к цели с попутными босс файтами и эпичными катсценами.
Опять про ИИ с 3 скриптами. Когда уже нейросети завезут?