What has this chapter introduced about movement, and notably the different approaches to re-creating it?
Navigation is a skill that produces purposeful movement.
Biological creatures do well at navigation because they continuously perceive their environment and act accordingly.
Standard game bots generally use a static version of the world, often simplified. This can cause problems if the assumptions are erroneous, notably in dynamic environments.
Animats can sense their environment, so they can navigate dynamically. However, this approach in itself doesn't perform as well as the nonembodied approach, because it lacks global knowledge of the world.
The next chapter steps back and focuses on game AI development in general. Before continuing with our quest for autonomous movement, we're going to examine the process we've just been through: analyzing and understanding the problem. This will enable us to draft requirements in other situations when designing different AI components.
A quick demo is in order to build up motivation to go through the next chapter. On the web site at http://AiGameDev.com/, in the Demos section, there's an animat called Bouncer. Follow the online instructions to run the example. Bouncer runs around monitoring its own movement. When forward movement is not what was expected, a collision is assumed. Bouncer then turns around in a random direction until it can move again. The source code is very simple and can be found alongside the demo.