Исторически сложилось так, что игровые агенты (in-game agent) создавались как часть игровой логики. При этом двухмерные координаты персонажей обновлялись на каждой итерации, например, как в игре Рас-Мап. И хоть с тех времен прошло достаточно много времени, сам подход к созданию систем ИИ изменился незначительно. Кто-то может заметить, что сегодня программный код ИИ уже, как правило, отделен от игровой логики. Это так, однако в подавляющем большинстве игр агент обычно имеет прямой доступ к данным игры, всегда получая ту информацию, которая ему нужна. Иными словами, такое "разделение" — это не более чем разнесение практически цельной логики по разным программным модулям. Это упрощает управление исходным кодом, но не является кардинальным решением задачи.
Коль речь зашла о профаммной архитектуре, можно отметить, что подсистемы ИИ часто выполняются в виде отдельных библиотек (например, для управления передвижениями). Понятно, что подобные библиотеки могуг создаваться на основе разных принципов, основанных на различных подходах к разработке. К сожалению, наиболее распространенный подход заключается в "ручной сборке", при которой интерфейс игры и вся требуемая функциональность создаются разработчиками для каждого нового проекта, что называется, "с нуля". Приверженцам классических методов проектирования программных систем столь "индустриальный" подход может показаться анахронизмом, однако современная бизнес-среда игровой индустрии, нацеленная на получение быстрого результата, способствует применению на практике именно таких методов разработки.
Помимо проблемы разбивки на модули, существует также опасность того, что код системы ИИ, слишком разрастаясь, может стать трудно управляемым. Обычно это происходит из-за недооценки разработчиками сложности задачи или под давлением угрозы срыва сроков сдачи проекта. Например, в системе ИИ игры Return to Castle Wolfenstein для имитации конечного автомата использовались функции языка С, возвращавшие указатели, а когда объем кода достиг некой критичной отметки, разобраться в нем уже не мог никто, кроме его создателя.