Theory of Magicity

"Theory of Magicity" is an experimental game made for an university course. The core idea is to treat magic as a physics-like system rather than a set of canned spells. So instead of having a "haste" spell that doubles a character's speed, this game has a "magic field" (analogous to gravity in real world) that affects how fast (or slow) a character can move.



Binary release for win32: built via py2exe under wine - seems to work on most machines. Feel free to report problems.

The source release, suitable for real operating systems (requires python and pygame).

The bleeding edge code is available on github.


The latest release of the game boasts:


The game world contains 3 "magic fields": Time, Wind and Life: Time magic compresses and expands time (affects movement), Wind magic pushes characters around and Life magic reduces or regenerates health.

Each magic field fills the entire game world and each character is affected by each field according to it's value at the characters position in the world. The characters can affect the "magic fields" by creating and moving "magic balls" that influence their respective fields around the balls.


Game controls as of 0.4beta:

left/right arrowMove character
z, x, ccreate Time, Wind, Life magic balls
a, dmove currently selected ball left or right
w, sincrease or decrease the power of currently selected ball
rrelease (stop affecting) currently selected ball (or all balls, if none selected)
ctrl + a, dcapture (select) balls in left or right direction
ctrl + 1 - 9capture (select) balls by their index number
ppause game
mset "mouse mode" where 'a' and 'd' move the character, not magic ball
escexit game
tabshow some debug information
j, lfreely move camera left or right
krefocus camera on character
left buttoncapture a ball
movementmove and set the power of currently selected magic ball