CPSC 414 – Assignment 3 Ian McMeans David Matheson Overview: This project is a Mars Rover Racer. The purpose of the game is to race a rover around a track on mars, hitting each checkpoint. Each checkpoint is a small turquoise sphere. On finishing the course you'll have won! You can make your own maps by creating a config file and associated heightmaps and textures, two examples (one is lame) are included. Keys: Up Arrow – accelerate Down Arrow – brake Left Arrow – turn left Right Arrow – turn right Backspace – go back to the previous checkpoint (if you get stuck or lost) ESC – to quit the game *If you get stuck upside down keep pressing Backspace until you get flipped right side up - it teleports you to the last checkpoint you reached, but also makes ODE go haywire occasionally. Directory Structure: Since our project contains a directory hierarchy we have provided it as assign3.zip. Inside you'll find: assign3 – contains the executable, the visual studio workspace and all required files to run the game. includes – contains the headers for the open source libraries libs – contains all .lib files needed to compile with the open source libraries scr – contains all source written by us and sections of the wml math library (not written by us, and contained in the wml directory) Compiling: Although all the libraries used are cross platform we have only provided them for windows. Opening the visual studio workspace in the assign3 directory should allow you to compile (it worked for us, at least :). However it is not necessary, as we have provided an executable. Libraries Used: SDL – for window creation and event handling (similar to GLUT) ODE – for physics simulation Devil – for loading the textures and the terrain height map Known Bugs: ODE – ODE occasionally goes a little crazy, we think it's caused by other processes stealing CPU cycles - because ODE does all calculations based on variable timesteps, if the timestep is too big then the forces ODE applies can be very large and the game can appear to blow up. The best thing to do is exit and restart it. (We noticed this because receiving msn messages (which plays a sound) can occasionally do this).