Назад в библиотеку

Описание игрового искусственного интеллекта на примере игры «Black And White»

В игре «Black And White» игроку отводится роль бога. Действие игры разворачивается на острове, в котором проживают восемь различных наборов жителей (кельты, греки, ацтеки, и др.) и нечеловеческие существа. Различные племена имеют разные убеждения, увлечения и религию. В начале игры пользователь выбирает одно существо, которым будет управлять в дальнейшем. Этому существу отводится основное внимание в игре. Пользователь должен обучать и заботиться об этом существе. Суть игры состоит в том, чтобы игрок подчинил себе как можно больше деревень. Власть может быть получена либо путем поклонения, либо страха перед контролируемым пользователем существом. Присутствует соперник бога, который может уничтожить все, что пользователь создал. Чтобы уничтожить его пользователь должен пройти через определенные миссии и выполнить различные задания. «Black And White» очень похожа на стратегии, которые уже были созданы до этого. Такие как «Civilization» и «Command and Conquer». Сходство заключается в контролировании пользователем как можно больше власти. То, что отличает «Black And White» от любой другой игры – это использование искусственного интеллекта.

Есть два типа агентов в игры, которые обладают ИИ. Первый тип – это сообщество жителей. Чем больше жителей, которые подчиняются игроку, как богу, тем больше власти получает игрок. Таким образом, разработчикам было важно сделать сельских жителей интеллектуальными. По сравнению с компьютерным управлением агентов из других популярных игр, таких как «The Sims», эти сельские жители обладают достаточно развитым ИИ. Все знания, убеждения и желания агентов представлены в большой таблице, и поведение вычисляется по ней. Если их оставить в покое, они будут делать то, что лучше для деревни. Они могут рубить дрова или строить святыни. Если пользователь хочет выбрать одного из этих жителей, чтобы сделать конкретную задачу, такую как рубить дрова, все, что нужно сделать – это поместить агента рядом с деревом и агент начнет рубить дрова. Они могут легко вычислить в таблице поиска, что необходимо делать, если игрок оставляет их рядом с деревом. Далее агент будет постоянно рубить дрова, и отвозить в деревню пока его не остановит игрок. На самом деле интеллектом наделен не каждый житель в отдельности, а вся деревня в целом. Жители деревни действуют сообща для завершения всех необходимых задач, чтобы удовлетворить их табличные желания. Деревня представляет собой агента наделенного искусственным интеллектом.

Также достижением «Black And White» в области искусственного интеллекта является существо, которое выбирает пользователь. Он может также рассматриваться как ребенок, которого игрок будет обучать и воспитывать. Главным разработчиком ИИ для игры является  Ричард Эванс. Разработчики хотели сделать существо, воспитываемое игроком, наиболее человекоподобным и полезным игроку. Чтобы быть полезным оно должно быть в состоянии научиться удовлетворять желания своего хозяина и знать, как правильно действовать на основе его убеждений и восприятия. Многие из последних игр, таких как «The Sims», сделали очень человекоподобных игровых агентов и во многих других современных играх, таких как «Daikatana», сделали невероятно полезных игроку существ; но не было игр до «Black And White», которым удавалось объединить два элемента в одном: достаточно умных и чутких агентов.

Основным достоинством ИИ данной игры является то, что разработчики применяли несколько различных подходов создания искусственного интеллекта. Применяя различные методы, выбирается наиболее подходящей к конкретной задачи непосредственно перед выполнением самой задачи. Эта идея была предложена Марвином Мински. Который провел много лет в исследовании искусственного интеллекта в Массачусетском технологическом институте. В данном случае было использовано три представления. Символическая пара атрибут-значение используется для представления существом о любых отдельных объектах.

Этот метод используется наряду с основным ИИ (ситуационными вычислениями), чтобы дать существу базовую информацию об объекте. Этот скриптовый искусственный интеллект является наиболее популярным ИИ в игровой индустрии на сегодня. Дерево решений дает агенту базовые представления об объектах. А нейронные сети служат для принятия решений.

