Play as The Magician, a disciple of the darkest school of magic: bubbles. Turn enemies into trick shots in unique, physics-based combat and explore an infinite series of procedural levels.
Each level is generated at runtime, using a simple random algorithm and some cleanup code to prevent hanging blocks.
Enemies use A* pathfinding, attempt to maintain a goal distance from the player.
Responsive bubble physics and bounce calculation.