IMGD 1001: The Game Development Process
Project 5: Implement Test Code

Due date: Wednesday, September 29th by 11:59pm


Background

This assignment focuses on the development of "live" test code for your prototype. Your team will implement a variety of interactive game objects, based on the treatment document you wrote for Project 3 and the art assets that you gathered/created for Project 4.


Objectives

The assignment has four objectives:

  1. Implement ten active game objects
  2. Provide two global game options
  3. Document your objects and options
  4. Submit your prototype and documentation

Details

1. Implement ten active game objects

Implement at least ten (10) active objects for your game. Each object should have somewhat unique behavior. It must be more than a copy or subset of another object.

Your objects must meet the following criteria:

Object activity. At least one of your objects must have the ability to change state, and this change must be reflected to the user in some fashion. This could take the form of a change in location being reflected by motion on the screen, motion along a path, a change in appearance or sound, etc.

Object interactivity. At least one of your objects must have the capability of interacting with another object; that is, an interaction between the two must cause at least one of the objects to change state. For instance, an interaction could take the form of a collision between two objects causing one object to rebound off another, or a TV remote that won't work unless batteries are installed.

User interactivity. At least one of your objects must respond to user input (keypress, mouse motion, etc.).

AI/reactivity. At least one of your objects must exhibit "intelligent" behavior by reacting to the objects around it. This differs from the "object interactivity" requirement in that the "intelligent" object must adapt its behavior as the situation changes. Examples of this might be an object that pursues other objects no matter where they move, or a dog that follows a character from room to room.

Make sure you organize your project so that graders can easily find your test objects.

Remember, these are test objects. They don't necessarily need to work the same way they will work in your final project.

2. Provide two global game options

Begin the implementation of at least two (2) game options that allow a user to change/influence the game world, such as number of lives, hit points, game speed, difficulty, etc. You may make the options accessible by a separate screen (say, when the game starts up) or by some other menu or buttons on the interface.

The options don't have to actually work (yet), but a means to control them must be available.

3. Document your objects and options

Prepare a short text document that provides instructions for how your grader should use and evaluate your prototype. It should list the ten active objects that you have created, describe their location and behaviors, and specify which objects fulfill which of the four behavior criteria.

Your document should also note the game options available for the user to influence the world, and specifically how they will affect the gameplay.

Finally, your document should list which object criteria you would like to weight for grading (see Grading below).

4. Submit your prototype and documentation

When your project and documentation are ready, zip them together into a single archive file. Name the file:

teamname.zip

where "teamname" is the name of your project team.

Use TurnIn to submit your work.

If TurnIn does not work, email your file to one or both of the class teaching assistants, Paulo de Barros (pgb) or Jia Wang (wangjia).

If email fails, post your file on a public web site and email the URL to me (bmoriarty) and both teaching assistants.


Grading

All team members will share the same grade.

Grading for this project is flexible. 24 points are available for you to allocate among the four object criteria (activity, interactivity, user interactivity, AI/reactivity). You can add all 25 points to the weight of one criteria, or spread them across the four criteria any way you like.

Assigning these points to a specific criteria tells us that you believe your efforts were focused there, and thus grading of that criteria should undergo extra scrutiny in computing your project grade. For instance, assigning all 24 points to "Object activity" would tell us that you put extra effort into the motion of your objects, so you will not receive full credit for that category unless we see your objects exhibiting a variety of complex changes, perhaps based on mathematics.

In order to communicate where you would like these flex-points to be allocated, please include in your assignment document a list of criteria/weights to split your flex points across. If no weighting is specified, 6 points will be assigned to each of the four criteria.

100-90. The prototype more than satisfies the content requirements of the project. All required objects are present, obviously unique, easily accessible and clearly exhibit a mixture of all four expected behaviors. The game options are clearly defined and easily accessible. The documentation clearly explains how the objects and options operate, and how they meet the requirements.

89-80. The prototype satisfies the content requirements of the project. All required objects are present, unique, accessible and exhibit a mixture of all four expected behaviors. The game options are present and accessible. The documentation explains how the objects and options operate, and how they meet the project requirements.

79-70. The prototype minimally satisfies the content requirements of the project. All required objects are present, but their behaviors may not clearly fulfill the four expected behaviors, or be easily accessible. The required game options are present, but may not be easy to find or understand. The documentation is present but may be incomplete, or lack specificity about how the objects and options meet the project requirements.

69-60. The prototype falls short of the content requirements of the project in a few places. All required objects are present, but may not be unique, exhibit all four of the expected behaviors, or be difficult to access or understand. Game options are present, but unclear or hard to access. The documentation is present but somewhat disorganized, or fails to explain how objects and options meet the project requirements.

59-0. The prototype does not satisfy the content requirements of the project. Objects and/or game options are missing or unreasonably difficult to access. The documentation is missing, incomplete or hard to understand.

Five (5) points will be deducted from your grade if the submitted file does not meet the filename specification noted above.


Back to course page.