IMGD 400X (B 08)

Homework Assignment #3

Tank States

Due by Web Turn-In: Midnight, Wednesday, November 5

(See general homework instructions for turn-in details.)

The purpose of this assignment is to gain experience formalizing an AI behavior as a finite state machine. Imagine that you are an AI developer in a game company and one of the designers gives you the textual tank behavior specification below and wants you to implement it.

Here are the basic steps and work products you should go through:

  1. Create a table that lists all of the states and their properties and actions.

  2. Create a table of game conditions that will be used to transition between states.

  3. Draw a diagram that includes the states and their transitions.
Feel free to use a global state (as in Buckland's state machine implementation). However, at this level of design, don't worry about whether game environment information is stored in state instances or game entities (singleton state implementation).

Finally, don't be surprised if you discover during the formalization process that the textual behavior specification below is incomplete (that's typical and part of the goal of formalization). Make reasonable decisions on the incomplete cases and document them.

Tank Behavior Specification

Initialization Combat Termination

What to Turn In


Please post any questions to the myWPI forum for the course.

Acknowledgement: I would like to thank Robin Burke for allowing the reuse of this assignment.