Interactive Media & Game Development
Worcester Polytechnic Institute


IMGD-3000: Technical Game Development I
Final Project
GameFest: February 26, 2007.

Objective: For the final project in this course, you will build a complete game using the C4 Game Engine from Terathon Software. Because this course focuses on the technical aspects of game development, your final product does not have to look great, but it must play well, with respect to the stated technical aspects you will outline.

This project must be done in teams of two or three. Both the scope and compressed timeline (only four weeks!) of this project require that the project be done in teams.

The desired outcomes of this project are as follows:

  • To go through the process of developing a game of significant size
  • To gain experience with a sizable game engine codebase
  • To gain experience in team-based development
  • To determine and follow a timeline of milestones that must be met to complete a project of this size on time
  • To get a good idea of what game development is all about
  • To have fun!

There will be several, rapid milestones to be met along the way to delivering your working product. These are listed below.

Here is a link to last-year's projects.

Timeline: The timeline for significant milestones of the project is as follows:
  1. Jan. 29: Project summary ideas due (MS Word version)
  2. Jan. 30: Project approved
  3. Feb. 01: Detailed Game Plan due
  4. Feb. 02: Project kickoff meeting!
  5. Feb. 05: Web page set up to show your progress
  6. Feb. 09: Basic game structure in place, characters and basic objects modeled an in game
  7. Feb. 12: Milestone 1: Playable game prototype presented in class
  8. Feb. 13: Begin internal testing of implemented parts. Build, build, build!
  9. Feb. 19: Milestone 2: "Feature-complete" game, all major functionality in place. No new ideas! Time to finish up and test, test, test!
  10. Feb. 25: Game complete. Go home and get some sleep before launch day.
  11. Feb. 26-27: GameFest 2007!

Team Web Sites:
[Sumo Thumbnail]

In Sumo, you are a sphere trying to knock the other player(s) off the platform. Sumo will rely heavily upon accurate physics, and for added challenge the platform will decrease in area over time. When players are knocked off, they can take "revenge" by affecting physics properties, such as oil slicks for friction, etc.

Team Red Dawn:
Dana Asplund
Kalun Fu

Front Lawning

The game Front Lawning follows the trials and tribulations of a relatively typical soccer mom in a suburbia setting. Unfortunately for those property owners and other drivers on the road, this mom is in a hurry. The player must make it to their ultimate destination within the time limit, using all of the capabilities her SUV has to offer, including swerving around traffic, driving through lawns, and knocking down anything and anyone that comes in her way.

Team Pimptastic:
Eric Magnuson
Evan May

[Front Lawning Thumbnail]
Front Lawning

This is an adventure game where the player is a zombie. Just like every other zombie, the player must feast upon brains to sustain his/her existence. The freshest source of brains is of course the random survivors wandering around what ever remains of the world. Some of the survivors have armed themselves though. Players will gain special abilities and bonuses for eating certain humans' brains.

NoClip Studios:
Garon Clements
Chris Ivory

Lost at the labs of Dr. Vienestock

Jacob Higgins is a PhD student who joined Dr. Vienestock in his underground lab in Sweden to complete his doctoral thesis on space-time. In the months that Jacob spent in the lab, he noticed the Doctor become increasingly erratic and unpredictable. A revelation one morning drove the professor insane, and put Jacob on the run. Now, lost in the labs that no longer follow the normal rules of space and matter, Jacob must rely on his wits and his own inventions to escape with his life.

Team Visigoths:
Chris Donnelly
Richard Pavis
Nathan Roy

[Lost at the labs of Dr. Vienestock Thumbnail]
Lost at the labs of Dr. Vienestock
[The Only Fisherman in Europa Thumbnail]
The Only Fisherman in Europa
The Only Fisherman in Europa

In this game, players must trawl the icy depths of the Europan seas for exotic (and frequently dangerous) alien fish, using nothing but their interplanetary submarine and its trusty stock of nets and traps. Caught fish must then be safely hauled back to conveniently located "Capture Stations" to complete the taxonomy of Europan fish and unlock new submarine capabilities.

Team Jove:
Josh Doyle
Chris Drouin

Runner-up: "Best Project" (Students' Choice Award)

NEDM Avenger

NEDM is a single-player game with a main character of the same name where the player controls a hovering orb of destruction resembling a cat's face. The player will be given a mission at the beginning of each level - mostly having to do with saving NPCs and/or destroying a certain number of enemies.

Team NEDM:
Paul Gibler
Pat McAnneny

[NEDM Avenger Thumbnail]
NEDM Avenger
[Marble Wars Thumbnail]
Marble Wars
Marble Wars

Marble Wars is a racing/puzzle game that puts the player in control of a marble in a maze-like level where the player needs to satisfy the win conditions and get to the finish point to pass the level. The levels feature several unique elements such as Gravity Actuators, Spinners, Stickers, and different types of flooring materials with different friction and bounce coefficients.

Team GigaFlops:
Yilmaz Kiymaz
Owen Pedrotti
Alex Schwartz

Winner: "Best Project" (Students' Choice Award)

The Labyrinth

The player (Theseus) must travel through a labyrinth in order to defeat the Minotaur. Theseus is a great magician who can cast spells, which will be used to solve complex puzzles and defeat the Minotaur. This game is based on the Greek legend of the Labyrinth. Your Game Description Here!

The Wizards:
Dickson McCannell
Michael Robert
Victoria Zukas

[The Labyrinth Thumbnail]
The Labyrinth

Documentation: You must have a plan for backing up your files. I suggest you use WPI's SourceForge for this project.

You must create adequate documentation, both internal and external, along with your assignment. 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!).

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.

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 a list of deliverables, 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 run your program (source files, data files, etc.)

The command to archive everything, assuming your code is in a directory "final", is:

tar cvf TeamName_final.tar final


zip -r final

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