Идеальный организм — ИИ Чужого в Alien: Isolation

Модели поведения ксеноморфа.

Автор YouTube-канала AI and Games Томми Томпсон (Tommy Thompson) в блоге на сайте Gamasutra опубликовал расшифровку своего видео, в котором рассказал, как работает искусственный интеллект Чужого в хорроре Alien: Isolation.

Идеальный организм — ИИ Чужого в Alien: Isolation

Разработчики Alien: Isolation построили игру вокруг одной идеи — попытках выжить в столкновении с Чужим из оригинального фильма Ридли Скотта. С такой предпосылкой тяжело достичь баланса: с одной стороны, у проекта должна быть сильная история, которая двигала бы игрока вперёд, а с другой — вести пользователя надо так, чтобы уровень напряжения менялся в зависимости от геймплейных ситуаций.

Это непросто, когда имеешь дело с системным ИИ — сборником систем принятия решений, которые будут реагировать на то, что происходит в игре.

ИИ должен понимать, когда ему нужно вступать в дело, и какие именно действия от него требуются в той или иной ситуации

Чтобы реализовать всё вышесказанное, необходим уникальный дизайнерский подход.

Энди Брэй (Andy Bray), геймплейный программист из Creative Assembly, на конференции nucl.ai в 2016 году отмечал, что игрок не может всё время пребывать в состоянии страха. Напряжение должно варьироваться вручную, но при этом важно сохранять непредсказуемость ксеноморфа.

Разработчики искали вдохновения не только в хоррорах вроде «Чужого», но и в приключенческих фильмах, таких как «Парк Юрского периода». Результатом их изысканий стала так называемая философия «психопатической уверенности», которая позволяет ксеноморфу всегда оказываться в нужном месте в нужное время. Даже если вы прячетесь, а монстр не может вас найти и не знает о том, что вы собираетесь сделать, он всё равно найдёт способ помешать вашим планам.

Идеальный организм — ИИ Чужого в Alien: Isolation

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

Это идёт вразрез с теми принципами, которые приняты в мире ААА-игр, где игрок чувствует себя сильнее всех. Такой подход требовал пересмотра многих дизайнерских решений, которые использовались почти во всех играх по «Чужому» — начиная с Alien 3 и Alien: Trilogy и заканчивая Aliens: Colonial Marines.

Самым значимым отличием стало то, что ксеноморфа теперь нельзя убить. Его можно отвлечь или поранить, но избавиться от него совсем не выйдет. Это повлекло за собой смену ролей: игрок не может убить Чужого, зато тот способен уничтожить персонажа пользователя одним ударом.

Создание системы искусственного интеллекта Чужого

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

Идеальный организм — ИИ Чужого в Alien: Isolation

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

«Макро»-система периодически указывает ксеноморфу местонахождение игрока, направляет его. Несмотря на это, Чужой должен сам найти пользователя, ведь режиссёр не даёт ему точных координат. Так игрок может обмануть монстра и сбежать

Режиссёр

Он отвечает за управление так называемым «показателем угрозы», позволяющим системе определять, насколько сильное давление испытывает игрок. Нечто похожее было использовано в Left 4 Dead, где количество противников зависело от того, насколько успешно игроки продвигаются по уровню. В случае с Alien: Isolation речь идёт не об атаке на пользователя, а об увеличении её вероятности.

Идеальный организм — ИИ Чужого в Alien: Isolation

Система периодически повышает уровень угрозы и сообщает Чужому, куда тому двигаться. Когда ксеноморф неподалёку от игрока, на уровень угрозы влияют следующие факторы:

  • расстояние от пользователя до монстра;

  • находится ли пользователь в поле зрения Чужого;

  • находится ли Чужой близко к игроку на экране устройства отслеживания движения и может ли он при этом быстро добраться до пользователя.

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

Обычно, когда он достигает максимального значения, режиссёр «отзывает» ксеноморфа в другое место. Идея в том, чтобы время от времени напоминать игроку об опасности, но после давать время «отдышаться».

Всем этим процессом управляет Utility AI. Ранее эта система использовалась в BioShock: Infinite для Элизабет. В Alien: Isolation она диктует, куда двигаться Чужому и задаёт приоритеты для его действий. Последние отвечают за то, должен ли ксеноморф закончить то, что делает в данный момент, или сразу броситься в атаку.

Идеальный организм — ИИ Чужого в Alien: Isolation

Чужой «работает» в двух состояниях: активном и пассивном. В первом он исследует локации на предмет источника шума или иных событий, которые привлекли его внимание.

Ксеноморф переходит в пассивное состояние, как только уровень угрозы достигает пика. Тогда монстр залезает в вентиляцию

Чужой

Поведение ксеноморфа диктуется более чем сотней узлов «древа поведения». На его вершине находятся порядка 30 узлов, которые отвечают за то, какого типа поведения будет придерживаться монстр. Каждый из главных узлов имеет множество подсекций, отвечающих за конкретные действия.

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

Идеальный организм — ИИ Чужого в Alien: Isolation

Тем не менее, по словам Энди Брэя, в отдельных моментах кампании система открывает некоторые из моделей поведения Чужого, если этого не произошло ранее. Таким образом, интеллект ксеноморфа как бы «догоняет» прогресс игрока.

Получив задание от режиссёра, Чужой бросается исполнять его, опираясь на систему поиска пути и собственные «чувства». Монстр может слышать шаги игрока, выстрелы и даже звуки, издаваемые устройством отслеживания движения, если оно находится на расстоянии около полутора метров от него.

Кроме того, у ксеноморфа есть своего рода «глаза на затылке», которые позволяют ему видеть игрока, находящегося на небольшом расстоянии позади.

