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.
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).
The game templates are stored at: http://itgirl.dreamhosters.com/itgirlgames/templates/
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
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
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
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. The initial list of cookbook recipe ideas were based on high school girls' game design ideas (see Pilot Program below).
The cookbook recipes are stored at: http://itgirl.dreamhosters.com/itgirlgames/cookbook/
- Release your code under the GPL
- Move a sprite using arrow keys
- Move a sprite using mouse
- Time a game, end a game after a specific time period
- Insert instructions screen
- Insert game over and credits screen
- How to end the game based on a condition
- Play a sound
- Choose your character's avatar – whether you play as a girl or a boy, etc.
- Animation of sprites (without user input) – moving to a point, image transformations
- Changing "costumes". Examples:
- make Pacman open and close mouth when he moves
- make costume change based on which direction the sprite is moving in
- make costume change when certain button is clicked
- Allow user to collect items in a basket
- Ask the user a question
- Multiple choice questions, and check correctness
- Questions that allow player to type in words or numbers, and check correctness
- Control how many times the user can try the question
- Paint using bucket fill (similar to a paint program)
- Fire a missile/object at another sprite
- How to form the maze layout
- How to check if you've reached a dead end
- How to check if you've eaten all the pellets
- Add another kind of object to the maze
- Create stationary obstacles (oils slicks, etc) i.e. set the speed of a monster
- Trigger user activity if character gets touched by monster
- Change the size of the game and the blocks
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 tested these templates with 44 high school girls (16 - 17 years old) during the Spring 2008 semester.