Правила войны — как устроен ИИ в шутере Spec Ops: The Line

Фантомные гранаты и командная работа врагов и союзников.

На первый взгляд кажется, будто Spec Ops: The Line от студии Yager — очередной шутер с укрытиями в духе Gears of War. Но под этой обёрткой кроется мрачная история, разворачивающаяся в истерзанном войной Дубае. Искусственный интеллект здесь выступает как один из инструментов сторителлинга.

Автор YouTube-канала AI and Games Томми Томпсон (Tommy Thompson) проанализировал, как устроен AI в игре и рассказал, как изменилась Spec Ops: The Line в ходе её разработки, занявшей пять лет. Мы выбрали главное из материала.

Правила войны — как устроен ИИ в шутере Spec Ops: The Line

Цели разработчиков

Сюжет в Spec Ops: The Line очень важен: он задаёт ритм путешествию главного героя, Мартина Уокера, и его соратников Адама и Луго через занесённый песком Дубай. В процессе игрок узнаёт, что не только стихия нанесла ущерб городу, но и он сам.

Нарративный дизайнер и сценарист игры Уолт Уилльямс в своей книге Significant Zero рассказывает, что разработчикам приходилось искать баланс между повествованием и свободой действий игрока, чтобы усилить нарратив.

Когда игрок начинает игру, он становится её персонажем. Здесь он должен понимать, в каком состоянии находится разум героя […] Чтобы свести Уокера с ума, мы должны были сломать его как эмоционально, так и психологически. Должен был быть момент, когда Уокер, под контролем игрока, совершал что-то настолько ужасное, что его разум просто не мог этого вынести […] Если бы надлом Уокера происходил без участия пользователя, то игрок бы просто перестал ассоциировать себя с героем, и сюжетный поворот бы не сработал.

Уолт Уилльямс, сценарист Spec Ops: The Line

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

Архитектура AI

В ходе своей разработки Spec Ops: The Line претерпела множество изменений. Это касается и ИИ. Создание игры началось в 2007 году, и тогда искусственный интеллект в игре во многом напоминал оный из F.E.A.R. Игроки могли отдавать своим союзникам приказы на манер классических частей Rainbow Six: заставлять их занимать определённые позиции, обходить противника и так далее.

Однако такой подход не работал с дизайном уровней игры, с этим ИИ было трудно работать. Система искусственного интеллекта STRIPS из F.E.A.R. заставляла противников изобретать интересные стратегии и действовать «обдуманно», но в контексте шутера с укрытиями, враги, управляемые ею, считали самым разумным вовсе не вылезать из укрытия. То есть, играть с «умным» ИИ было попросту не весело.

В 2010 году разработчики полностью переписали искусственный интеллект и построили систему на основе древа поведения (behavior tree). Это популярный в ААА-играх метод, который использовался, в частности, в Alien: Isolation. Он позволяет разработчикам устанавливать то, как будут вести себя NPC в конкретной ситуации.

Правила войны — как устроен ИИ в шутере Spec Ops: The Line

Все наработки, созданные с помощью STRIPS, были перенесены на новую систему. Возможности игрока в плане управления соратниками было решено сильно урезать: теперь им можно приказать лишь атаковать конкретного врага, лечить друг друга и кинуть ослепляющую гранату. Несмотря на это, узлы поведения, отвечающие за действия NPC, всё-таки дошли до финальной версии, но в изменённом виде. Например, изначально Адаму можно было приказать развернуть миномёт. Эта возможность не добралась до релиза, но соответствующий узел поведения был использован в сцене с атакой белым фосфором.

Правила войны — как устроен ИИ в шутере Spec Ops: The Line

Yager внесла небольшие изменения в типичную схему древа поведения. Обычно система сверяется с древом каждые несколько кадров, чтобы «перестроить» поведение противника в зависимости от изменившихся условий. Однако это сильно сказывалось на производительности, потому что одновременно в игре могут действовать целых восемь древ, каждое из которых «привязано» к конкретному NPC.

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

