Введение
Обзор использования искусственного интеллекта в видеоиграх
В видеоиграх искусственный интеллект (ИИ) используется для создания отзывчивого, адаптивного или разумного поведения, прежде всего у неигровых персонажей (НПЧ), имитирующего человеческий интеллект. Искусственный интеллект является неотъемлемой частью видеоигр с момента их появления в 1950-х годах. ИИ в видеоиграх – это отдельная область, отличная от академического ИИ. Он служит для улучшения игрового опыта, а не для машинного обучения или принятия решений. В золотой век аркадных игр идея ИИ-соперников получила широкое распространение в виде постепенно возрастающих уровней сложности, различных моделей движения и внутриигровых событий, зависящих от действий игрока. Современные игры часто используют существующие методы, такие как поиск пути и деревья решений, для управления действиями НПЧ. ИИ также часто применяется в механизмах, невидимых пользователю, например, в анализе данных и процедурной генерации контента. В целом, игровой ИИ не подразумевает, вопреки распространенному мнению и иногда встречающимся изображениям, создание искусственного существа, соответствующего НПЧ в духе теста Тьюринга или общего искусственного интеллекта.
Обзор
Термин "игровой ИИ" используется для обозначения широкого спектра алгоритмов, включающих также методы из теории управления, робототехники, компьютерной графики и информатики в целом. Поэтому ИИ в видеоиграх часто нельзя назвать "истинным ИИ", поскольку подобные методы не обязательно обеспечивают машинное обучение или соответствуют другим стандартным критериям, а представляют собой лишь "автоматизированные вычисления" или заранее заданный, ограниченный набор реакций на заранее заданный, ограниченный набор входных данных. Многие представители индустрии и корпоративного сектора утверждают, что игровой ИИ значительно продвинулся, совершив революцию в способах взаимодействия человека с технологиями, однако многие эксперты-исследователи скептически относятся к этим заявлениям, особенно к утверждению о том, что такие технологии соответствуют стандартному определению "интеллекта", используемому в когнитивных науках. Представители индустрии утверждают, что ИИ сделал технологические устройства более универсальными, позволяя использовать их не только по прямому назначению, поскольку ИИ обеспечивает возможность работы в различных режимах, якобы развивая собственные "личности" и выполняя сложные команды пользователя. Специалисты в области ИИ, напротив, считают, что игровой ИИ – это не настоящий интеллект, а рекламный термин, используемый для описания компьютерных программ, применяющих простые алгоритмы сортировки и сопоставления для создания иллюзии разумного поведения, при этом придавая программному обеспечению обманчивую ауру научной или технологической сложности и прогресса. Поскольку игровой ИИ для неигровых персонажей (NPC) ориентирован на создание видимости интеллекта и обеспечение увлекательного игрового процесса в рамках заданных ограничений среды, его подход существенно отличается от подхода традиционного ИИ.
История
Игры были областью исследований в области ИИ с самого начала. Одним из первых примеров ИИ является компьютерная игра Nim, созданная в 1951 году и опубликованная в 1952 году. Несмотря на то, что в год создания, за 20 лет до Pong, игра представляла собой относительно небольшое устройство и смогла регулярно выигрывать даже у высококвалифицированных игроков. Это были одни из первых компьютерных программ, когда-либо написанных. Программа для игры в шашки Артура Сэмюэля, разработанная в середине 50-х и начале 60-х годов, в конечном итоге достигла достаточного мастерства, чтобы бросить вызов уважаемому любителю. Работа над шашками и шахматами завершилась поражением Гарри Каспарова от компьютера IBM Deep Blue в 1997 году. Первые видеоигры, разработанные в 1960-х и начале 1970-х годов, такие как Spacewar!, Pong и Gotcha (1973), были реализованы на дискретной логике и строго основывались на соревновании двух игроков, без использования ИИ. Игры с одиночным режимом, в которых присутствовали враги, начали появляться в 1970-х годах. Первые заметные аркадные игры появились в 1974 году: Speed Race от Taito (гоночная видеоигра) и Qwak (стрелялка с оптическим пистолетом для охоты на уток) и Pursuit (симулятор воздушного боя) от Atari. Две текстовые компьютерные игры, Star Trek (1971) и Hunt the Wumpus (1973), также содержали врагов. Движение врагов основывалось на заранее заданных шаблонах. Внедрение микропроцессоров позволило увеличить вычислительные возможности и добавить случайные элементы в шаблоны движения. Именно в золотой век аркадных игр идея противников, управляемых ИИ, получила широкое распространение благодаря успеху Space Invaders (1978), которая отличалась возрастающей сложностью, уникальными моделями движения и внутриигровыми событиями, зависящими от хэш-функций, основанных на действиях игрока. Galaxian (1979) добавила более сложные и разнообразные движения врагов, включая маневры отдельных противников, вырывающихся из строя. Pac-Man (1980) представила модели ИИ в лабиринтные игры, а также уникальные особенности характера для каждого врага. Karate Champ (1984) позже внедрила модели ИИ в файтинги. First Queen (1988) была тактической action-RPG, в которой персонажи могли управляться ИИ компьютера, следуя за лидером. Ролевая видеоигра Dragon Quest IV (1990) представила систему "Тактика", позволяющую пользователю настраивать алгоритмы ИИ неигровых персонажей во время боя, концепция, позже перенесенная в жанр action-RPG Secret of Mana (1993). Такие игры, как Madden Football, Earl Weaver Baseball и Tony La Russa Baseball, использовали ИИ в попытке воспроизвести на компьютере тренерский или управленческий стиль выбранной знаменитости. Мэдден, Уивер и Ла Русса активно сотрудничали с командами разработчиков игр, чтобы максимально повысить точность игрового процесса. Позднее спортивные игры позволяли пользователям "настраивать" переменные ИИ для создания собственной управленческой или тренерской стратегии. Появление новых игровых жанров в 1990-х годах стимулировало использование формальных инструментов ИИ, таких как конечные автоматы. Стратегии в реальном времени предъявляли высокие требования к ИИ, требуя управления большим количеством объектов, неполной информацией, решения задач поиска пути, принятия решений в реальном времени и экономического планирования. Первые игры этого жанра имели серьезные проблемы. Например, в Herzog Zwei (1989) были почти неработоспособные алгоритмы поиска пути и очень простые трехсостоятельные автоматы для управления юнитами, а Dune II (1992) атаковала базу игрока по прямой и использовала многочисленные читы. Поздние игры в этом жанре демонстрировали более сложный ИИ. В более поздних играх использовались методы ИИ снизу вверх, такие как эмерджентное поведение и оценка действий игрока в играх, таких как Creatures или Black & White. Façade (интерактивная история), выпущенная в 2005 году, использовала интерактивные многовариантные диалоги и ИИ в качестве основного элемента игры. Игры предоставили среду для разработки искусственного интеллекта с потенциальными приложениями, выходящими за рамки игрового процесса. Примеры включают в себя Watson, компьютер, играющий в Jeopardy!, и турнир RoboCup, где роботы тренируются для соревнований в футбол.
Взгляды
Многие эксперты жалуются, что "ИИ" в термине "игровой ИИ" переоценивает его значимость, поскольку игровой ИИ не связан с интеллектом и мало разделяет целей академической области ИИ. В то время как "настоящий ИИ" охватывает области машинного обучения, принятие решений на основе произвольных входных данных и даже конечную цель сильного ИИ, способного к рассуждениям, "игровой ИИ" часто состоит из полудюжины правил большого пальца или эвристик, которых достаточно для обеспечения хорошего игрового опыта. Исторически академические проекты в области игрового ИИ были относительно обособлены от коммерческих продуктов, поскольку академические подходы, как правило, были простыми и не масштабируемыми. Коммерческий игровой ИИ разработал собственный набор инструментов, которых во многих случаях было достаточно для достижения хорошей производительности. Эти написанные вручную деревья решений часто приводят к "искусственной глупости", такой как повторяющееся поведение, потеря эффекта присутствия или аномальное поведение в ситуациях, не предусмотренных разработчиками. Поиск пути, еще одно распространенное применение ИИ, широко используется в стратегиях реального времени. Поиск пути – это метод определения способа перемещения NPC из одной точки карты в другую с учетом местности, препятствий и, возможно, "тумана войны". Коммерческие видеоигры часто используют быстрый и простой "поиск пути на основе сетки", при котором местность отображается на жесткую сетку однородных квадратов, а к сетке применяется алгоритм поиска пути, такой как A* или IDA*. Вместо жесткой сетки некоторые игры используют нерегулярные многоугольники и создают навигационную сетку из областей карты, по которым могут перемещаться NPC. В качестве третьего метода разработчикам иногда удобно вручную выбирать "путевые точки", которые NPC должны использовать для навигации; недостаток заключается в том, что такие точки могут создавать неестественные движения. Кроме того, путевые точки, как правило, работают хуже, чем навигационные сетки в сложных условиях. Помимо статического поиска пути, навигация является подразделом игрового ИИ, ориентированным на предоставление NPC возможности перемещаться в динамической среде, находить путь к цели, избегая столкновений с другими сущностями (другими NPC, игроками) или взаимодействуя с ними (групповая навигация). Навигация в динамических стратегиях с большим количеством юнитов, таких как Age of Empires (1997) или Civilization V (2010), часто работает неэффективно; юниты часто мешают друг другу. В Half-Life (1998) алгоритм поиска пути иногда не мог найти разумный способ для всех NPC уклониться от брошенной гранаты; вместо того, чтобы позволить NPC попытаться увернуться и рисковать выглядеть глупо, разработчики запрограммировали NPC приседать и укрываться в такой ситуации.
Боевой ИИ видеоигр
Многие современные видеоигры относятся к жанрам экшн, шутер от первого лица или приключения. В большинстве таких игр присутствует определенный уровень боевых действий. Эффективность ИИ в бою важна для этих жанров. Сегодня распространенной целью является создание ИИ, который был бы более человечным или, по крайней мере, казался таковым. Одной из наиболее полезных и эффективных функций современного ИИ в видеоиграх является способность к охоте. Изначально ИИ реагировал очень прямолинейно. Если игрок находился в определенной области, ИИ либо полностью переходил в наступление, либо полностью оборонялся. В последние годы была внедрена концепция "охоты"; в этом состоянии ИИ ищет реалистичные признаки, такие как звуки, издаваемые персонажем, или следы, которые он мог оставить. Эти разработки в конечном итоге позволяют создать более сложный игровой процесс. Благодаря этой функции игрок может обдумывать, как подойти к врагу или избежать его. Особенно часто эта функция встречается в играх жанра стелс. Еще одним развитием в игровом ИИ стало появление "инстинкта самосохранения". Игровые компьютеры могут распознавать различные объекты в окружающей среде и определять, насколько они полезны или вредны для выживания. Как и игрок, ИИ может искать укрытие во время перестрелки, прежде чем совершать действия, которые сделают его уязвимым, например, перезаряжать оружие или бросать гранату. Могут быть заданы определенные параметры, определяющие, когда ИИ должен реагировать тем или иным образом. Например, если ИИ получает команду проверять свое здоровье в течение игры, можно задать дополнительные команды, чтобы он реагировал определенным образом при достижении определенного уровня здоровья. Если здоровье опускается ниже определенного порога, ИИ может убегать от игрока и избегать его до тех пор, пока не будет активирована другая функция. Другой пример: если ИИ замечает, что у него закончились патроны, он найдет укрытие и спрячется за ним, пока не перезарядится. Подобные действия делают ИИ более реалистичным. Однако в этой области все еще есть возможности для улучшения. Еще одним побочным эффектом боевого ИИ является ситуация, когда два персонажа, управляемых ИИ, сталкиваются друг с другом; впервые получившая широкую известность в игре Doom от id Software, так называемая "перестрелка между монстрами" может возникать в определенных ситуациях. В частности, агенты ИИ, запрограммированные реагировать на враждебные атаки, иногда атакуют друг друга, если атаки их союзников оказываются слишком близко. В случае с Doom, в официальных руководствах по игре даже предлагается использовать перестрелки между монстрами для выживания на определенных уровнях и с определенной сложностью.
Создание процедурного контента
Процедурная генерация контента (PCG) — это метод искусственного интеллекта, позволяющий автономно создавать внутриигровой контент посредством алгоритмов с минимальным участием дизайнеров. PCG обычно используется для динамической генерации игровых элементов, таких как уровни, диалоги NPC и звуки. Разработчики задают определенные параметры, чтобы направить алгоритмы в создании контента. PCG предоставляет множество преимуществ как с точки зрения разработки, так и с точки зрения впечатлений игрока. Игровые студии могут сократить расходы на художников и сэкономить время производства. Игроки получают новый, обладающий высокой реиграбельностью опыт, поскольку игра генерирует новый контент при каждом запуске. PCG позволяет игровому контенту адаптироваться в реальном времени к действиям игрока.
Уровни, полученные в процессе
Генеративные алгоритмы (рудиментарная форма ИИ) используются для создания уровней уже десятилетиями. Знаменитая компьютерная игра Rogue 1980 года является основополагающим примером. Игрокам предстоит спускаться по все более сложным уровням подземелья, чтобы заполучить Амулет Йендора. Уровни подземелья генерируются алгоритмически при каждом запуске игры. Файл сохранения удаляется каждый раз, когда игрок погибает. Алгоритмическая генерация подземелий создает уникальный игровой опыт, который иначе был бы невозможен, поскольку цель – заполучить амулет – остается неизменной. Мнения о полной генерации уровней, как в Rogue, могут быть разными. Некоторые разработчики сомневаются в качестве генерируемого контента и стремятся создать мир с более "человеческим" ощущением, поэтому используют процедурную генерацию контента (PCG) более умеренно. Однако для эффективной работы современных моделей, таких как та, что использовалась в исследовании, требуются большие наборы данных уровней. Исследователи пришли к выводу, что, несмотря на перспективность, высокая стоимость данных для больших языковых моделей в настоящее время перевешивает преимущества для данной задачи. Алгоритм способен оценивать текущее настроение игрового состояния с помощью "разметки настроения". Исследования показывают, что существует значительная положительная статистическая корреляция между оценкой вовлеченности игроков и динамически генерируемыми музыкальными композициями, точно отражающими их текущие эмоции.
Метод поиска по деревьям Монте-Карло
Игровой ИИ часто сводится к прокладке пути и конечным автоматам. Прокладка пути позволяет ИИ добраться из точки А в точку Б, как правило, наиболее прямым способом. Конечные автоматы обеспечивают переход между различными моделями поведения. Метод поиска по дереву Монте-Карло создает более захватывающий игровой опыт, генерируя дополнительные препятствия, которые игроку предстоит преодолеть. MCTS представляет собой древовидную диаграмму, в которой ИИ, по сути, играет в крестики-нолики. В зависимости от исхода, он выбирает путь, который создает следующее препятствие для игрока. В сложных видеоиграх эти деревья могут иметь больше ветвей, если игрок способен разработать несколько стратегий для преодоления препятствия. В этом обзоре за 2022 год вы можете узнать о последних применениях алгоритма MCTS в различных игровых областях, таких как комбинаторные игры с полной информацией, стратегические игры (включая RTS), карточные игры и другие.
Использование в играх за пределами NPC
Академический ИИ может играть роль в игровом ИИ, помимо традиционной задачи управления поведением NPC. Георгиос Н. Яннакакис выделил четыре потенциальные области применения: в 2020 году Nvidia продемонстрировала клон Pac-Man, созданный с помощью GAN; GAN научился воссоздавать игру, наблюдая за 50 000 (в основном сгенерированных ботами) игровых сессий.
Примеры
В игре Creatures 1996 года пользователь "вылупляет" мелких пушистых животных и обучает их поведению. Эти "норны" умеют говорить, самостоятельно добывать пищу и защищаться от опасных существ. Это было первое популярное применение машинного обучения в интерактивной симуляции. Существа используют нейронные сети для обучения своим действиям. Игра считается прорывом в исследованиях искусственной жизни, целью которых является моделирование поведения существ, взаимодействующих с окружающей средой. В шутере от первого лица 2001 года Halo: Combat Evolved игрок берет на себя роль Мастера Чифа, сражаясь с различными инопланетными существами пешком или на транспортных средствах. Враги разумно используют укрытия, применяют подавляющий огонь и гранаты. Ситуация в отряде влияет на отдельных противников, поэтому некоторые из них обращаются в бегство после гибели лидера. Внимание уделяется даже незначительным деталям: враги, например, перебрасывают гранаты, а члены команды реагируют на раздражение. Базовая технология "дерева поведения", впервые применённая в Halo 2, с тех пор стала очень популярной в игровой индустрии. Серия игр в жанре survival horror S. T. A. L. K. E. R. (2007–) ставит игрока перед лицом рукотворных экспериментов, военных и наёмников, известных как Сталкеры. Различные противники, которых можно встретить в игре (при максимальном уровне сложности), используют боевую тактику и поведение, такие как лечение раненых союзников, отдача приказов, обход с фланга и стрельба с высокой точностью. В стратегии в реальном времени StarCraft II: Wings of Liberty 2010 года игрок управляет одной из трёх фракций на арене сражений 1v1, 2v2 или 3v3. Цель игрока – победить противников, уничтожив все их юниты и базы. Это достигается путём создания юнитов, эффективно противодействующих юнитам противника. Игроки могут выбирать различные уровни сложности ИИ, от очень лёгкого до Cheater 3 (безумного). ИИ способен жульничать на уровне сложности "Читер 1" (обзор), где он видит юниты и базы, даже если игрок в аналогичной ситуации был бы лишён этой возможности. Cheater 2 даёт ИИ дополнительные ресурсы, а Cheater 3 – существенное преимущество над противником. Браузерная песочница Infinite Craft 2024 года использует генеративное программное обеспечение ИИ, включая LLaMA. При объединении двух элементов ИИ генерирует новый элемент.
Генеративный искусственный интеллект в видеоиграх
Генеративный искусственный интеллект, система ИИ, способная отвечать на запросы и создавать текст, изображения, аудио- и видеоматериалы, получил развитие в 2023 году с появлением таких систем, как ChatGPT и Stable Diffusion. В видеоиграх эти системы могут открыть возможность бесконечного создания игровых ресурсов, преодолевая обычные ограничения, связанные с человеческим трудом. Однако аналогичные опасения возникают и в других областях, особенно в связи с потенциальной потерей рабочих мест, обычно связанных с созданием этих ресурсов. В январе 2024 года SAG AFTRA, американский профсоюз, представляющий актеров, заключил контракт с Replica Studios, который позволит Replica записывать голоса актеров-членов профсоюза для создания ИИ-систем озвучивания, основанных на их голосах, для использования в видеоиграх. Контракт предусматривает оплату и защиту прав актеров. Несмотря на то, что контракт был согласован комитетом SAG AFTRA, многие члены профсоюза выразили критику в связи с этим решением, поскольку не были уведомлены о нем до его подписания и посчитали, что сделка недостаточно защищает интересы актеров.