Деконструкция AI Чужого в Alien: Isolation

Искусственный Интеллект в Alien: Isolation считается довольно хорошим в играх. В свое время он путал немало игроков, заставляя их думать, что самообучаем. Под капотом у игры оказалось довольно много всего интересного, и в первую очередь это ИИ. Ветви поведения данного NPC хранят в себе более сотни нод, что довольно много. Касаясь самообучения Чужого, можно сказать, что это достигнуто путем перекрывания части веток древа поведения в начале игры и открытие этих самых веток при достижении некоторых условий игроком. Если игрок не выполнил условия, то в будущем будут чекпоинты, где он все равно откроет новые ветки поведения.

Деконструкция AI Чужого в Alien: Isolation

“Два мозга”

Копаясь внутри файлов древа поведения, я отыскал достаточно много интересных вещей. ИИ в игре делится на 2 “Мозга”. Это довольно похоже на систему ИИ в Left 4 Dead.

Первый это “Директор”. Он является управляющей системой для всех ИИ, будь то Чужой, Андроиды или Люди. “Директор” постоянно проверяет всю карту и хранит записи о состоянии и игрока и Чужого. Так как он хранит записи о состоянии игрока, то это значит, что он всегда знает точные координаты игрока и его состояние. Однако же, эти данные он никогда не передает второму “мозгу”. Из его функций можно выделить 2 системы. “Шкала угрозы” и “Система работ”.

Деконструкция AI Чужого в Alien: Isolation

“Шкала угрозы” означает постоянное нахождение около игрока. Она увеличивается с разной скоростью в зависимости от того, находится ли существо поблизости и слышит ли игрок его движение или видит его перед собой. Как только он достигнет порога, Чужой на некоторое время войдет в вентиляционные отверстия, известные как “Закулисье”. Во время этого режима он бродит по вентиляционным отверстиям и подготавливает засаду.

“Система работ” создана для определения задач для ИИ. Эта система отправляет набор данных ИИ, в который входят такие вещи как: какую задачу необходимо выполнить сейчас, где ее необходимо выполнить, а также приоритет определенных задач.

Из этого выделяется 2 состояния системы. “Сцена” и “Закулисье”.

“Сцена”

Это список задач, отправляемый “Директором” ИИ, в которых говорится о поиске игрока и событий с ним связанных(прим. шум от предметов, звуки оружия или Отслеживающего устройства).

“Закулисье”

Список заданий, связанных с перемещением по станции и переходам по вентиляции.

Рыскание по вентиляции с целью сталкинга игрока
Рыскание по вентиляции с целью сталкинга игрока
Продолжение древа
Продолжение древа

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

Система чувств Чужого

“Зрение”

Деконструкция AI Чужого в Alien: Isolation

Зрение Чужого поделено на множество зон, которые различаются по дальности и силе реакции на раздражители.

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

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

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

Кроме того, уровни освещенности в диапазоне карты оказывают огромное влияние на силу зрения человека и андроидов.

“Слух”

Звуки указывают Чужому на место, которое нужно исследовать, и если он находится довольно далеко от источника, он скорее побежит к нему.

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

У фонарика увеличенные триггеры и скорость активации реакции по сравнению с обычными визуальными эффектами. Следовательно, вы должны быть очень осторожны с его использованием, так как Чужой заметит его практически мгновенно. Плюс вы можете случайно дотронуться до его тела, спрятавшись, наделать слишком много шума или достаточно обнаружить себя, чтобы датчики зрения Чужого зарегистрировали вас ниже нормального порога.

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

Деконструкция AI Чужого в Alien: Isolation

Звуки, на которые Чужой реагирует наиболее активно:

  • Звуки шагов
  • Звуки выстрелов
  • Звуки Отслеживающего устройства

Движение имеет три стадии шума:

  • В присяди
  • При ходьбе
  • При беге

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

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

Поиск цели и проверка точек навигации

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

Другой вариант это перемещение по определенной зоне и осмотр различных точек. Дизайнеры здесь могут указывать доступные для изучения места.

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