Вражеский AI

На пути игроку встречаются три вражеские фракции: жители Дубая, которые не смогли покинуть город, бойцы 33-го батальона и отряд «Зулу». Каждая из них содержит в себе три одних и тех же архетипа ИИ: врагов, которые предпочитают навязывать ближний, средний или дальний бой. Однако в рядах 33-го есть два особых вида противника: Commando и Heavy Trooper. Они созданы так, чтобы заставить игрока покинуть укрытие.

Правила войны — как устроен ИИ в шутере Spec Ops: The Line

Все архетипы противников по-разному реагируют на происходящие вокруг события. Кроме того, у некоторых врагов упрощённый ИИ, на действия которого влияют только глобальные изменения на поле боя. Разработчики хотели добиться такого эффекта, чтобы игрок понимал, что сражается с живыми людьми. Для этого бойцы 33-го, например, регулярно переговариваются по рации.

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

Более того, у противников в Spec Ops неограниченный запас патронов, а их броски гранат — фикция. Анимация перезарядки включается лишь для того, чтобы игрок мог пойти в наступление, но, в то же время, если они, например, обходят игрока с флангов, они вообще не будут перезаряжать оружие. Что касается гранат, то для них была создана специальная система. Игра оценивает, как долго игрок находится в укрытии, выбирает ближайшего к нему NPC и заставляет того проиграть анимацию броска гранаты. После этого граната просто оказывается неподалёку от Уокера. На самом деле никакого броска не происходит.

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

Правила войны — как устроен ИИ в шутере Spec Ops: The Line

Дружественный AI

Искусственный интеллект напарников разрабатывался таким образом, чтобы те оказывали помощь игроку в бою, но при этом не «забирали всю славу себе». Кроме того, Yager нужно было убедиться, что Адам и Луго ведут себя как задумано в сюжетных сценах.

По локациям в Spec Ops: The Line были разбросаны так называемые Squad Triggers — специальные точки диктующие напарникам, как им вести себя, когда они добираются до них. Благодаря этим точкам, союзники всегда знают, где им следует находиться, когда начнётся сражение. Однако во время сражения их поведение не зависит от Squad Triggers.

Правила войны — как устроен ИИ в шутере Spec Ops: The Line

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

Второе состояние соратников включается лишь тогда, когда игрок находится под плотным огнём противника или его здоровье на исходе. Тогда Луго и Адам делают всё, чтобы вражеские солдаты вылезли из-за укрытий и открылись пользователю.

Как было сказано ранее, враги могут переговариваться между собой во время боя, но то же самое делают союзники. Они указывают игроку, когда противник пытается обойти его с фланга или сообщают ему, что на локации появился определённый тип вражеских солдат. Таким образом, создаётся иллюзия того, что Адам и Луго следят за тем, что происходит вокруг них. На самом же деле, вражеский AI попросту сообщает союзникам о том, что он собирается сделать, а соратники Уокера затем «рассказывают» об этом игроку.

117117
108 комментариев

>в контексте шутера с укрытиями, враги, управляемые ею, считали самым разумным вовсе не вылезать из укрытия.

Так. Нынешние технологии позволяют сделать настоящий умный ИИ. А потом его отупить, чтобы играть было весело. Понятно.

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

Помню читала в отзывах, что с технической стороны шутер оценивают как средний. Ничего особенного. И в принципе по ощущениям от игры - да, так и есть. Не тем она ценна. А теперь читаешь о том, какая работа для ИИ была проделана и испытываешь лёгкий диссонанс.

20
Ответить

такое же впечатление сложилась, по моему в этой игре стрельба только лишний раз отвлекает от потрясающего сюжета

1
Ответить

В Спек опс зе лайн надо на самом высоком играть,вот тогда все становится по-другому

1
Ответить

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

6
Ответить

Unreal Tournament

26
Ответить

Уже упомянутый в статье первый F.E.A.R., враги были хороши. И ганплей был отличным.

2
Ответить

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

2
Ответить