Game templates: Difference between revisions

From OLPC
Jump to navigation Jump to search
(broken link)
(updated template descriptions)
Line 1: Line 1:
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.
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" using code snippets 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 ==
== How to Contribute ==


* Create a template (we're still missing an arcade template)
* Add to the game genre descriptions
* Write a super simple game that fits one of the genres, to serve as a model
* Use a game template to write an example game
* Write a template and tutorial for one of the genres, or add to an existing one
* 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
* Write a code snippet/recipe for a game action


== Game Genres ==
== 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.
The following game genres are common genres when designing educational games. At least one template is needed for each genre.
These genres are based on game designs created by high school girls (see Pilot Program).


=== Adventure ===
=== Adventure (Path-Based) ===
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.
The character moves through a world or along a path. As the character moves along, she will come across situations or other characters that make her complete a task, problem, or puzzle before they can move forward. For our purposes, the character’s path will be straight (there are no branches or forks in the road).


Example game: [http://upload.wikimedia.org/wikipedia/en/1/1e/Supermarioworld_map.PNG Super Mario World]
Example games:

* [http://www.darfurisdying.com/ Darfur is Dying]
Full template description: http://itgirl.wikispot.org/PathBasedAdventure
* [http://www.persuasivegames.com/games/game.aspx?game=arcadewirexmas Xtreme Xmas Shopping]

=== Adventure (Room-Based) ===
The main character is in a closed room with several tasks to complete. The character can move around the room and complete the tasks in any order, but all the tasks must be completed.

Example game: [http://www.persuasivegames.com/games/game.aspx?game=arcadewirexmas Xtreme Xmas Shopping]

Full template description: http://itgirl.wikispot.org/RoomBasedAdventure


=== Arcade ===
=== 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.
The user only completes a few possible actions with the keyboard or mouse, but they must be done quickly and involve hand-eye coordination. There is often only one task to be completed, but it is done over and over again. Emphasis is on speed and timing.

Example game: [http://youth.tearfund.org/make+poverty+history/water+game EU Water Funding]


Full template description: http://itgirl.wikispot.org/ArcadeGame
Example games:
* [http://youth.tearfund.org/make+poverty+history/water+game EU Water Funding Game]
* [http://education.jlab.org/sminequality/index.html SpeedMath]


=== Maze ===
=== 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.
Maze games have a playing field that is entirely a maze. There is one player, and one main character that is controllable by the user. There are also “good” and “bad” items in the maze. Good objects must be collected by the user, and bad objects must be avoided by the user.


Example game: [http://www.ci.austin.tx.us/sws/downloads/rr.swf City of Austin Recycling Roundup]
Example games:

* [http://www.learningpython.com/2006/03/12/creating-a-game-in-python-using-pygame-part-one/ PyMan]
Full template description: http://itgirl.wikispot.org/MazeGame
* [http://www.ci.austin.tx.us/sws/downloads/rr.swf City of Austin Recycling Roundup]


=== Practice drills ===
=== 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.
Practice drills 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. The task given to the player to practice must be completely correctly and quickly to make something good happen or prevent something bad from happening.


Example game: [http://www.freetypinggame.net/play3.asp The Frogs Are Off Their Diet!]
Example games:
* [http://www.powertyping.com/baracuda/baracuda.htm Typing Barracuda]


Full template description: http://itgirl.wikispot.org/PracticeDrillsGame
=== 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.


=== Simulation and Strategy ===
Example games:
Simulation and Strategy Games aim to simulate an experience that requires careful and skillful thinking and planning in order to achieve success. The player has a large project to complete and is asked to make multiple decisions. The player makes several decisions during the project that affect the game's outcome, and the user learns the consequences of each decision. Success is determined by an equation that takes into account the decisions the player made. The player must often complete the project within an allotted amount of time.
* [http://education.jlab.org/placevalue/index.html Place Value]
* [http://www.shockwave.com/gamelanding/bacteriasalad.jsp Bacteria Salad]


Example game: [http://www.shockwave.com/gamelanding/bacteriasalad.jsp Bacteria Salad]
== Game Actions Cookbook ==


Full template description: http://itgirl.wikispot.org/SimulationStrategyGame
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 [http://www.pygame.org/wiki/CookBook Pygame's Cookbook], but for much simpler actions.

== Game Cookbook ==

Along with full game templates, we also need recipes for code snippets that could be used in ANY game and that can be inserted into any game template. This is similar to [http://www.pygame.org/wiki/CookBook Pygame's Cookbook], but for much simpler actions. These will eventually be added to the Pygame Wiki.


=== Opening Screen ===
=== Opening Screen ===
Line 69: Line 77:


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.
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.



[[Category:Software ideas]]
[[Category:Software ideas]]

Revision as of 16:43, 14 December 2007

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" using code snippets 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

  • Create a template (we're still missing an arcade template)
  • Use a game template to write an example game
  • Write a template and tutorial for one of the genres, or add to an existing one
  • 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. These genres are based on game designs created by high school girls (see Pilot Program).

Adventure (Path-Based)

The character moves through a world or along a path. As the character moves along, she will come across situations or other characters that make her complete a task, problem, or puzzle before they can move forward. For our purposes, the character’s path will be straight (there are no branches or forks in the road).

Example game: Super Mario World

Full template description: http://itgirl.wikispot.org/PathBasedAdventure

Adventure (Room-Based)

The main character is in a closed room with several tasks to complete. The character can move around the room and complete the tasks in any order, but all the tasks must be completed.

Example game: Xtreme Xmas Shopping

Full template description: http://itgirl.wikispot.org/RoomBasedAdventure

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. There is often only one task to be completed, but it is done over and over again. Emphasis is on speed and timing.

Example game: EU Water Funding

Full template description: http://itgirl.wikispot.org/ArcadeGame

Maze

Maze games have a playing field that is entirely a maze. There is one player, and one main character that is controllable by the user. There are also “good” and “bad” items in the maze. Good objects must be collected by the user, and bad objects must be avoided by the user.

Example game: City of Austin Recycling Roundup

Full template description: http://itgirl.wikispot.org/MazeGame

Practice drills

Practice drills 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. The task given to the player to practice must be completely correctly and quickly to make something good happen or prevent something bad from happening.

Example game: The Frogs Are Off Their Diet!

Full template description: http://itgirl.wikispot.org/PracticeDrillsGame

Simulation and Strategy

Simulation and Strategy Games aim to simulate an experience that requires careful and skillful thinking and planning in order to achieve success. The player has a large project to complete and is asked to make multiple decisions. The player makes several decisions during the project that affect the game's outcome, and the user learns the consequences of each decision. Success is determined by an equation that takes into account the decisions the player made. The player must often complete the project within an allotted amount of time.

Example game: Bacteria Salad

Full template description: http://itgirl.wikispot.org/SimulationStrategyGame

Game Cookbook

Along with full game templates, we also need recipes for code snippets 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. These will eventually be added to the Pygame Wiki.

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.