Computer Science 113 / Informatics 125
Computer Game Development

Design Document Structure

Introduction

The Design Document is a critical factor in determining the success of your efforts to create a computer game. With commercial games, it is often created over a period of many months, and is a "living" document, updated as the game is developed. For this course, your Design Document will probably describe a larger and more complex game than you will be able to implement by finals week. That's perfectly OK, but you should indicate clearly what parts you plan to accomplish.

Your Design Document will be a web document. You should use HTML, PDF, Google Docs, or another universally readable format. Don't break your Design Document into separate pages with different URLs.

Your Design Document should have four major components: the Overview, the Game Specification, the Technical Specification, and the Schedule. In addition, an essential component of your document is careful proofreading. Look for misspelled wrods, awkward grammer, needless repetitions, unstated assumptions, vague assertions, needless repetitions, and omissions important features. Every member of the team should have carefully read the document before it is considered final.

Don't include an automatically generated Table of Contents.
The Overview should be the first page, and no more than one page. (Using Google Docs? Check with print preview.)
Don't include this document in your design doc.
No outlining beyond three levels. See AbsurdOutlining.png.

Overview (Executive Summary)

The goal of this section is to give the reader, in a single page, a clear understanding of who is making the game and what your game is all about. A person who reads just this section should be able to form an accurate mental picture of the game.

Make sure this section is a single page, is the very first page of your Design Document, and has the following structure:

  1. Name of the game
  2. Name of the team
  3. Names of team members
  4. Overview of game, including (as appropriate)

Game Specification

The Game Spec section serves as a "rule book" for the game. It describes the types of interactions the player can have with the game. It should be fairly easy for a writer to turn the Game Specs into a manual that could be included with the game. The nature of the Game Specs is somewhat dependent on the type of game being developed. I'll give examples and descriptions for four genres of games, top-down shooters (TDS), driving sims (DS), first-person shooters (FPS), and role-playing games (RPG).

Technical Specs

In "real life" the Technical Specs are hundreds of pages long. They take all the rules from the Game Specs and make them specific, unambiguous, and implementable. When writing the Technical Specs, think through implications, exceptions, exact limits. For instance, if the the Game Specs say "The player will be able to make the car move faster by pressing the up arrow key," the Technical Specs should elaborate: "Each press of the up arrow key causes the car's speed to be multiplied by 1.01, up to a maximum of 500 and down to a minimum of -100 (reverse)." For this example, you'd need to explain also exactly how the user shifts between forward and reverse.

The Technical Specs should also discuss or include:

Schedule and Personnel

It's important that each member of the team have a clear set of responsibilities, and a clear time-line for various tasks.

For each team member, state the general role(s) he or she will play in the project, and what contributions he or she will make to the final game. Also include a statement from each team member about what he or she needs to learn in the remainder of the course.

Include in this section a list of specific achievements and deliverables, organized by team member and by week. Conceptually, the information is a matrix:

Week  Peter Anteater   Cindy Ocelot   Minh Wolf 
Week 6        
Week 7        
Week 8        
Week 9        
Week 10        

Each element in the matrix is a list of specific accomplishments. "Clean up" is unacceptable; "Work on AI" is not so good; "Complete AI for enemy minions" is better.

It is not recommended that you actually present this information in matrix format. It is usually better to use a list structure, with either Week or Team Member as the top level of organization.

Structure the sequence of your deliverables so that core art and gameplay comes first, and extra features, levels, characters, puzzles, AI, etc., are scheduled later. You should plan on having a playable mini-version of your game before Thanksgiving.

If you are working with people who are not enrolled in this course, you should mention them and explain their roles. In particular, if you are working with artists and include any of their artwork, make sure to give them credit.