Game0: Object Show

Game0 is an warm-up on the basic asset pipeline and APIs we'll be using in the class.

Design (Due by Noon on Thursday, August 30st)

Spend no more than two hours on this portion of the assignment.

Beginning with a fork of the design document template, create a design document for a single-screen, single-player game that is controlled using the keyboard and displayed using simple mesh sprites. The game should be of similar complexity to the default design.

A design document should clearly describe the gameplay of your proposed game, starting with a statement of what is interesting about the game, and containing storyboards of crucial game moments. A design document is not a specification -- it can leave some things unsaid -- but it should give a clear idea of how the game works, including goals, controls, and win/loss conditions.

Turn in your design document by e-mailing Jim and Steven a link to a github-hosted git repository. The e-mail subject line should begin with "game0-design:". Note that, in the future, we will use AFS for this process.

Implementation (Due by Noon on Tuesday, September 4th)

Specific tasks:

  1. Fork the base0 code as a starting point. This code loads and draws mesh sprites, allowing rotation with the arrow keys.
  2. Modify the export-meshes.py script to export vertex colors along with positions and normals. (It is a requirement for this game that you use vertex-colored meshes exported from a blender file; if your chosen design provides assets in a different format, you will need to import them into blender and add vertex colors.)
  3. Modify the code to implement one of the approved design documents (see below).
  4. Fill in the missing sections in README.md to document your project; replace screenshot.png with a screenshot of your game.

Approved Design Documents:

NOTE: "*" == expected difficulty of implementation; "R!" == only raster assets provided, you'll need to find/make 3D models

Turn in your game0 by e-mailing Jim and Steven a link to a github-hosted git repository. The e-mail subject line should begin with "game0:". Note that, in the future, we will use AFS for this process.

All games that compile, use vertex-colored meshes exported by a working export-meshes.py, are playable (implement their design document), and contain no game-breaking bugs will receive full credit. Games that are extraordinary may receive extra credit.