Game templates

From OLPC
Revision as of 09:47, 11 October 2007 by Clare (talk | contribs) (broken link)
Jump to: navigation, search

The target audience for game templates is kids who are novice programmers with some Python and Pygame experience, but who have never built a large project on their own before. We want to give the students a sense of accomplishment and an outlet for creativity, without overwhelming them by starting from scratch. Game skeletons make it easy and quick for a student to develop a simple game, without much frustration or experience, by just "filling in the blanks" and adding images. But, they also don't restrict the student from going above and beyond, by extending the template to make a more complex game.

How to Contribute

  • Add to the game genre descriptions
  • Write a super simple game that fits one of the genres, to serve as a model
  • Write a template and tutorial for one of the genres, or add to an existing one
  • Add to the game action cookbook ideas
  • Write a code snippet/recipe for a game action

Game Genres

The following game genres are common genres when designing educational games. At least one template is needed for each genre, as well as a tutorial for how to turn the template into a working game.

Adventure

The character moves through a world or a story. The character may have a set of tasks to complete before moving forward, or must solve problems/puzzles when they meet another character to move forward.

Example games:

Arcade

The user only completes a few possible actions with the keyboard or mouse, but they must be done quickly and involve hand-eye coordination. Emphasis is on speed and timing.

Example games:

Maze

The playing field is entirely a maze. Some are simple puzzles in which the player must navigate to the exit; others are action-based in which the player must collect or avoid items in the maze.

Example games:

Practice drills

Drill and practice games teach or improve on a specific skill, such as addition, typing, or playing the piano. The game can either provide rigid drills or encourage experimentation.

Example games:

Strategy

The game requires careful thinking and planning in order to achieve victory. The user makes several decisions that affect the game's outcome, and the user learns the consequences of each decision.

Example games:

Game Actions Cookbook

Along with full game templates, we also need recipes for game actions that could be used in ANY game and that can be inserted into any game template. This is similar to Pygame's Cookbook, but for much simpler actions.

Opening Screen

Displays instructions for the game and waits for the user to press a key or click the mouse to start the game.

Closing Screen

Informs the user that they have won or lost the game. The user can restart the game or close the game.

Math Question

Asking the user to solve a math problem, then allowing them to input a numeric answer. Check to see if their answer is correct.

Quiz Question

Asking the user a multiple choice question, then checking to see if their answer is correct.

Pilot Program

The goal for these game templates is that novice programmer students using the XO laptop will be able to easily create games for their peers and for younger students. Project IT Girl will test these templates with 60 high school girls (16 - 17 years old) beginning in late January 2008.

Project IT Girl is a Girlstart after-school program in Austin, Texas. During the Fall 2007 semester, IT Girls learn basic programming concepts, Python, and Pygame. Over 90% of the girls have no programming experience before this semester. Throughout the semester, the girls work on a game based on litter prevention to practice using Python and Pygame (download the sample code). Each girl also designs a unique educational game (see the current game designs).

During the Spring 2008 semester, IT Girls implement their game designs using Python, Pygame, and the game templates. They have a total of only 10 hours to write the code for their games. At the end of the semester, the games will be made available to the OLPC community.