На практике профессиональный разработчик систем ИИ для компьютерных иір часто является одновременно программистом, инженером по представлению знаний и экспертом в предметной области. Но даже если в рабочей группе проекта имеется специалист, квалификация которого позволяет выполнить все эти роли одновременно, все же лучше поручить их разным людям или, во всяком случае, разнести соответствующие работы во времени. Для этого можно, например, разделить этапы создания содержимого системы ИИ и создания ее программного кода: прежде всего реализуется программный код системы, основанной на знаниях, а разработка правил экспертами переносится на более поздние этапы производственного цикла. В общем случае производственный цикл по созданию игры представляет собой итеративный процесс, состоящий из написания программного кода и его тестирования. Поэтому отделение задачи по созданию механики системы ИИ от задачи по созданию представления знаний позволяет органично разделить процесс разработки системы на два этапа, с каждым из которых вполне может справиться один человек.
При использовании RBS-систем в играх можно также отметить дополнительные преимущества, основанные на природе экспертных систем ІІ поколения,
> Повторное использование кода. Если RBS-система реализована в виде отдельного модуля, это позволяет применять ее для решения различных проблем. При использовании процедурного подхода, когда знания хранятся непосредственно в программном коде, возможность повторного использования резко снижается или вообще исчезает. Декларативный же подход позволяет подгружать знания из файла непосредственно на этапе выполнения программного кода системы.
> Отладка. Если RBS-система применяется для моделирования поведения, а не для решения проблем, результаты ее работы становятся очевидны всем участникам рабочей группы проекта. Поэтому при выявлении ошибки любой разработчик может составить отчет с описанием точной ситуации, в которой она проявилась. Кроме того, для автоматизации этой задачи можно легко создать специальную процедуру, которая будет записывать текущее состояние рабочей памяти RBS-системы на диск. После получения такой информации об ошибке создание дополнительного правила, предназначенного для ее устранения, — задача тривиальная. Наличие даже самого простого пользовательского интерфейса позволит вносить изменения в базу правил практически любому участнику рабочей группы, независимо от его квалификации!
Как это часто бывает, за подобную гибкость приходится расплачиваться снижением скорости выполнения. Это, конечно, серьезный недостаток, о котором следует поговорить отдельно.