Наконец, у Чужого есть особый паттерн движения. Он не просто двигается к конкретной локации, но обшаривает комнаты в поисках добычи. Его привлекают определённые объекты окружения, как заранее заданные дизайнерами, так и выбранные игрой случайно.

Чужой гарантированно исследует все такие места в комнате, но не обязательно будет ходить от одного к другому по оптимальному и самому короткому маршруту. Приоритет отдаётся тем объектам, которые находятся в зоне видимости монстра

Временами ксеноморф возвращается к уже осмотренным местам — это создаёт иллюзию того, что чудовище проводит повторную проверку.

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

Как отмечает Брэй, на протяжении всей кампании, длящейся от 12 до 18 часов, игра не позволяет Чужому «жульничать». Всего два раза она «телепортирует» его в определённую локацию и лишь для того, чтобы монстр появился в катсценах.

123123
52 комментария

В Alien: Isolation я постоянно вызывал Чужого на локацию на которой обитали люди. Я стучал по стенам молотком, кидал шумелки, всячески привлекал внимание, а сам прятался в какую-нибудь щель и там сидел. Чужой вылезал, выносил всех с диким криком, погулял, а потом снова залезал в свою вентиляцию. Я же тихонько высовывался из укрытия и собирал вещи с бездыханных тел. Отличный план? Отличный! Еще и ачивку в конце игры дали за то, что прошел игру не убивая людей.

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

1. Служащий станции сделал два выстрела из револьвера. Одна пуля угодила в плечо, другая угодила в грудак. Чужой в бешенстве, из тела вытекает кислота и выходит пар, потолок и пол немного разъело.
2. Перед тем, как схватить человека, Чужой успел со всего маха рассечь ему горло рукой (бывает и хвостом), кровь хлынула, а сам человек был схвачен. Чужой начал сдавливать мощными руками череп, из висков и ушей полилась кровь заливая лицо. Человек пытается руками расцарапать Чужому голову, но он продолжает ломать ему череп.
3. Меньше чем через секунду второй рот Чужого насквозь проломит череп человека. Судя по внешнему виду он либо теряет сознание от болевого шока, либо помирает. За секунду до этого он страшно орал, но потом затих.
4. Чужой отпустил труп, бездыханное тело грохнулось на пол. Чужой упал от боли на одно колено, потом от неё же раскрыл рот, огляделся по сторонам в таком положении, встал и пошел искать меня, так как ранее я умудрился попасть ему на глаза перед переходом в фоторежим.

Одна из возможных ситуаций при стычки Чужого с группой людей: если он нападает на двух, то чаще всего еще живой человек начинает делать ноги, правда, ему это не поможет. Если компания из 3 и более человек, то Чужой не тратит столько времени на каждого человека, а старается свалить с ног или долбануть хвостом нескольких. Иногда у людей от шока включается ступор, ибо угрожать пистолетом Чужому и держать его на мушке — как минимум глупо.

Хочу отметить, что все вышеописанное произошло меньше за минуту, а сам процесс убийства длился не больше 5 секунд.

Нет, я не восхищаюсь жесткостью, расчлененкой и кровищей. Я лишний раз хотел бы подчеркнуть, как разработчики отлично подошли к игре по части мелочей. В большинстве проектов Чужой нападал на людей и хаотично долбил их руками, здесь же разработчики уделили внимание таким вещам, которые игрок просто не увидит за всё прохождение.

60

Лицо на первом скрине меня позабавило.

6

Может попытка создать более продвинутый ИИ и была предпринята, но все сводится к тому что скрипты прописанные у Чужого слишком примитивны, это просто обширный набор простых команд и скриптов. Пример: Ты убегаешь от Чужого, он следует за тобой, ты успеваешь забежать в маленькую комнатку ( 4х4 метра ), предположим что комната пустая ( Без вентиляции, мебели или чего либо еще ), но в ней все же находится шкаф куда вы и прячетесь. Чужой видел как ты заходил в комнату, заходит туда за тобой, но тебя он там не обнаруживает, он осматривает и ходит по комнате, а затем просто уходит, И НЕ СМОТРИТ В ЕДИНСТВЕННОЕ МЕСТО ГДЕ ТЫ МОГ СПРЯТАТЬСЯ!
Я проходил игру на высокой уровне сложности и обнаружил то что такие места как пустая ниша под столом или шкафчики являются непристанами крепостями, часто я просто садился под стол и уходил в туалет или кухню минут на 5 - 10
Я понимаю что это было сделано для некого баланса, у игрока должна быть возможность спрятаться от врагов, но не таким способом! Это абсурд когда вы хвастаетесь проработанным ИИ, но он даже неспособен заглянуть под стол или в шкаф. Идеальным выходом было бы случайная проверка таких мест Чужим, время от времени он бы просто открывал например шкафы которые находились относительно близко к игроку.

5

Это ОЧЕНЬ странно. Когда я прятался под столами - частенько он СВЕРХУ, как бы через стол заглядывал ко мне и убивал

7

Если я не ошибаюсь, то после выхода игры ИИ немного исправляли, т.к. многие игроки жаловались что он был слишком "сильным", потом он стал слишком легким, и его исправляли еще раз. Может быть Вы играли как раз в то время, когда он был легким. У меня в подобных ситуациях Чужой очень часто принюхивался к шкафчику, в котором я прятался, а под столом приходилось забиваться в дальний угол, если Чужой находился в этой же в комнате. И было такое не раз, что он меня находил под столом, если выбегать из комнаты, привлекать внимание Чужого шумом, а потом прятаться от него снова в этой комнате под этим столом.

6

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

2

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

1