An Engineer's Perspective
Relying on a solid design is important for game developers. However, creating an AI system requires a more pragmatic approach.
Entertainment and realism are undoubtedly goals for game developers. In fact, these objectives are often worshipped—as if placed on a pedestal. Such an attitude is often counterproductive, leading to comments such as these:
This attitude is acceptable from a player's point of view, but the goal is more cooperation within the development team! Thinking of entertainment and realism as the Holy Grail really dodges the issue. English is ambiguous, and leaving these values as fuzzy terms such as entertainment and realism certainly doesn't help understanding. By not even trying to define these terms, the development teams—and particularly the AI engineers—are sentencing themselves to hours of forced labor, fastidious tweaking in the search of what closely resembles an illusion.
The aim of game designers and AI programmers is to bring these objectives onto the dissecting table and divide them into small parts. These atomic concepts are easier to identify and analyze, revealing what entertainment and realism are all about. Engineering relies on the capability to quantify goals; removing all ambiguity from these goals makes it possible to refine the design into specific NPC behaviors. Under these conditions, the development team can perform at its best.