The course project is to design and implement a game. You will work in groups of around five students and will be expected to make frequent, but informal, presentations about your project in class. This page will include links to various documentation, code, and game assets that you may find helpful for your projects.
The default project is to implement a racing game and we will provide some support for that version of the project. Your group may also choose to design and implement a different type of game, subject to the following requirements:
It is important that you work steadily on your project throughout the term. The help you gage your progress, here is a list of project milestones with target dates. There will also be regular group presentations, which are listed below.
By Tuesday of the second week, you should have formed your groups. You should also start thinking about breaking up the project into parts and assigning responsibilities.
An important part of any large software project is a document that lays out the architecture of the application. For the first project milestone, each group should produce a design document that covers (at least) the following issues:
You should view this document as a living document that will be refined as the term progresses.
By Thursday of 4th week, you should have a revised and fairly complete design document. You should also have started to prototype the core components, such as the physics engine, of your game. Getting a basic engine up and running early will provide a useful tool for developing the other parts of the project.
Over the course of the term, there will be four to five group presentations (including final demos).
Groups will describe their game and their architecture.
Groups will describe the current status of their project; any issues that they have encountered; and give preliminary gameplay demos.
Groups will describe the current status of their project; any issues that they have encountered; and give preliminary gameplay demos.
Groups will describe the current status of their project; any issues that they have encountered; and give preliminary gameplay demos.
Groups will give final demos of their games.
For groups that choose the default project, we will provide some assets to get you started.
And here are some tracks that you can use in your game.
oval.trk — A simple, hand-generated, oval track.
barbell.trk — A medium sized track generated using a script.
wide-barbell.trk — A wider version of barbell.trk (20 units vs. 12) with four lanes (instead of 3).