Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Искусственный интеллект в играх .doc
Скачиваний:
4
Добавлен:
01.07.2025
Размер:
146 Кб
Скачать
☆

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

«Агентом» будем называть носителя ИИ, то есть некую игровую сущность, которая принимает все свои решения с помощью ИИ. Под юнитом подразумевается любая «живая единица» — та, которая может самостоятельно перемещаться, вступать в бой, собирать ресурсы, строить здания и т. д.

Системы игрового ИИ можно условно разделить на два типа. Первый — это локальный (индивидуальный), то есть ИИ отдельной единицы: солдат, танк, пробегающий мимо заяц или автоматическая дверь на уровне. Такие системы состоят из основных четырех элементов: система ввода информации (сенсор); память; модуль (ядро) принятия решений; система вывода (реагирования) системы. Первый элемент отвечает за то, чтобы агент воспринял все факторы окружающего мира, относящиеся к делу: положение противника, наличие препятствий, посторонние звуки и т.д. Принимая во внимание внешние факторы (ввод системы) и происходившее ранее (память), агент решает, что ему делать в следующий момент времени. Например, солдат, патрулирующий здание, должен уметь перемещаться по коридорам этого здания, видеть и (встречается нечасто) слышать. Он также должен правильно оценивать обстановку и принимать решение об отступлении/атаке/вызове подкрепления (если успеет, конечно), когда встречается с врагом.

Второй тип систем ИИ отвечает за глобальные действия/события в игре. Например, в стратегических играх он управляет всей армией врага, определяет баланс сил на основе некоторых показателей (обычно: количество ресурсов, юнитов, зданий и т.д.), затем на основе этой и другой информации вырабатывает свою стратегию ведения войны. Притом каждый юнит имеет свой локальный ИИ, который помогает ему выполнять приказы глобального (группового) интеллекта (перемещаться по локациям, обходя препятствия; распознавать вражеские юниты и т.д.). Например, вспомним StarCraft. Игрок вынужден сражаться с армией, контролируемой компьютером. Получается, что компьютер управляет большим количеством юнитов. Но несложно заметить, что каждое существо, которым управляет групповой ИИ в StarCraft, обладает собственным «разумом». Например, групповой ИИ может направить некоторую группу юнитов на патрулирование местности, но если они встретят на пути неприятеля – отвечать за их действия будет уже их собственный искусственный интелект [9].

1.4. Основные виды систем ии в компьютерных играх

Системы ИИ, применяемые в компьютерных играх, можно разделить на два основных вида. Во-первых – это так называемые детерминированные системы. Они отличаются предсказуемостью действий персонажа. И во-вторых – это недетерминированные системы – персонаж, управляемый таким ИИ, может действовать непредсказуемо, принимать неожиданные решения. Индивидуальный ИИ юнитов играет подчинённую роль в сравнении с групповым ИИ. А может ли искусственный интелект отдельного юнита повлиять на игру в целом? Может – в том случае, если предусмотрено распространение успехов отдельного юнита на всех схожих. Например, какой-то юнит столкнулся с сильным противником и чудом вышел победителем в схватке. Этот юнит набрался опыта, который, благодаря групповому ИИ, может быть распространён на других юнитов. Т.е. если один юнит чему-то научился, другие, благодаря групповому ИИ, смогут перенять у него новые умения. Таким образом, индивидуальный и групповой ИИ взаимосвязаны, а в некоторых случаях и взаимозависимы. Персонаж, оснащённый недетерминированным ИИ, отличается непредсказуемостью поведения, большей «живостью». Играть против таких персонажей обычно гораздо интереснее, чем против жёстко детерминированных. Популярным в последнее время способом реализации недетерминированного ИИ является технология нейронных сетей. Она позволяет создавать персонажи с очень сложным поведением. К тому же, нейросети обладают свойством обучаемости. То есть персонажи игр не только разумно ведут себя, но и учатся на своих ошибках. На практике находят применение как детерминированные, так и недетерминированные виды ИИ. Обычно они действуют совместно. Например, для выполнения каких-то простых однозначных действий (скажем, при приближении к стене свернуть) могут применяться простые и быстрые детерминированные алгоритмы. В более сложных случаях (например – купить ли акции компании Х учитывая огромное количество параметров, напасть ли на врага, учитывая его возможности, свои возможности, наличие подкрепления и т.д.) – применяются более сложные недетерминированные алгоритмы [7].