Издательский дом ООО "Гейм Лэнд"СПЕЦВЫПУСК ЖУРНАЛА ХАКЕР #64, МАРТ 2006 г.

[не]интересные идиоты

YPP (YPP_PUBLIC@MAIL.RU)

Спецвыпуск: Хакер, номер #064, стр. 064-038-1


СКАЗ О ТОМ, КАК ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ В ИГРАХ ДЕЛАЮТ

ИНТЕРЕСНЫЙ ИСКУССТВЕННЫЙ ИНТЕЛЛЕКТ ЯВЛЯЕТСЯ ОДНИМ ИЗ ВАЖНЕЙШИХ КОМПОНЕНТОВ ЛЮБОЙ УСПЕШНОЙ ИГРЫ. ОН ПРИВНОСИТ ДУХ СОРЕВНОВАНИЯ, ПРИДАЕТ УВЛЕКАТЕЛЬНОСТЬ. В ЭТОЙ СТАТЬЕ ПОГОВОРИМ О ТОМ, ЧТО ТАКОЕ ИИ В ИГРАХ, ЗА ЧТО ОН ОТВЕЧАЕТ И КАК РАБОТАЕТ

За свою более чем 50-летнюю историю развития искусственный интеллект как отрасль компьютерной науки разработан достаточно глубоко. Создано множество алгоритмов решения задач широкого спектра. Многие алгоритмы пригодны для использования и в играх, правда, здесь акценты несколько смещены. Если основная цель классического ИИ — найти правильное решение поставленной задачи, то от игрового ИИ требуют высокой производительности и «интересности». Сложно представить себе бота, которому нужно полчаса, чтобы подумать и додуматься, по какому из двух коридоров бежать или из какого оружия стрелять.

кто такие?

В общем случае под искусственным интеллектом (artificial intelligence) понимают «моделирование разумного поведения с помощью компьютера». Замечу, что применительно к игровому ИИ под словом «разумный» подразумевают поведение, характерное для человека. Кому нужны такие расчетливые противники, которые знают, куда им идти, что делать в любой ситуации, знают место расположения игрока и то, из какого оружия его легче будет подстрелить? Наверное, интереснее, противники, которые иногда могут ошибаться, делать что-то не так, в общем, вести себя как обычные люди. Именно такого мы ждем от искусственного соперника, который призван заменить нам живого человека. «Агентом» будем называть носителя ИИ, то есть некую игровую сущность, которая принимает все свои решения с помощью ИИ.

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

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

Содержание  Вперед на стр. 064-038-2