CS490 Supervised Undergraduate Research COmputer Game Design Part I - Fall 2002 Assignment #3 - Due Feb 12th, 2003 ------------- For this homework you will implement a simple Finite State Machine to control the behavior of a game character. *** In order to do this, your CSUG lab account must be set up and GameX must be installed. We have provided complete instructions on how to do this on the Game Design web site at: http://www.cs.cornell.edu/~rch8/courses/game490 GameX itself can be downloaded from the Gamex home page: http://www.lightlink.com/cc/gamex *** Using C++, create a class which implements a Finite State Machine. Your class must have the following features: 1) It must load an array of ImageX images from TIF files stored on disk. You can use the same mechanism that the Ship class does in the ShipDemoX demo files. 2) You must maintain a current image member variable which is an index into the image array. This variable will represent the current image being display (out of the array of images), but >not< necessarily the current state of your Finite State Machine. (You will probably need another variable for the current state of your FSM) 3) You must provide a public member function called "void Draw (void)" which takes no parameters, has no return value, but uses the GameX draw functions to draw your "character" based on the current image variable. 4) The output of your program should be a GameX project in which a sprite "character" moves around or behaves in a way directed by a FSM. Your character should respond to internal behavior (that is, the FSM represents internal character AI) or possibly user input (using GameX). Note: More ambitious programmers can have their character respond to some other object or the environment as well. Implemented as seperate classes, of course. You can have as many sprites in the sprite array as you would like. Although I would prefer if you created your own sprites using Photoshop (saving them as TIF files), feel free to use whatever sprites or images you want to. (Note: If you do create your own sprites, be sure to save them as TIF files with >no< LZW compression using Photoshop. Photoshop is available in the CIT lab in the basement of Upson) If you are unfamiliar with C++, or have trouble compiling and linking, or have any questions about this assignment in general, first look at the ShipDemoX demo files for help or inspiration. The GameX manual itself can be found at http://www.lightlink.com/cc/gamex.