This chapter discussed the different skills required for shooting and the different situations in which these skills are used:
Close combat requires mostly movement abilities!
Range combat involves a combination of skills: prediction, target selection, aiming, and firing.
The player must estimate the trajectories of the enemy and projectiles to determine the possible damage.
Different situations require different types of shooting (for instance, cover fire or containing fire).
We also described what we would expect from the AI:
The criteria we'll use to evaluate the AI are reliability, smoothness, and effectiveness.
The AI should be able to do straightforward prediction.
Animats should also be able to use the environment to maximize splash damage.
The next chapter formalizes an interface with the environment, allowing the animats to accomplish these tasks. We'll also increase the level of difficulty by adding biologically plausible errors to the actions.
An animat called Rookie demonstrates concepts in this chapter. Rookie has virtually no skills, just aiming in random directions while shooting. The web site contains the demo and source, but most importantly, the description of the architecture. Rookie has shooting skills that are based on the simplest abilities discussed in this chapter (for instance, prediction or firing), forming a functional AI architecture.