Mod Mage Mike
Mod Mage Mike is a game where you program futuristic magic spells to solve puzzles and fight evil robots. By connecting nodes with different properties together, you can control how projectiles move and behave.
The game was made in Unity and released on Steam in 2025.
Everything in the game is designed, painted and coded by me except pathfinding and a few sounds. No other plugins or libraries were used.
Music by me and Erik Svanholm
Spells
At the core of the game is the Spell Editor, powered by a W.A.N.D..
- A W.A.N.D. holds a Spell.
- A Spell holds an ordered list of Nodes.
How It Works
Editor Mode
- Each Node provides its own GUI only while the editor is open.
- Closing the editor destroys the GUIs, but the Spell + Nodes remain in memory.
- This makes it easy to load and edit multiple spells.
Casting a Spell
- When the W.A.N.D. is triggered:
- The Start Node creates a Projectile and a memory package tracking it.
- Each Node applies its effect in order (e.g., Speed, Direction, Split, Delay).
- On impact:
- A special Hit Package is created, and hit-processing Nodes run (Bounce, Explode, etc.).
- When destroyed:
- The package is nulled and cleaned up by the garbage collector.
Processing Rules
- Nodes are processed in strict order each frame to ensure consistent behavior.
- Loops, forks, and merges are handled to prevent:
- Duplicate packages.
- Endless loops.
Mod Mage Mike Nodes
Level Editor
The game comes with both a campaign with pre-made levels, but also with a Level Editor where you can create your own levels and package them in an Adventure (a bundle of levels). The Level Editor is a full-fledge toolkit for creating just as expressive levels as can be found in the campaign. (The campaign was actually made in this tool as well.) Make walls, floor and gaps, add spell towers, detectors, doors and bridges. Create in-level spells and add enemies. Everything is there.
Storing and Sharing
Any Adventure filled with levels you create can be uploaded to a central server and be downloaded by other players to play by recieving a download code. Behind the scene, you connect to an express.js-app, storing a well optimized and compressed json-file on the server, as well as creation meta-data in an SQL-database and an very small 4bit per pixel (16 colors) binary for previewing the map on the backend. The user-made levels are at the moment not publically searchable.
Mod Mage Mike Dashboard
Mod Mage Mike Map Preview