Вы устали от порчи со стороны Ковенанта? Узнайте, как они думают, от человека, создавшего искусственный интеллект для «Halo 2». В этом эксклюзивном интервью Stuffo Крис Батчер из Bungie Studios расскажет нам.
17.11.04
Итак, я здесь... в окружении коробок из-под пиццы, мягких оберток от тако, банок из-под газировки и контроллеров. Я устал, и я плохо пахну. Наконец-то я прошел "Halo 2". Ковенанты устраивали засады, стреляли из снайперов, выгоняли, загоняли в угол и просто сбивали с ног больше раз, чем мне хочется припомнить. Как в «Halo», так и в «Halo 2» боевая смекалка противника является одним из самых впечатляющих аспектов игры. Враги — это гораздо больше, чем просто натиск фуража. Это не стрелок твоего папы. Если вы думаете, что быстрый триггерный палец позволит вам прорваться через Ковенант в «Halo 2», то на нем есть мешок для трупов с вашим именем.
Вражескими персонажами в «Halo», как и во всех видеоиграх, управляет искусственный интеллект или ИИ. Сложность искусственного интеллекта часто может сделать игру увлекательной, реалистичной и реиграбельной, а может и сломать ее. Halo находится на вершине списка, когда речь заходит об ИИ. Враги реагируют, отвечают и приспосабливаются к игроку, как настоящие бойцы на поле боя.
Если вы поражены тем, насколько «грязным» может стать «грязный бассейн» Ковенанта в пылу битвы, вам будет интересно услышать, что Крис Батчер сказал об искусственном интеллекте «Halo 2». Крис является одним из четырех ведущих инженеров в Bungie Studios, каждый из которых отвечает за определенные части создания Halo. Крис создал ИИ для оригинальной «Halo» и расширил свою работу в «Halo 2». За несколько дней до запуска «Halo 2» Стаффо получил возможность поговорить с Крисом об искусственном интеллекте «Halo 2».
Хотите больше гало?
У нас есть: внутренняя информация о создании сюжета и звука, экскурсия по студиям Bungie, введение в историю Halo и многое другое.
Нажмите здесь, чтобы проверить все это.
- Основы
- Восприятие ИИ
- Принятие решения
- Найти путь
- Работая вместе
- Зловещая долина
Основы
«Я написал искусственный интеллект для Halo 1, — объясняет Крис. «По сути, это очень специализированный тип интеллекта. Для каждого персонажа был свой код». В «Halo 2» Крис расширил ИИ, созданный им для первой игры. Первое, что нужно понять об ИИ-персонажах в Halo, это следующее: «ИИ живет в смоделированном мире».
Большинство шутеров от первого лица, таких как Quake или Unreal, построены на графическом движке. Игрок, по сути, представляет собой стационарную «камеру», и движок создает ощущение движения по миру, отрисовывая графику, создающую этот эффект. Halo отличается, объясняет Крис. «Halo — это движок моделирования. Движок создает мир, затем помещает в него игрока и ИИ… [] Персонажи и их код изолированы от мира».
Каждый персонаж предназначен для выполнения определенных действий, но, несмотря на свои индивидуальные роли, все они действуют одинаково. Разбивается так:
- Персонаж использует свои «чувства» ИИ, чтобы воспринимать мир — чтобы определять, что происходит вокруг него.
- ИИ берет необработанную информацию, которую он получает на основе своего восприятия, и интерпретирует данные.
- ИИ превращает интерпретированные данные в более обработанную информацию.
- ИИ принимает решения о том, какие его действия должны быть основаны на этой информации.
- Затем ИИ выясняет, как лучше всего выполнить эти действия для достижения желаемого результата, исходя из физического состояния окружающего мира.
«Все это работает благодаря тем же возможностям, что и у игрока», — объясняет Крис. Это ключевой момент в том, как работает искусственный интеллект Halo: поскольку персонажи вынуждены воспринимать окружающий мир, они во многих отношениях, как и игрок, ограничены своими чувствами — в их общем понимании того, что происходит вокруг. их. Это ограничение делает поведение ИИ-персонажей более реалистичным, поскольку они могут удивляться, совершать ошибки и принимать решения, основываясь на своем восприятии того, что происходит вокруг них. Как говорит Крис, «на самом деле между игроком и персонажем с искусственным интеллектом в Halo очень мало различий».
Восприятие ИИ
Крис продолжает:
Итак, мы смоделировали зрение, слух, а также немного осязания. Там, где у игрока есть пять чувств, и они хорошо развиты, ИИ в Halo действительно в основном реагирует только на визуальный и звуковой ввод. Это потому, что игрок обычно дает о себе знать ИИ двумя способами: ИИ видит игрока или издает шум, например, стреляет в кого-то».
Крис продолжает:
Таким образом, у них есть модели памяти, которые представляют собой то, что они знают о мире. Они берут эту модель памяти и превращают ее в более конкретную боевую информацию. Например, если у меня есть память о семи персонажах в этой комнате, и один из них мой друг, а остальные шесть мои враги, у меня будет знание, говорящее: «Я сражаюсь в ближнем бою с подавляющей силой». Здесь шесть врагов и только два друга. Это пример более обработанной информации, которая используется для создания более устойчивых знаний о том, каково состояние битвы или каково состояние мира и как я должен реагировать на это?»
Принятие решения
Каждый ИИ в Halo по очереди «думает». Эти повороты происходят очень быстро, из-за чего создается впечатление, что каждый ИИ постоянно думает. Когда наступает его очередь, каждый ИИ принимает решения на основе данных, которые он обработал. Это система поведения ИИ. Крис объясняет:
Четыре состояния боевого цикла:
- Праздный
- Охрана/Патруль
- Атака/Защита
- Спасаться бегством
Это принятие решения. За всем этим стоит базовый боевой цикл: наблюдение за врагами, сражение с отступающими врагами и возвращение в другое боевое состояние. Все это боевое поведение, потому что... наш ИИ не пьет, не ест и не спит. Все, что он на самом деле делает, — это стоит рядом, а затем сражается, когда враги поблизости, но мы пытаемся сделать это поведение как можно более реалистичным».
Крис продолжает:
Мы редко делаем что-то случайно. Цель не в том, чтобы создать что-то непредсказуемое. Что вам нужно, так это искусственный интеллект, который является последовательным, чтобы игрок мог вводить определенные данные. Игрок может делать что-то и ожидать, что ИИ будет реагировать определенным образом. Например, если я подкрадусь сзади к Ворчуну и застану его врасплох, я ожидаю, что он убежит. Было бы плохо, если бы они убегали только в половине случаев, потому что тогда игрок может построить план, который будет работать только в половине случаев. Мы стараемся идти на предсказуемые действия, но непредсказуемые последствия. Ворчун всегда будет убегать, но вы не обязательно знаете, куда он убежит. Отсюда и реиграбельность».
Найти путь
Крис продолжает:
Во встречах есть правила. Ковенант будет здесь, на крыше здания. Если игрок убивает троих из них, то Ковенант переходит к набору точек, которые находятся внутри здания. На самом деле Ковенант следует довольно простым правилам, которые игрок воспринимает... как ход битвы. Похоже, ковенанты думают, что они ослабли, поэтому отступают на более оборонительную позицию. На самом деле, они просто следуют довольно специфическим правилам, которые были изложены для них в этом пространстве».
Крис работает с дизайнерами уровней, чтобы проанализировать каждую точку в допустимой области для ИИ. В некотором смысле, мышление делается за них. Каждой точке присваивается значение, основанное на ее характеристиках в пространстве. Например, высокое место может быть хорошим местом, если вы атакуете, но не очень хорошим, если вас атакуют. Место за стеной может быть хорошим местом, чтобы спрятаться, но не стрелять. ИИ знает эти значения и выбирает место, которое предлагает значение, необходимое для текущей ситуации.
Настоящая задача поиска пути — добраться до этой точки осмысленным образом. Крис уточняет:
Чтобы создать еще больше реализма в том, как ИИ взаимодействует с объектами в мире, команда использует анимацию, чтобы сгладить внешний вид поиска пути. «Мы также помечаем объекты точками анимации», — объясняет Крис. «На ящике может быть метка, которая говорит ИИ: «Вы можете запрыгнуть на него, если хотите». Таким образом, при поиске пути ИИ может решить проложить путь через отмеченные объекты.В бою, если ИИ знает, что враг прячется за этим отмеченным объектом, он может прыгнуть на него сверху и сказать что-то страшное, или если он потерял увидев врага, они могут решить запрыгнуть на какой-нибудь объект, чтобы лучше его разглядеть».
Теги объектов также используются для информирования ИИ об изменениях в их среде и указывают места, которые ИИ может использовать в качестве укрытия. Но если эти объекты покрытия уничтожаются или перемещаются, тег меняется. Вот как ИИ узнает, что он больше не может искать укрытие в этой точке пространства. Тег обложки прикрепляется к объекту, а не к пространству.
Работая вместе
«Halo 1» предложил игрокам уровень координации и сотрудничества ИИ, редко встречающийся в играх FPS. Создав серию встроенных ответов в каждом отдельном ИИ, создатели создали впечатление, что ИИ работает вместе. Крис объясняет: «Одна из самых интересных вещей в Halo заключается в том, что у нас есть множество инструментов, позволяющих заставить ИИ работать вместе как скоординированная сила… [ИИ] принимает индивидуальные решения на основе того, что происходит вокруг них с их друзьями. Например, Ворчун мог бы принять индивидуальное решение: «Элита, с которой я только что был, убита. Так что я собираюсь убежать».
Ворчуны запрограммированы всегда реагировать таким образом. То, что кажется игроку эмоциональной или тактической реакцией, на самом деле является простым утверждением «если/то».
ИИ также были даны команды двигаться индивидуально с рекомендациями, которые заставляли их выглядеть так, как будто они были командой. Крис привел морских пехотинцев в качестве примера: «Мне нравится стоять с моими друзьями, но не слишком близко». Вот как работают морские пехотинцы. Морские пехотинцы, как правило, двигаются вместе как единое целое, но они не будут стоять в поле огня друг друга».
Но это был первый Halo. «В «Halo 2» у нас есть новые инструменты для их совместной работы, — объясняет Крис. Его команда добавила к ИИ систему совместного поведения, которая позволяет им вместе работать над гораздо более сложными задачами. «ИИ скажет: «Я обдумываю это совместное поведение и замечаю, что вокруг меня есть люди, которые являются моими друзьями». Поэтому они отправляют запрос другому ИИ, чтобы сказать: «Я хотел бы сделать это с вами. Вы примете это?» а другие ИИ, когда придет их очередь думать, либо примут это, либо отвергнут и сообщат создателю. Мы использовали эти новые разработки для различных тонких и очевидных улучшений. Наиболее очевидным является то, что персонажи разговаривают друг с другом. ИИ публикует совместное поведение: «Я заметил, что мы оба ищем одного и того же парня. Я хочу рассказать вам кое-что о нем и хочу, чтобы вы ответили мне». или: «Мы оба ищем одного и того же парня». Давайте работать вместе, чтобы найти его, чтобы мы могли выпрыгнуть и удивить его вместе ».
Садиться в транспортное средство — еще одно групповое поведение. Если ИИ может видеть движущееся транспортное средство, он может отправить запрос ИИ, управляющему этим транспортным средством, с просьбой подвезти. Водитель ИИ, если примет пост, остановится, развернется и заберет его.
И диалог не только для вкуса, объясняет Крис. «Разговор важен, потому что поведение и общение ИИ не были бы очевидны для игрока, если бы ИИ не говорил что-то и не заявлял игроку о своих мотивах».
Зловещая долина
Когда интервью подходило к концу, мы с Крисом обсудили некоторые проблемы, с которыми сталкивается ИИ.
«Вы знакомы с теорией «зловещей долины» из компьютерного анимационного фильма?» он спросил. Я не был, поэтому Крис объяснил это:
Крис продолжает:
У них есть все эти интересные вещи, которые они делают и говорят в бою, после боя и в определенные моменты миссии, но если вы просто побудете и понаблюдаете за ними, они на самом деле ничего не сделают. Игровая индустрия быстро приближается к тому моменту, когда мы создаем персонажей, которые действительно реалистичны в своих конкретных режимах работы, но когда вы выводите их из этих режимов работы, они действительно начинают разваливаться.
Проблема с ИИ в играх сейчас такова: «Каковы границы ИИ? Как нам скрыть эти границы от игрока? И как нам выйти за их пределы? Вот что такое искусственный интеллект. Речь идет о том, чтобы заставить игрока поверить, что там есть что-то разумное».