PythonGameIdea

Summary

A Python learning game where you must solve a series of puzzles in each level to advance to the next level, only you solve them by writing Python snippets that will modify your character or the environment in a way that makes the level passable.

Technical Details

Type

Programming, Puzzle

Age Range

10+

Profile

TBD

Website

TBD

Launchpad

TBD

License

TBD, probably GPLv2

Language

Python

Toolkit

PyGame

Plot

This game is in the initial conception phase, the plot is subject to change

Your character lives in a virtual world, like the 1990's computer animated series "Reboot". Your world is "broken", some of the objects in it aren't working as they should. You need to get to a certain place in the world to fix it. However, your path is blocked along the way by the broken objects, and you must fix them to move on. To fix them, you have to change their source code (python snippets), so that they have the expected behavior. At each level, the user will learn and have to use a certain programming concept, such as if/else conditions, looping, recursion, even OOP.

  • The idea that the game environment is "broken" and needs to be repaired is a good frame to place a game. There is a pitfall in edutainment games of creating a fun activity, and creating learning exercises as obstacles to that activity (math crunchers &etc). Learning exercises should be more-closely integrated into the gameplay experience. To expand upon your idea, here is an exercise that fits the Reboot-style environment:

  • The Player Character (Player) is attempting to travel down a street. A library has collapsed and is blocking her path. This library stores books on shelves, shelves in bookcases, and bookcases in rows. Player can organize these books using python to repair the library.
  • Each book has several characteristics, including: Topic, Size, Color, and Title. It is up to the player to choose an organization scheme based on a few limits. For instance, the player could place every {Color : 'Purple'} book in the West-most room of the library. Place each book with {Size : 'Small'}, {Size : 'Medium'}, and {Size : 'Large'} in their own bookcases. And place 25 books on each shelf, sorted in reverse-Alphanumeric order.
  • Once the Player has completed her library the game generates an explorable library for the player, filled in turn with other exercises on the theme of sorting.

Brainstorming

This game is in the initial conception phase, so add your thoughts and ideas here

  • A Myst-style first-person, or Machinarium-syle third person control, where the character is limited in the choices of where they can go, and what they can interact with.
  • All objects will have snippets of Python code that control their behavior, whether they are necessary for completing a level or not.
  • Level completion should be determined by the result of the user's code changes, not on them making the correct changes. If they user thinks of a different way to accomplish the same goal, that should let them advance to the next level
  • Instead of saving a user's progress, save the results of their code changes. Upon restarting the game, the user's changes will be played in fast-forward style, until they reach the point where they have not made the changes necessary to advance further. (This has the added benefit of encouraging time-efficient solutions).

Screenshots

N/A

User Comments

None

References

https://code.launchpad.net/~ubuntu-core-dev/ubuntu-seeds/edubuntu.lucid

mhall119/PythonGameIdea (last edited 2010-05-03 01:00:32 by c-24-61-43-9)