Discussion

Although it may seem wasteful to spend so much time on the specification, this phase is probably more important than design in software development! If handled incorrectly, the specification can become the bottleneck of the development.

A flexible interface has the advantage of simplifying the experimentation. If prototypes can be refined without changing the interface, the iterations are significantly reduced. As well as practical benefits, there are also design advantages:

  • High-level understanding The specification provides the blueprint for the AI as a black box, separating design from implementation. Not only does this place the task within a bigger picture (the entire architecture), but it also allows theoretical analysis of the process (for instance, can this problem be solved).

  • Abstraction If the input and outputs have been formally described, the entire problem may be classed as a particular variation of a more generic one (for instance, pattern recognition and function approximation). We can then use the expertise from this second domain to assist our development.

  • Comparison Given the same interface, different modular implementations can be easily integrated. Evaluating them together then becomes a much simpler task, which is an advantage when comparing prototypes.

These benefits very often outweigh the difficulty of establishing the specification such as taking into account restrictions, comparing options, making compromises.



AI Game Development. Synthetic Creatures with Learning and Reactive Behaviors
AI Game Development: Synthetic Creatures with Learning and Reactive Behaviors
ISBN: 1592730043
EAN: 2147483647
Year: 2003
Pages: 399

flylib.com © 2008-2017.
If you may any questions please contact us: flylib@qtcs.net