Была также придумана интересная система “Ареала обитания”, центром которого является игрок. Когда игрок стоит на месте более 30 секунд, срабатывает механизм, который определяет небольшую зону, центром которой становится игрок.

Деконструкция AI Чужого в Alien: Isolation

Чужой направляется в эту зону и начинает перемещаться по ней, сужая с каждым разом зону поиска.

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

Реакция на огнемет

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

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

Поддерево "Бей-беги" позволяет быстро рассчитать, на каком расстоянии находится игрок и закрыт ли путь к нему каким-либо образом, если нет, то он ударяет вас о землю.

Деконструкция AI Чужого в Alien: Isolation

Если он находится в пределах одной единицы расстояния, он просто будет бороться с болью и схватит вас. Так что убедитесь, что вы всегда держитесь на расстоянии, прежде чем опалить существо.

Деконструкция AI Чужого в Alien: Isolation

Если эти условия не могут быть выполнены, он просто убегает.

Деконструкция AI Чужого в Alien: Isolation

В заключение…

Хочу сказать, что это довольно обширный материал. ИИ Чужого очень интересен именно тем, что его поведение спроектировано так, что создается ощущение “Чужой умнее меня”. Множество нод, которые заблокированы специально с целью разнообразить его поведение - очень интересный ход со стороны разработчиков. Также мне понравилась система с Директором. Это действительно один из интереснейших ИИ в играх и то, как его спроектировали делает его “Живым”.

Статья писалась на основе личных наблюдений и исследований, а также статьи Томми Томсона на Gamasutra Gamasutra: Tommy Thompson's Blog - The Perfect Organism: The AI of Alien: Isolation. Для изучения материалов игры использовалось ПО Мэтта Филера Open CAGE http://github.com/MattFiler/OpenCAGE.

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

Подарок для дочитавших - древо проверок перед любой атакой Чужого
Подарок для дочитавших - древо проверок перед любой атакой Чужого
315315
124 комментария

Прыжок Чужого в вентиляционное отверстие - это анимация, которая после завершения работы отключает рендерер существа.У этого гада ещё и режим невидимости есть :)

36
Ответить

Ага, технически его нет, но он "ходит" прямо по потолку уровня, что довольно забавно)

8
Ответить

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

21
Ответить

Статья писалась на основе личных наблюдений и исследований, а также статьи Томми Томсона на GamasutraСтранно, а многие картинки взяты из вот этого видео на Ютубе. Подозреваю, что и другие тоже ты не сам делал (если судить по качеству и тому, что они на английском).
Возможно статья вышла немного косноязычной, пишу подобное первый раз. Знаешь, я посмотрел видео и почитал статью, и понял, что ты целые абзацы (если не весь текст) оттуда скопировал, слово-в-слово. Подозреваю, что оттуда и косноязычность. Оттого эта ремарка ещё сильнее звучит, как попытка отмазаться.
Не пытаюсь наехать или вроде того, но если ты просто перевел видео/статью и сделал из него выжимку- то молодец, но ссылку на видео всё же следовало оставить и так честно и написать, а не вводить людей в заблуждение, как будто ты сам провёл огромное исследование.
P.S. поправь некоторые пикчи, нечитабельно (приложил пример).
P.S.S. Ок, я понял что статья с гамасутры также указывает на этого видео, не заметил. Но выглядит все равно подозрительно.

14
Ответить

В итоге я ответил скрином с диаграммой и нытьем не тому человеку...Ну всякое случается) Все равно, радует, что люди интересуются подобными материалами. Для меня именно видео стало толчком к тому, чтобы все-таки изучить эту тему. Сейчас я занимаюсь анализом механик других проектов для написания дипломной работы и эта статья также входит в их число. Надеюсь, все же интересно было почитать.

5
Ответить

Я не просто так указывал статью. Я писал не на основе видео , а на основе статьи+свой опыт и немного покопался по БТ чужого. Касательно скринов...Я бы хотел, но само дерево слишком широкое, я просто не смогу заскринить как следует - будет куча кусков.

Ответить

Скрины исправил. Еще раз прошу прощения за невнимательность.

Ответить