Тактический и стратегический ИИ

 

Роль тактического ИИ состоит в координации усилий групп агентов в игре. Реализация такого типа ИИ важна для многих типов игр: и отряды в тактических шутерах от первого лица, и группы юнитов в стратегиях в реальном времени используют различные тактические приемы и методы. Группы более эффективны, поскольку члены группы могут поддерживать друг друга, могут действовать как единое подразделение, обмениваться информацией и распределять действия по получению информации. Принцип тактического ИИпостроен вокруг динамики группы. Игра должна отслеживать различные группы объектов. Каждую группу необходимо обновлять отдельно от индивидуальных объектов. Для этого можно использовать выделенный модуль обновления, отслеживающий различные группы, их цели и их состав. Недостаток этого метода состоит в том, что требуется разработка отдельной системы для игрового движка. Поэтому удобнее использовать метод командира группы. Одному юниту в составе группы можно назначить роль командира группы. Все остальные члены группы связаны со своим командиром, их поведение определяется информацией, полученной из приказов командира. Командир группы обрабатывает все вычисления тактического ИИ для всей группы.

Стратегический ИИ — это ИИ более высокого порядка, он управляет целой армией, вырабатывает оптимальные стратегии и способен оценить ход игры в целом. Стратегический ИИ обычно применяется в стратегиях в реальном времени, но в последнее время его все чаще реализуют и в тактических шутерах от первого лица. Управляемый игроком командир может представлять собой отдельную систему или может быть настроен как пустой объект, не имеющий места и графического изображения, но обновляемый и размышляющий. Командиры подчиняются иерархическим системам правил и конечным автоматам, которые управляют такой деятельностью, как сбор ресурсов, изучение дерева технологий, создание армии и т. д. Как правило, для базового поддержания игровых элементов не требуется особо сложных размышлений. Интеллект нужен главным образом при взаимодействии с другими игроками. Управление этим взаимодействием (или сражением) — вот где прежде всего работает ИИ. Командир должен изучить карту игры, чтобы обнаружить игрока, выявить основные области интереса, например узкие проходы, выстроить оборону и проанализировать оборону другого игрока[2].

 

Восприятие окружающего мира игровым искусственным

Интеллектом

 

Все интеллектуальные игровые агенты должны иметь возможность воспринимать окружающую среду и ориентироваться в ней при перемещении. Для этого игровой искусственный интеллект должен обладать рядом специфических возможностей.

Зрение. Чтобы принимать взвешенные решения, игровому агенту нужно знать окружающую его обстановку. В робототехнике для этого активно применяются различные технологии компьютерного зрения, позволяющие машинам получать трёхмерные объемные изображения. В системах игрового искусственного интеллекта такая детализация, безусловно, избыточна. Компьютерный мир здесь имеет одно большое преимущество: разработчикам уже заранее известны все объекты, с которыми машина может столкнуться.

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

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

Укрытие. В случае беспорядочного огня противника игровых агентов можно наделить способностью прятаться за укрытия. Чтобы это реализовать, агент сначала должен определить, сможет ли он спрятаться за окружающие его объекты, сравнив свои размеры с размерами укрытия, и далее, определив свободно ли выбранное место, переместиться туда.

Навигация искусственного интеллекта. Оценив окружающую обстановку и приняв какое-либо решение, игровому агенту нужно понять, каким образом ему двигаться к заданной точке. Для этого можно использовать несколько подходов в зависимости от характера и уровня игры. Наиболее простым является алгоритм «Столкнуться и повернуть», когда агент двигается до тех пор, пока не столкнутся с каким-либо препятствием. Далее движение осуществляется по направлению, используя который агент окажется ближе всего к заданной цели. Такой подход чаще всего применяется в несложных играх. В более сложных играх данных подход несколько модифицируется: игровых агентов можно снабдить памятью, что позволяет им быстрее найти путь к цели.

В ряде стратегических игр у игроков нет времени, пока их войска разбредутся и достигнут цели, используя алгоритм «Столкнуться и повернуть». Здесь активно используются технологии предварительного поиска наиболее оптимальных путей с помощью карты. Поиск путей является уже давно решенной задачей для разработчиков. Даже в такой старой игре, как Starcraft, выпущенной Blizzard Entertainment, игровые агенты имели возможность находить оптимальные пути движения по крупным и сложным картам [5].