Необходимость технического проектирования

Хотя некоторым нетерпеливым разработчикам такое "топтание" вокруг технического проекта может показаться пустой тратой времени, в действительности важность этапа технического проектирования трудно переоценить! Если он будет выполнен небрежно или некорректно, система ИИ может стать "камнем на ногах" всей игры.
Гибкость интерфейса позволяет значительно упростить эксперименты с полученной моделью. Если улучшение внутреннего устройства функций-прототипов не требует переработки интерфейса, существенно снижается количество необходимых итераций в процессе реализации и тестирования системы. Но кроме практических соображений, в выполнении технического проекта имеется также и ряд преимуществ с точки зрения архитектуры системы.
> Высокоуровневое представление. Архитектурная часть технического проекта представляет систему ИИ в виде "черного ящика", отделяя собственно проект от его реализации. Это позволяет не только увидеть место проектируемой системы в общем проекте игры, но и выполнить теоретический анализ моделируемых процессов.
> Абстракция. Если имеется формальное описание входов и выходов, гораздо проще представить проблему в виде частного случая более общей проблемы (например, распознавание образов или аппроксимация функций). После этого мы можем использовать наработки из соответствующей области знаний для создания нужной нам системы.
> Возможность сравнения. Можно реализовать несколько различных модулей с одинаковым интерфейсом, а затем попробовать, как каждый из них ведет себя в игре. В таком случае еще на этапе натурного макетирования можно оценить, какое из решений лучше подходит для данной проблемы.
Все эти преимущества, как правило, перевешивают те сложности, которые сопряжены с необходимостью выполнять формальное проектирование системы.