ИИгры разума: как работает искусственный интеллект в видеоиграх
Рассказали, как устроен игровой искусственный интеллект и как он работает на примерах из Metal Gear Solid, Dota и Cyberpunk.
1К открытий7К показов
Когда речь заходит про искусственный интеллект в видеоиграх, то здесь корректнее употреблять термин «игровой искусственный интеллект». Хотя принцип его работы такой же, как и в обычном ИИ. По сути это все та же имитация машиной мыслительной деятельности человеческого мозга.
Единственное отличие игрового искусственного интеллекта от обычного состоит в том, что его задача не заменить или превзойти умственную деятельность человека, а взаимодействовать с живым игроком непосредственно в цифровой среде. Поэтому для игр нет необходимости создавать сверхразум на основе ИИ.
Автор: директор Автономной некоммерческой организации «Спортивно-методический центр «Кафедра киберспорта», проводящей комплексные научно-практические исследования в области высоких технологий, киберспорта и искусственного интеллекта в интересах крупнейших игроков российской видеоигровой индустрии, Виктория Береснева.
Игровой ИИ используется в основном в тех видеоиграх, где предусмотрено наличие неигровых персонажей или NPC (non-player character). Это могут быть как RPG (ролевые игры) и MMORPG (многопользовательские онлайн ролевые игры), так и игры в других жанрах, имеющие PvE-режимы, где игроку приходится сражаться с управляемыми компьютером противниками.
История развития игрового ИИ уходит корнями к созданию искусственного интеллекта и к Алану Тьюрингу, спроектировавшему первый в мире компьютер с хранимой в памяти программой. Однако первые активные попытки использовать ИИ в играх вроде шахмат, Pong, Space Invaders, Pac-Man, Donkey Kong от Nintendo и другие начались только в 1970-ые годы. Изначально игровой ИИ создавался скорее в качестве эксперимента, чтобы проверить, способна ли в принципе машина обыграть человека в шахматы и в других логических играх.
Однако после того, как в 1997 году шахматный суперкомпьютер Deep Blue, разработанный IBM, выиграл 6 партий у чемпиона мира по шахматам Гарри Каспарова, благодаря возможности хранить в памяти и молниеносно обрабатывать информацию о миллионах сыгранных людьми партий, а в 2016 года компьютерная программа на основе ИИ AlphaGo, разработанная британской Google DeepMind, выиграла 4 из 5 партий в игру «Го» у корейского профессионала 9-го дана Ли Седоля, самообучающийся ИИ, руководствующийся нелинейной логикой, стал активно применяться в игровом процессе в компьютерных и консольных видеоиграх. Причем в настоящее время игровой ИИ необходим не столько для того, чтобы побеждать геймеров, сколько для того, чтобы улучшать их игровой опыт и увеличивать удовольствие от видеоигры.
Изначально у первых игровых ИИ отсутствовали способности к мышлению и творчеству, поскольку их действия были заранее довольно жестко заданы разработчиками. Несмотря на это, некоторые хорошо смоделированные ИИ были способны адаптироваться к ситуации и изменять свое поведение в зависимости от контекста, действуя в ряде случаев нелинейно. Впрочем, основная цель искусственного интеллекта в играх на основе стандартного игрового ИИ состоит в имитации разумности NPC, чтобы развлечь пользователя, а не обыграть его.
Современный же игровой ИИ на основе нейросети, в отличие от простых компьютерных «болталок-ботов», основан на самообучающихся нейросетях, а не на заранее заданных алгоритмах или простом подражании действиям живого игрока. Преимущество ИИ в том, что он способен мыслить, принимать решения и динамически менять свою стратегию в процессе игры. Таким образом, игровой ИИ приближается по уровню игры к человеку-игроку и временами даже превосходит его.
Кроме того, нейросеть обладает способностью к самообучению, что исключает повторяющиеся ситуации в игре, которые обычно характерны для ботов. Однако это свойство может быть в то же время и недостатком, поскольку с накоплением знаний об игре нейросеть начинает значительно превосходить живых оппонентов. Примером такого развития может быть нейросеть OpenAI в Dota 2, которая научилась одерживать победу над живыми игроками в 98-99% случаев.
ИИ на основе нейросети сейчас активно используют в таких видеоиграх, как:
- The Elder Scrolls 5: Skyrim. В ней использует AI технологии (Whisper, ChatGPT и xVASynth), чтобы сделать общение с NPC более реалистичным и разнообразным.
- Vaudeville. Игрок в роли сыщика должен расследовать убийства, расспрашивая через строку чата или микрофон подозреваемых, реплики которых генерирует нейросеть. Каждый диалог получается уникальным.
- Horizon Zero Dawn. Робозвери умеют объединяться в стада, а их поведением управляет групповой агент. У каждой машины есть своя роль: патрулирование, атака, поиск ресурсов.
- Gears Tactics. У управляемых ИИ противников всегда есть глобальная цель. Групповой ИИ раздает каждому юниту индивидуальное задание, которое помогает достигать общей цели. Более того, NPC способны сами решать, каким образом им лучше выполнить задачу.
Стоит отметить, что созданием инструментов ИИ занимаются не только разработчики, но и организации, разрабатывающие комплектующие для персональных компьютеров. Например, компания NVIDIA в рамках своей презентации на выставке Computex 2023 представила сервис Avatar Cloud Engine (ACE) for Games, который позволит сделать умнее неигровых персонажей в играх. Представленный сервис позволяет разработчикам создавать собственные ИИ-модели, которые могут генерировать для NPC более естественную речь, включая движения и диалоги.
В целом в современных играх используются различные подходы к созданию ИИ. Но все они основаны на общем принципе, включающем получение информации, анализ и действия (получение информации → анализ — действие).
Для игрового ИИ характерно использование разнообразных сенсоров, которые помогают получать информацию об окружении и происходящих событиях. Эти сенсоры, подобно органам чувств в реальном мире, могут быть представлены конусом зрения для видимости, «ушами» для обнаружения звуковых сигналов или обонятельными рецепторами. Хотя эти сенсоры служат всего лишь имитацией реальных органов чувств, они делают игровые ситуации гораздо более реалистичными и интересными.
Реализация работы сенсоров в играх зависит от типа игрового процесса. В активных 3D-шутерах обычно достаточно простого конуса зрения для обнаружения игрока и реагирования на его появление, поэтому сложные рецепторы не требуются. А вот в стелс-экшенах геймплей основан на скрытых от противников перемещениях, поэтому требуются более сложные и изощренные виртуальные органы чувств.
Когда ИИ получает информацию, он приступает к анализу ситуации и «размышляет» о своих действиях. Обычно здесь задействованы сразу несколько систем ИИ, каждая из которых отвечает за различные аспекты. Разработчики часто включают в видеоигру принцип коллективного интеллекта, который обеспечивает согласованность действий отдельных ботов и предотвращает несогласованность их действий или вмешательство в действия друг друга. При этом сами игровые персонажи часто не знают о существовании союзников, так как эта информация им не требуется, поскольку за координацию их совместных действий отвечает ИИ более высокого уровня. Для этого в играх имеются специальные системы, выполняющие функции режиссера или координатора. Они следят за соблюдением баланса сложности и создают интересные и запоминающиеся ситуации.
Для принятия решений в играх используется несколько подходов. Один из самых простых и понятных – это rule-based ИИ. В его основе лежит список заранее заданных правил и условий, созданных разработчиками. Этот подход эффективен для создания простого поведения. Например, если игрок подбирается к животному ближе, чем на три метра, то оно начинает от него убегать.
Другой распространенный метод принятия решений – это использование конечных автоматов. Этот подход позволяет NPC легко переходить между различными состояниями. Например, у некого «моба» (персонаж игры, которыми управляет компьютер) базовое состояние — обзор определенного маршрута. Если игрок внезапно появляется, NPC переходит в новое состояние — начинает нападать. Конечные автоматы именно этим и занимаются: они принимают информацию от предыдущего состояния и передают ее в новое.
Преимущество данного подхода заключается в том, что персонаж всегда находится в каком-то определенном состоянии и не оказывается «застрявшим» между ними. Поскольку каждый переход должен быть явно определен разработчиком, он точно знает, в каких состояниях может находиться игровой объект. Однако недостаток этого метода заключается в том, что с увеличением количества механик система конечных автоматов значительно усложняется. Это увеличивает риск появления ошибок и может снизить скорость выполнения операций.
Дерево поведения является более структурированным подходом к определению поведения персонажей в игре. Его уникальная черта заключается в том, что все состояния персонажа организованы в виде ветвистой структуры с понятной иерархией. Дерево поведения включает в себя все возможные состояния, в которых может находиться персонаж. Когда происходит определенное событие в игре, искусственный интеллект проверяет условия, в которых находится персонаж, и перебирает все состояния для поиска наиболее подходящего в текущей ситуации.
Дерево поведения предоставляет эффективный способ организации состояний NPC в играх с разнообразными механиками и элементами геймплея. В ситуации, когда NPC участвует в перестрелке, он автоматически исключает неподходящие действия из ветки патрулирования, что позволяет NPC быстро и эффективно выбирать наиболее релевантное поведение. Этот подход обеспечивает отзывчивость и плавность переходов между различными состояниями NPC.
Допустим, у нас есть NPC, которому мы задали цель обследовать район на машине. Вдруг неожиданно появляется игрок, угоняет автомобиль и уничтожает его. В этом случае NPC должен начать отстреливаться при попытке угона, однако когда игрок скроется из поля его зрения, NPC должен вернуться к патрулированию. Но поскольку машина больше не доступна, NPC не в состоянии вернуться к своему исходному поведению. Вместо этого он должен автоматически перейти к пешему патрулированию, как это делают другие противники в игре. Дерево поведения предоставляет возможность NPC легко и без проблем найти новое состояние и не застрять в неопределенности.
Основные принципы игрового искусственного интеллекта, такие как последовательность «сбор информации → анализ → действие», остаются неизменными на протяжении продолжительного времени и предположительно будут сохраняться и в будущем. Изменение этих основ кажется сложным при использовании существующих технологий. Однако в последние годы мы наблюдаем активное развитие нейронных сетей, которые способны к обучению и в перспективе могут привести к появлению игровых искусственных интеллектов, способных на более творческое решение ряда задач. Нейронные сети уже продемонстрировали впечатляющие результаты, однако их применение в области игр пока ограничено. С экспериментальной точки зрения, такой искусственный интеллект может показаться впечатляющим, но с точки зрения пользовательского опыта, его результаты не всегда предсказуемы, а потому несколько рискованны.
1К открытий7К показов