Есть множество навыков, связанных с обучением и большое разнообразие способов, которыми существо может обучаться. Существо узнает сведенья о его окружении, как выполнить определенные задачи и какие методы применять в определенных ситуациях. После завершения существом его задачи, игрок может одарить существо любовью или дать ему одну или несколько сильных пощечин. Это напоминает процесс обучения ребенка. И существо в следующий раз, опираясь на прошлый опыт, может поступить в подобных ситуациях иначе. Если пользователь несколько раз приказывает существу атаковать различные деревни, то в дальнейшем существо может самостоятельно принять решение об атаке деревни. Тот факт, что существа могут учиться, наблюдая за реакцией игрока на их действия, отличает агентов от любых других искусственных агентов, когда-либо созданных для коммерческих игр. Существо будет иметь представления о предпочтениях пользователя, чтобы поступать так, как этого ожидает игрок. Наконец, существа учатся на своих же ошибках. После выполнения определенных действий происходит настройка весовых коэффициентов соответствующих данной задаче. Например, существо с рождения знает, что еда необходима для удовлетворения голода. Это свойство подобно естественным инстинктам. Но существо еще не знает, какими объектами можно удовлетворить свой голод. Например, видя забор, существо может подойти и откусить от него кусок. Но в процессе существо понимает, что забор не удовлетворяет его потребности в еде. И в результате существо изменяет свое дерево решений так, чтобы в дальнейшем не есть забор. Ниже представлен пример того, как существо динамически строит дерево решений.

В таблице 1 представлена информация о реакции игрока на действия агента.

Таблица 1 – Реакция пользователя на атаку агента

Что было атаковано

Реакция игрока

Дружелюбный город, слабая оборона, племена культов

-1.0

Вражеский город, слабая оборона, племена кельтов

+0.4

Дружелюбный город, сильная оборона, племя норвегов

-1.0

Вражеский город, сильная оборона, племя норвегов

-0.2

Дружелюбный город, средняя оборона, племени греков

-1.0

Вражеский город, средняя оборона, племена греков

+0.2

Вражеский город, сильная оборона, племена греков

-0.4

Вражеский город, средняя оборона, племена ацтеков

0.0

Дружелюбный город, слабая оборона, племена ацтеков

-1.0

 

В своем обзоре системы ИИ для «Black And White», Ричард Эванс пишет: «Дерево решений строится, глядя на атрибуты, которые делят лучшие эпизоды обучения в группы с одинаковыми значениями обратной связи. Лучшее дерево решений – то, которое сводит к минимуму энтропию, меру того, насколько неупорядоченные обратные связи. Алгоритм, используемый для динамического создания дерева решений, основан на системе Росса Квинланса». Дерево решений об атаке города представлено на рисунке 3.

Создатели «Black And White» сделали хорошую работу, интегрировали мощный ИИ, красивую графику и 3-D визуализацию, мощную, но простую схему управления, и многое другое в своем продукте.

 

Дерево принятия решений

Рисунок 1 – Дерево принятия решения об атаке города

 

Описание игрового искусственного интеллекта на примере игры

«Call to Power 2». Call to Power 2 – это пошаговая стратегия с открытым исходным кодом, разработанная компанией Activision. Игровой процесс содержит множество доступных действия для игрока: постройка городов, разведка, захват вражеских территорий, управление армией, исследование новых территорий.

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

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

         На рисунке 4 Изображена архитектура системы и основные модули: симулятор, искусственный интеллект и база знаний. Связь между модулями осуществляется по протоколу TCP/IP, поэтому модули могут быть запущены на разных компьютерах.

         Симулятор является игровым клиентом. Клиент получает сообщения о событиях в игровом мире, и в ответ отсылает команды игрока.

         Искусственный интеллект является основным модулем в этой архитектуре и содержит несколько компонентов.

 

Архитектура системы

Рисунок 2 – Архитектура системы

Система игрового ИИ, имея в своем распоряжении достаточно времени для вычислений, определяет последние изменения игровых областей на основе событий от Симулятора (игрока).  Затем она анализирует предыдущее состояние мира и связывает изменения, произошедшие в нем. По набору базовых правил она принимает решение о своем последующем поведении.  Преимуществом ИИ в пошаговых стратегиях такого рода, конечно же, является результат, предоставляемого системой. В зависимости от уровня сложности игры система может варьировать качеством конечного результата, приспосабливаясь, таким образом, к требованиям игрока.