{"id":4012,"url":"\/distributions\/4012\/click?bit=1&hash=5b9cad3f989520ad358a2237d28d1f12ecdc50cb8452456f27fcbce716b2c8f0","title":"\u041f\u043e\u044f\u0432\u0438\u043b\u0441\u044f \u0438\u043d\u0441\u0442\u0440\u0443\u043c\u0435\u043d\u0442 \u0434\u043b\u044f \u0441\u0442\u0435\u0441\u043d\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0445 \u0440\u0438\u0435\u043b\u0442\u043e\u0440\u043e\u0432","buttonText":"","imageUuid":"","isPaidAndBannersEnabled":false}

Идеальная симуляция поведения 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 в игре можно легко описать с помощью конечного автомата с ограниченным количеством состояний. Например, в типичной экшен-игре «жизнь» персонажа может быть описана четырьмя состояниями — «До боя», «Бой», «Поиск» и «Смерть». Конечно, эти состояния можно разбить на множество более мелких частей, но на самом высоком уровне это выглядит примерно так:

Схема перехода в разные состояния

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

Вот несколько выводов.

  • Сделайте так, чтобы противники могли переговариваться между собой. Это создаст ощущение хорошо проработанного интеллекта. Сценаристы могут помочь вам в этом.
  • Используйте как можно больше вариаций анимации — это позволит избежать проблем с повторением.
  • Рандомизируйте тайминги реакций — это сделает ИИ более реалистичным.
  • Не нарушайте ожидания игроков, когда дело касается реакций — если пользователь ожидает ответа от игры, убедитесь, что он его получит.
0
16 комментариев
Написать комментарий...
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Anthony

Так эту мысль еще с 2000 года несут. Гейплей важнее всего.   Бывает конечно симулятор подводной лодки, но их и делают для любителей этих фетишей.  

Ответить
Развернуть ветку
Евгений Павловский
Ведущий ИИ-инженер Hangar 13
ИИ в Mafia 3 оставляет желать лучше

Чувствую, что его мнение я читать не очень хочу

Ответить
Развернуть ветку
Boris Gavrikov

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

Ответить
Развернуть ветку
Станислав

"Зачем вы убили Ульяма Таггарта?!!" (с, deus ex md) Когда одна истеричная NPC-девица накинулась с этим вопросом, то впечатлило.

Ответить
Развернуть ветку
John Brain

Идеальная симуляция людей, находящихся в зоне аномалий, радиации, мутантов и вооружённых бандитов.

Ответить
Развернуть ветку
Anthony

вот именно, 1 гайки кидает, остальные в след идут

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Shoogo

Он наливает выпивку, или ты ожидаешь что то экстраординарное?

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Shoogo

Добавят новых анимаций и звук, как бы и все.

Ответить
Развернуть ветку
Аккаунт удален

Комментарий недоступен

Ответить
Развернуть ветку
Shoogo

На этой или на следующей неделе увидишь.

Ответить
Развернуть ветку
РичардS

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

Ответить
Развернуть ветку
Anthony

Опять про ИИ с 3 скриптами. Когда уже нейросети завезут?

Ответить
Развернуть ветку
Читать все 16 комментариев
null