Interactive Media & Game Development Worcester Polytechnic Institute |
IMGD |
---|
Objective: | THIS PROJECT MAY BE DONE IN TEAMS OF TWO! 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 the remaining data structures that will make up the rest of game. You will create a user interface to display Hedi's state to the user, implement Goolie movement, implement "strafing," a.k.a. side-stepping, and allow the user to save and load the game. You will also implement code to load the game parameters from a configuration file. There are two parts to this project: a "Preparation" part, and a "New Stuff" part. |
---|---|
Preparation: |
The aim of this preparation part is for you to get your Project 1 into a usable form. You and your teammate should
decide on a code-base to start from. If one of you failed to get part of Project 1 working, or if you prefer to use
one person's implementation over the other's, then this is when you should make this decision.
You may combine any parts of one teammate's code with the other; all the code does not have to come from the same teammate. In addition, you should download the ZIP file for this project. Copy it to the directory where you will be doing your work, and unzip it. You will see several .cpp and .h files, as well as some Makefiles. I would suggest you start with this code, then add your code from Project 1 to it. It has lots of good starter code for you to use. Compile and run your code-base before making any of the changes required for Project 2. |
New Stuff: |
|
Extra Credit: |
These options may be implemented for extra credit:
|
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. NOTE: For this project, you must also include a document stating what each person on your team did towards completing the project. This can be as simple as copying the list of deliverables (from above), and placing names next to each one. Or it can be more precise. If you feel you would like to express your views individually, send an email to the instructor. Here is a list of some ideas that might help you when working in groups: |
What to Turn in: |
Submit everything you need to compile and run your program (source files, data files, etc.)
BEFORE YOU SUBMIT YOUR PROJECT, put everything in one directory on ccc.wpi.edu and make sure it compiles. Then tar (or zip) everything up into a single archive file. The command to archive everything, assuming your code is in a directory "proj2", is:
or
|
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. |