Interactive Media & Game Development
Worcester Polytechnic Institute

IMGD


IMGD-3000: Technical Game Development I
Project 2
Due: November 15, 2007 at 11:59pm

Objective: In this project, you will build on the work you accomplished on Project 1 in pursuit of completing the game "Jäger: The Hunt for Crazy Gert's Gold!".

You will create a user interface to display Hedi's state to the user, implement the keys to allow Hedi to eat mushrooms, throw jellybeans, drop jellybeans, eat a jellybean off of the floor, and pick up coin.

You will implement zones and portals around each cell of the maze. As you have probably noticed, the framerate drops significantly with large mazes. The use of zones and portals will make this run significantly faster.

There are two parts to this project: a "Preparation" part, and a "New Stuff" part.


Preparation: Compile and run your code-base before making any of the changes required for Project 2. (pretty easy, eh?)

New Stuff:
  1. You should flesh out the Jaeger files, and (possibly) add some more, based on the in-class exercises.
  2. You will create a user interface to display Hedi's state to the user. You need to include elements showing:
    1. Gold he is carrying,
    2. Mushroom time/type,
    3. Status messages.
  3. You will implement the eating of mushrooms.
  4. You will implement the throwing of either a red, green, or blue jellybean.
  5. You will implement the dropping of either a red, green, or blue jellybean.
  6. You will implement the eating of a previously dropped or thrown jellybean (YUCK!).
  7. You will implement the picking up of coin.
  8. You will implement zones around each cell, and portals between each pair of reachable cells.

Extra
Credit:
These options may be implemented for extra credit:
  1. Add effects of some kind, e.g., when Ghoulies show up, when you throw a jellybean, etc.

Documentation: You must create adequate documentation, both internal and external, along with your project. The best way to produce internal documentation is by including inline comments. The preferred way to do this is to write the comments as you code. Get in the habit of writing comments as you type in your code. A good rule of thumb is that all code that does something non-trivial should have comments describing what you are doing. This is as much for others who might have to maintain your code, as for you (imagine you have to go back and maintain code you have not looked at for six months -- this WILL happen to you in the future!).

I use these file and function (method) headers, in my code. Please adopt these (or the official CS ones) for all your projects. The file header should be used for both ".h" and ".cpp" (or ".c") files.

Create external documentation for your program and submit it along with the project. The documentation does not have to be unnecessarily long, but should explain briefly what each part of your program does, and how your filenames tie in. Most importantly, tell the TA how to compile your program.


What to
Turn in:
All documents are to be submitted electronically via turnin by 11:59 pm on the day the assignment is due.

Make sure to include a README file as well, with a short description of what each person did.

When you are ready to submit, zip everything up into a single archive file.
Name the file LastnameFirstname_proj2.zip.

You will use the new Web-based "Turnin" facility to submit your work. Information about submitting can be found here:

http://web.cs.wpi.edu/~kfisler/turnin.html.

Your WPI user ID should be used to login, and you should have been emailed a password.
The Turnin assignment ID is proj2.


Academic
Honesty:
Remember the policy on Academic Honesty: You may discuss the project with others, but you are to do your own work. The official WPI statement for Academic Honesty can be accessed HERE.


Back to course page.