There are two principles that are important to get right when designing an AI architecture: the first is establishing an interface for the different parts of the system to communicate, which is typically done in AI using orders. The second involves figuring out how to assemble components together such that they can achieve a particular purpose in the most elegant fashion.
This video covers the process of building a layered architecture for a traditional combat system like those in first- and third-person action games. The various layers implement logic ranging from low-level animation and locomotion, to combat tactics and strategy. In between, layers allow the components to communicate together.
See the video below for the details… This Q&A was recorded live on October 7th 2008.
There are a few key points to take away from this video:
Individual components typically don’t scale very well regardless of the system, and layering can help build larger systems.
You can tell if your layering is well designed if there are few (or no) accesses to layers 2-deep below.
The frequency at which layers are updated typically reflects their purpose, and uses that are out of range often indicate design issues.
If you have any questions or comments about the design of interfaces within AI architectures and their layering, feel free to post them below in a comment or in the forums.