Important Note

Tufts ended funding for its Open Courseware initiative in 2014. We are now planning to retire this site on June 30, 2018. Content will be available for Tufts contributors after that date. If you have any questions about this please write to

Tufts OpenCourseware
Author: Ming Y Chow

Tufts OpenCourseWare
Introduction to Game Development
M. Chow
Spring 2012


2D Game Group Project

In a team, you will develop a full 2D game using Python and PyGame under a scenario that is comparable to a real-world working environment. The more original your game is, the better. There is no limit to the genre of the game but there are constraints:

  1. The game must be more sophisticated than just Pong or Space Invaders!
  2. There must be a scoring system in your game.
  3. Sound and images must be used.
  4. There must be a high score or award list in the game.
  5. Time must be used in some capacity in the game (not to manage frames-per-second). Example: solve a puzzle in under a minute.
  6. My image cannot be used as a sprite or character.
  7. One of the following must be used in some capacity in your game: a ninja, a chipmunk, a flying pig, a barbarian, a chimp, a wombat.


There are five deliverables for this project (the check-in shall count as a deliverable):

  1. Project Proposal (5 points; due Wednesday, February 15th; hand in at beginning of class; one submission per group) - Must be no longer than one page typed.
  2. Game Design Document (25 points; due Monday, February 27th; hand in at beginning of class; one submission per group) - Outline format is preferred. The proposal must include:
    • Title of the game
    • Description of the game
    • Challenge(s)
    • Core requirements
    • Gray requirements
    • Game mechanics (including interaction, colors, data)
    • State diagram
    • Game economy
    • Game balance
    • Victory and defeat conditions
    • Mockup screenshots (drawn electronically only)
  3. A Working Game (5 points check-in on Wednesday, March 14th in class; 45 points for working game with README document due on Wednesday, April 4th in class) - Written in Python and Pygame. Source code must be in a GitHub repository (that I will assign).
  4. Test Plan (20 points; due Wednesday, April 4th in class; one submission per group). This document will be distributed to all students (a.k.a., players) in the class. This document shall have the following sections:
    1. Game title (duh!)
    2. Authors (your name; duh!)
    3. Description of game in 255 words or less
    4. Brief instructions (rules)
    5. Controls (for every control scheme in your game)
    6. A checklist of at least 5 tasks that you want the player to test with a section for comments. Briefly describe each task with proper outcome. Example: press a key 5 times => produces a special move
    7. Section for additional comments and suggestions

Grading Criteria

Your game will be graded on five factors:

  • Functionality - I am looking for a game that works and is playable. Remember, a game with fewer features that work is significantly better than a game with numerous features, where some either do not work or are buggy.
  • Production - I am looking for a game that is polished (e.g., graphics and sound), consistent (e.g., look-and-feel), and reasonably professional.
  • Complexity - The more original your game is, the better. Things that will increase the complexity of your game: realistic collisions, some AI, landscapes, sound, etc.
  • Game Design - Is your game fun? Is your user interface easy to understand? Is there good game balance (i.e., not too easy, not too hard)?
  • Technical Competency - Use good programming practices, source code in a GitHub repository