/mathemagics

prototype for educational video game

Primary LanguagePython

MATHEMAGICS

Mathemagics is a proof-of-concept for an educational RPG dueling engine.  The general idea behind the engine being
that casting a spell requires solving a simple multiplication problem (which, in practice, can be substituted
with any number of simple questions with defined or multiple-choice responses.)

Current Features:
* The faster the problem is solved, the more powerful the spell will be.
* If the hero fails to solve the problem in the alloted time, or submits an incorrect solution, the 
	spell backfires and deals damage to the hero.
* The enemy will attack asynchronously at (somewhat) random intervals (e.g. 5-10 seconds between attacks)
* At current, when a game is over the program must be closed and repoened to start a new duel

Future features to be implemented:
* Respawn of hero and enemy
* Weighting of difficulty of problem (0 X 5 is easier than 3 X 4 is easier than 6 X 7)
* Defense system to allow hero to defend attacks from enemies
* Multiple enemies (including targeting system)
* Multiple types of 'spells" (e.g. addition, fractions, conjugation, etc.)
* Configurable control scheme
* Multiplayer action to allow duels between human opponents
* Network play to allow players to duel online
* Friendly Actors to allow players to cooperate (or to allow for friendly NPC's)

Dependencies:
Mathemagics requires Python 2.5 or better and Pygame 1.8 or better to be installed.
You can download Python here: http://www.python.org/download/
You can download Pygame here: http://www.pygame.org/download.shtml

To Run:
From the mathemagics directory (which contains the file main.py) run the following command:
python main.py

To Play:
* Press the space bar to start a spell
* Type the solution to the spell using the number keys (you can use the delete key for typos)
* Press Enter to attempt to cast the spell
* Press ESC to quit

To Run Test Cases:
From the mathemagics directory (which contains the file main.py) run the following command:
python test.py

Code created based on tutorial by sjbrown:
http://ezide.com/games/writing-games.html

Notes to OpenSourcery:
I have included this application as an example of a straightforward solution to a unique problem, 
incorporating elements of graphically-minded programming and a dynamic user interface.