Модели поведения ксеноморфа.
Автор YouTube-канала AI and Games Томми Томпсон (Tommy Thompson) в блоге на сайте Gamasutra опубликовал расшифровку своего видео, в котором рассказал, как работает искусственный интеллект чужого в хорроре Alien: Isolation.
Разработчики Alien: Isolation построили игру вокруг одной идеи — попытках выжить в столкновении с чужим из оригинального фильма Ридли Скотта. С такой предпосылкой тяжело достичь баланса: с одной стороны, у проекта должна быть сильная история, которая двигала бы игрока вперёд, а с другой — вести пользователя надо так, чтобы уровень напряжения менялся в зависимости от геймплейных ситуаций.
Это непросто, когда имеешь дело с системным ИИ — сборником систем принятия решений, которые будут реагировать на то, что происходит в игре.
ИИ должен понимать, когда ему нужно вступать в дело, и какие именно действия от него требуются в той или иной ситуации
Чтобы реализовать всё вышесказанное, необходим уникальный дизайнерский подход.
Энди Брэй (Andy Bray), геймплейный программист из Creative Assembly, на конференции nucl.ai в 2016 году отмечал, что игрок не может всё время пребывать в состоянии страха. Напряжение должно варьироваться вручную, но при этом важно сохранять непредсказуемость ксеноморфа.
Разработчики искали вдохновения не только в хоррорах вроде «Чужого», но и в приключенческих фильмах, таких как «Парк Юрского периода». Результатом их изысканий стала так называемая философия «психопатической уверенности», которая позволяет ксеноморфу всегда оказываться в нужном месте в нужное время. Даже если вы прячетесь, а монстр не может вас найти и не знает о том, что вы собираетесь сделать, он всё равно найдёт способ помешать вашим планам.
При этом нельзя было сделать так, чтобы все действия чужого были заскриптованы. Запланированные скримеры уже не будут оказывать какого-то эффекта в последующие прохождения. Вместо этого, разработчики должны были заставить игрока почувствовать себя беспомощным. При этом он должен понимать, что хоть ксеноморф и умён, до человеческого уровня интеллекта ему далеко.
Это идёт вразрез с теми принципами, которые приняты в мире ААА-игр, где игрок чувствует себя сильнее всех. Такой подход требовал пересмотра многих дизайнерских решений, которые использовались почти во всех играх по «Чужому» — начиная с Alien 3 и Alien: Trilogy и заканчивая Aliens: Colonial Marines.
Самым значимым отличием стало то, что ксеноморфа теперь нельзя убить. Его можно отвлечь или поранить, но избавиться от него совсем не выйдет. Это повлекло за собой смену ролей: игрок не может убить чужого, зато тот способен уничтожить персонажа пользователя одним ударом.
Создание системы искусственного интеллекта чужого
Чтобы ксеноморф вёл себя как надо, Creative Assembly использовали проверенные техники создания ИИ. Чужой должен был выполнять свои функции и действовать именно так, как было задумано разработчиками.
Для этого игре потребовались две разные системы управления поведением: «макро» или «режиссёр» и «микро», отвечающая непосредственно за ксеноморфа. Первая наблюдает за действиями игрока и всегда знает, в какой точке уровня тот находится. Вторая, в свою очередь, ориентируется на собственные «чувства», чтобы выслеживать пользователя.
«Макро»-система периодически указывает ксеноморфу местонахождение игрока, направляет его. Несмотря на это, чужой должен сам найти пользователя, ведь режиссёр не даёт ему точных координат. Так игрок может обмануть монстра и сбежать
Режиссёр
Он отвечает за управление так называемым «показателем угрозы», позволяющим системе определять, насколько сильное давление испытывает игрок. Нечто похожее было использовано в Left 4 Dead, где количество противников зависело от того, насколько успешно игроки продвигаются по уровню. В случае с Alien: Isolation речь идёт не об атаке на пользователя, а об увеличении её вероятности.
Система периодически повышает уровень угрозы и сообщает чужому, куда тому двигаться. Когда ксеноморф неподалёку от игрока, на уровень угрозы влияют следующие факторы:
-
расстояние от пользователя до монстра;
-
находится ли пользователь в поле зрения чужого;
-
находится ли чужой близко к игроку на экране устройства отслеживания движения и может ли он при этом быстро добраться до пользователя.
Последний пункт особенно важен, ведь даже если устройство показывает, что ксеноморф находится поблизости, на деле он может быть в другой комнате. В таком случае, уровень угрозы не поднимается.
Обычно, когда он достигает максимального значения, режиссёр «отзывает» ксеноморфа в другое место. Идея в том, чтобы время от времени напоминать игроку об опасности, но после давать время «отдышаться».
Всем этим процессом управляет Utility AI. Ранее эта система использовалась в BioShock: Infinite для Элизабет. В Alien: Isolation она диктует, куда двигаться чужому и задаёт приоритеты для его действий. Последние отвечают за то, должен ли ксеноморф закончить то, что делает в данный момент, или сразу броситься в атаку.
Чужой «работает» в двух состояниях: активном и пассивном. В первом он исследует локации на предмет источника шума или иных событий, которые привлекли его внимание.
Ксеноморф переходит в пассивное состояние, как только уровень угрозы достигает пика. Тогда монстр залезает в вентиляцию
Чужой
Поведение ксеноморфа диктуется более чем сотней узлов «древа поведения». На его вершине находятся порядка 30 узлов, которые отвечают за то, какого типа поведения будет придерживаться монстр. Каждый из главных узлов имеет множество подсекций, отвечающих за конкретные действия.
В начале игры некоторые части древа закрыты. Система постепенно открывает их — это позволяет чужому «учиться» новым трюкам и всегда держать игрока в напряжении. Новые возможности открываются после определённых действий игрока. При этом ни одно из них не ведёт к смерти последнего, чтобы не давать ксеноморфу преимущество.
Тем не менее, по словам Энди Брэя, в отдельных моментах кампании система открывает некоторые из моделей поведения чужого, если этого не произошло ранее. Таким образом, интеллект ксеноморфа как бы «догоняет» прогресс игрока.
Получив задание от режиссёра, чужой бросается исполнять его, опираясь на систему поиска пути и собственные «чувства». Монстр может слышать шаги игрока, выстрелы и даже звуки, издаваемые устройством отслеживания движения, если оно находится на расстоянии около полутора метров от него.
Кроме того, у ксеноморфа есть своего рода «глаза на затылке», которые позволяют ему видеть игрока, находящегося на небольшом расстоянии позади.
Наконец, у чужого есть особый паттерн движения. Он не просто двигается к конкретной локации, но обшаривает комнаты в поисках добычи. Его привлекают определённые объекты окружения, как заранее заданные дизайнерами, так и выбранные игрой случайно.
Чужой гарантированно исследует все такие места в комнате, но не обязательно будет ходить от одного к другому по оптимальному и самому короткому маршруту. Приоритет отдаётся тем объектам, которые находятся в зоне видимости монстра
Временами ксеноморф возвращается к уже осмотренным местам — это создаёт иллюзию того, что чудовище проводит повторную проверку.
Места, по которым передвигается чужой, разделены на локации, которые он просто посетит в ходе поисков и те, которые будет изучать. Однако в игре есть места, куда ксеноморф никогда не заглядывает. Это позволяет избежать нечестных по отношению к игроку ситуаций.
Как отмечает Брэй, на протяжении всей кампании, длящейся от 12 до 18 часов, игра не позволяет чужому «жульничать». Всего два раза она «телепортирует» его в определённую локацию и лишь для того, чтобы монстр появился в катсценах.
Источник: DTF