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.
The timeline for significant milestones of the project is as follows:
- Jan. 29: Project summary ideas due (MS Word version)
- Jan. 30: Project approved
- Feb. 01: Detailed Game Plan due
- Feb. 02: Project kickoff meeting!
- Feb. 05: Web page set up to show your progress
- Feb. 09: Basic game structure in place, characters and basic objects modeled an in game
- Feb. 12: Milestone 1: Playable game prototype presented in class
- Feb. 13: Begin internal testing of implemented parts. Build, build, build!
- Feb. 19: Milestone 2: "Feature-complete" game, all major functionality in place.
No new ideas! Time to finish up and test, test, test!
- Feb. 25: Game complete. Go home and get some sleep before launch day.
- Feb. 26-27: GameFest 2007!
|Team Web Sites:
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:
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.
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
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.
Lost at the labs of Dr. Vienestock
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
Runner-up: "Best Project" (Students' Choice Award)
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.
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.
Winner: "Best Project" (Students' Choice Award)
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!
|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:
|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 TeamName_final.zip 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