Особенности работы ИИ в Uncharted 4

Заранее заготовленные позиции и автоматизация диалогов.

Дизайнер ИИ-систем Аллен Чоу сразу после релиза Uncharted 4 опубликовал в своём блоге подробности создания искусственного интеллекта. Разработчик наглядно показал, какие системы контролируют поведение NPC и описал принципы работы многих аспектов. Мы выбрали из текста главное.

Особенности работы ИИ в Uncharted 4

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

Особенности работы ИИ в Uncharted 4

Система «buddy follow», благодаря которой напарники следуют за героем, перекочевала из The Last of Us. Основной принцип этой системы заключается в том, что у NPC есть несколько заранее заготовленных позиций рядом с игроком, из которых он может выбирать. На его решение влияет позиция героя, наличие потенциальных препятствий впереди и так далее.

Особенности работы ИИ в Uncharted 4

Для передвижения по стенам также есть свой набор постов — он активируется, когда игрок сам начинает карабкаться. При этом компаньоны будут двигаться тогда же, когда и главный герой.

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

Особенности работы ИИ в Uncharted 4

Если пользователь будет быстро переключается между состояниями лазания и хождения, компаньоны будут колебаться между двумя этими действиями. Поэтому разработчики добавили гистерезис (запаздывание) — NPC начинали следовать за героем только в том случае, если он перемещался достаточно далеко в одном состоянии.

В некоторых эпизодах NPC сами начинали вести героя. Это система также пришла из The Last of Us — в ней используются сплайны, которые указывают основной путь для персонажа.

Особенности работы ИИ в Uncharted 4

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

Особенности работы ИИ в Uncharted 4

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

Особенности работы ИИ в Uncharted 4

Система укрытия с напарником также пришла из The Last of Us. Тем не менее фигура Джоэла была значительно больше Элли, поэтому он мог почти полностью перекрывать её собой. Для Uncharted 4 такой формат не подходил, потому что все герои были примерно одного роста. Поэтому здесь напарники просто скрываются за укрытием, а Нейт находится рядом с ними.

Особенности работы ИИ в Uncharted 4

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

Особенности работы ИИ в Uncharted 4

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

Особенности работы ИИ в Uncharted 4

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

В Uncharted 4 появилась механика скрытностного перемещения в траве — чтобы всё работало корректно, разработчики помечали нужные области как зоны для стелса. Если игрок находился в ней, то противник его не замечал. Эта система отлично работала и для компаньонов.

Особенности работы ИИ в Uncharted 4

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

Особенности работы ИИ в Uncharted 4

Есть два фактора, которые могут вызвать подозрения у противников — присутствие игрока и обнаружение мёртвого тела. Если NPC увидит подозрительные действия, то он попробует позвать ближайшего союзника, чтобы проверить вместе. После этого они делятся на роли — один становится «следователем», а второй — «наблюдателем». Также прозвучит одна из двух реплик: «Там что-то есть. Я пойду проверю» или «Там что-то есть. Иди проверь».

Особенности работы ИИ в Uncharted 4

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

Особенности работы ИИ в Uncharted 4

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

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

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

Особенности работы ИИ в Uncharted 4

В Uncharted 4 впервые в серии появился управляемый транспорт. В игре есть несколько способов устранить вражескую технику: убить водителя; стрелять по транспорту или протаранить его. В зависимости от причины смерти выбирается анимация как для самого транспорта, так и для всех пассажиров. В определённый момент после запуска анимации объекты начинают двигаться по физике, чтобы это выглядело более естественно.

Особенности работы ИИ в Uncharted 4

Когда игрок таранит вражеский мотоцикл, система анализирует точку удара на плоскости XZ и запускает одну из четырёх анимаций.

Особенности работы ИИ в Uncharted 4

При столкновении с внедорожником учитывается угол движения обеих машин и их скорость.

Особенности работы ИИ в Uncharted 4

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

110110
38 комментариев

Что в ластах, что в анче 4 у ИИ напарника одна проблема: в стелсе постоянно мельтешит перед врагами, а те его не видят в упор (дабы постоянно не руинить игроку прохождение). Выглядит, мягко говоря, так себе. Надеюсь, во вторых ластах этот момент проработают лучше.

19

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

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

ИИ сценарий там писал разве что)

4

А чем вас, собсна, сценарий не устраивает? Вполне себе голливудское приключение.

18

А при разработке Horizon Zero Dawn специалисты из Naughty Dog не привлекались? Лазание уж очень напоминает Uncharted.

1

Мне кажется внутренние студии Сони консультируются друг с другом и заимствуют идеи у других внутренних студий.

10