Система ИИ с точки зрения программирования игры

На практике назначение системы ИИ в игровой машине сводится к управлению всеми аспектами поведения несобственных персонажей. Например, в типичной компьютерной игре (причем вовсе не обязательно в игре со стрельбой от первого лица) система ИИ должна решать следующие задачи.
> Простейшие поведенческие реакции. Подбор предметов, нажатие переключателей, использование объектов, выполнение определенных жестов и т.д.
> Перемещение. Обеспечение передвижения персонажа в игровой среде с обходом препятствий, открытием дверей, прыжками на возвышения и т.п.
> Принятие решений. Выбор одного из возможных типов поведения и (или) одной из возможных операций с целью выполнения стоящей перед несобственным персонажем задачи, а также определение приоритетности таких операций.
Для разработки системы, обеспечивающей контролируемое решение всех перечисленных задач, вполне достаточно несложных технологических решений. Такие решения можно создать на базе стандартных методов программирования, получив в результате "псевдо-ИИ". Однако если такую же систему создать на основе методов и технологий, взятых из области "чистого" ИИ, полученная в результате система будет обладать следующими дополнительными преимуществами.
> Получение достаточно изящных решений в тех случаях, когда нужно организовать явный контроль.
> Эффективная поддержка на высоком технологическом уровне ситуаций с неявным контролем.
Кроме того, в сравнении со стандартными технологиями, основанными на обработке сценариев, "чистые" технологии ИИ более эффективны с точки зрения производительности аппаратных средств. Это означает, что на одних и тех же вычислительных ресурсах, используя передовые технологии ИИ, можно получить более качественно реализованные поведенческие реакции персонажей. Это достигается благодаря различным аспектам ИИ, которые мы будем обсуждать далее в этой книге.
> Технологии ИИ предоставляют разработчикам такие функциональные возможности, как управление моторными реакциями, распознавание образов, предсказание или аппроксимация.
> Компоненты системы ИИ можно реализовать в виде шаблонов проектирования (desing pattern), что значительно облегчает их интеграцию в архитектуру игры, а также повышает степень повторного использования кода.
> Работоспособность методов, на которых основывается функционирование системы ИИ, была неодноіфатно апробирована в реалистичных средах.
Таким образом, технологии и методы ИИ — это не академические забавы, пригодные лишь для создания синтезированных персонажей в лабораторных условиях, а вполне работоспособные инструменты, которые можно и нужно применять с успехом на практике при разработке игр. Все игры обладают рядом особенностей, которые обязательно следует учитывать при проектировании и создании реальных систем ИИ. В частности, две из них имеют исключительно важное значение в играх.