The analysis of the overall task and platform is important in the short term, because it enables us to draft a few lists to be used in following stages of the development:
Assumptions about the platform used by the specification phase to create a formal model
Guidelines that will help the application phase make the most of the software
Restrictions on the problem enforced by the design, and the environment itself
The understanding phase takes the restrictions, requirements from the rest of the team, and goals from the design and attempts to describe the problem:
Problem definition takes the form of a case study that explains which actions should be taken in what circumstances. The application phase attempts to match this definition.
Criteria are standard ways to judge the outcome of the simulation and used as the basis of the evaluation process.
Both these preliminary phases provide long-term benefits because they offer a way to check design ideas for consistency and allow empirical evaluation of the implementation. Revealing the criteria that are least satisfied is a good way to identify parts of the solution that need improving.
After another practical experiment, the next chapter defines an interface specification that provides the skeleton for the implementation of moving animats.
Tobor is an animat that can obtain basic information from the environment. It has tactile sensors that detect physical contact with obstacles. Tobor has a robotic response to collisions, stopping immediately and turning around mechanically. The demo and documented code can be found on the web site at http://AiGameDev.com/.