Slow Rush Studios logo,
    depicting an apprehensive-looking snail rushing forward

Slow Rush Studios

◂  Playing Nice with Moving Bodies
News index
Atomic Holes and Multiplayer  ▸

Designing a Magic System


The prototype's pixel atom physics are coming along nicely, so this week I had a think about the other big part of the game: spell casting.

A neat physics system is fun for a bit, but it does get old pretty quick without some kind of goal like killing baddies, and in my unbiased opinion, killing baddies is way more fun when you have cool spells.

Atoms as Hard Magic

Fantasy author Brandon Sanderson divides magic systems into 2 camps:

  1. Soft: the rules of magic are intentionally left vague; readers don't know how things work or what to expect.
  2. Hard: capabilities, costs and limitations of magic are explicitly explained; readers can predict how magic will work.

For games, we only really see Hard magic systems, because (at least for player-usable magic) players need to be able to predict what spells might do, either based on real world experience or based on entirely made up rules they have been taught.

For example, in Divinity Original Sin, a spell that creates water + a spell to freeze will make a slippery patch that trips over enemies, casting fire on a patch of oil will ignite it, etc. 1

But usually these "rules of magic" are quite limited in games, so you learn them in the first 30 minutes of play and you're done.

Instead, I am going to try using atoms and interactions between them as the basis for the magic system; most spells will be expressed in terms of atoms, so for example a fireball spell actually throws a rock that's on fire - which won't just set an oil patch on fire, but might also set the whole house alight!

I'm betting this will create all sorts of fun emergent gameplay scenarios - and plenty of entertaining chaos when playing with your friends.

Good wizards copy

Speaking of chaos, one of my favourite game magic systems is that of Magicka 2

In Magicka, your wizard character can summon 8 different elements (Water, Life, Shield, Cold, Lightning, Arcane, Earth and Fire), and up to 5 of these can be mixed to create spells. Some of them cancel each other out (Life & Arcane, Earth and Lightning) and some combine (Water & Fire -> Steam, Water & Cold -> Ice). Generally having more elements summoned for a spell makes it more powerful.

Once you have the elements summoned, you can cast them in 4 ways:

  1. On yourself
  2. Onto your sword (so it's cast when you attack)
  3. In a direction
  4. In an area around you

Some of the elements tend to create balls when cast directionally (Earth), while others create beams (Life, Arcane), and Shield is special in that it will create protective auras/barriers or mines. This gives you a lot of options!

There are various status effect interactions too: being wet means more damage from lightning and you can't summon lightning yourself. Control-wise, you have a keyboard button per element and move your character (& aim) with the mouse. See this video breakdown for more.

Magicka also has another system: if you summon some specific sequences of elements then press Space, you cast a "Magick". Magicks do unique things such as revive a player, teleport you, apply a speed effect to your character, summon a meteor shower, etc. These spells are really cool but using them is clunky: you need to first collect tomes to unlock them, then remember3 the right sequence for the Magick, and finally manage to input exactly the right sequence in the (usually) heat of combat.

Great wizards steal

Large combinations of spells found by experimentation sounds awesome! But it has a few downsides:

So I'm going to steal the good bits from it4 and try the following instead:

This does offers less spell variety on paper, but then again many Magicka spells are actually not unique because of the "let's just add more X to make it stronger" effect.

And a little less variety in the name of faster gameplay is okay because I'm sprinkling in some spell variety from elsewhere too..

Great bros also steal

Broforce has a nice mechanic where each time you die (or start a level, or free an imprisoned bro) you switch to a different character, and each character has a unique attack & special attack. (And sometimes have other quirks too - Indiana Brones can swing around with his whip, the Boondock Bros get an extra life - etc).

I really like this:

  1. Some characters can be more powerful or useful than others; no need to worry about a player getting stuck with a weaker character or abusing a stronger character, because they won't be playing them for long.
  2. "Check out this cool thing only I can do" is fun in couch co-op games. (Especially if it inadvertently kills a friend.)

So I figure I can steal this mechanic too:

Wizard-unique-elements ("Wizard Element"?) might include summoning allies (Fire + Summon -> Summon Fire Genie Ally), brawling (Fire + Brawl -> Fire Uppercut), polymorph (Fire + Polymorph -> become a Balrog), etc - I haven't made a complete list yet so these are just ideas.

This adds a reason to keep playing after finding all the elements.

And unlike adding another 10 elements, it doesn't dramatically explode the amount of spells I'll need to create by a completely impractical amount (I'll still need at least a hundred spells though..).

Casting on a gamepad

I touched on it above, but as a couch co-op game, it's super important that the controls make sense on a gamepad! Keyboards and mice don't belong on couches.

Here's what I came up with: 6

Sorry, your browser does not support SVG images. Try a different browser!
(Or someone messed up and this image doesn't exist.)
First cut of mapping spell casting controls to a standard XBox controller.
'Interact' means flip switches and mundane things like that.

Open questions

... and most importantly, is this whole scheme even any fun to play?

We'll find out when I code some of it up and we can play around with it. Though that would require some spells to exist first, and probably some enemies to use 'em on.


There are many wilder hard magic systems if you look for them!

Of course, framed this way, the line between "hard magic system" and many game characters' abilities becomes very blurred. In Hades, are the Boons that Zagreus collects from gods "magic"? What about his weaponry upgrades?


Unfortunately Magicka 1 has been neglected and crashes often with its latest published update, so you're better off playing Magicka 2 if you're looking to get a taste of it. It's basically the same system with another element or two, though unfortunately they did spin it more towards a twin stick shooter.


Magicka does give you a quick reference underneath your character for casting Magicks, but you can only see the details for 1 spell at a time (you have to scroll to find the spell you want) and it's hard to see when in the thick of things.


Actually this proposed "combine 2 elements to make a spell" control scheme is also stolen from Gauntlet, where the (singular) Wizard character can choose from 9 spells based on permutations of 3 elements7, allowing duplicates. But in Gauntlet you don't automatically cast a spell when you "select" it.


5th Element? Fun movie, and it strikes me as not a bad name for a game either, but I probably would be sued to high heaven if I tried that.


I spent 2 hours painstakingly drawing that XBox controller in Inkscape. Hopefully I can reuse it for the actual game too!


Okay technically in Gauntlet the wizard can unlock 3 Tomes; a single Tome can be equipped at a time, and will replace one of your elements with another (thereby replacing 3 of your spells).

And yes, that's right, this is a footnote for a footnote.

◂  Playing Nice with Moving Bodies
News index
Atomic Holes and Multiplayer  ▸