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:
- Soft: the rules of magic are intentionally left vague; readers don't know how things work or what to expect.
- 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:
- On yourself
- Onto your sword (so it's cast when you attack)
- In a direction
- 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!
- Fire + Earth + Direction cast -> fireball.
- Lightning + Arcane + Cold + Direction cast -> lightning beam that also freezes enemies.
- Earth + Shield + Fire + Self cast -> rock armour and immunity to fire.
- Cold + Water + Shield + Sword cast -> summon rock icicles from the ground when you attack.
- Water + Area cast -> wets players and enemies near you.
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:
- The Magicka control scheme on game controllers is not great, particularly in a platformer context. With one button always reserved for jumping, there just aren't enough buttons to dedicate 8 of them to summoning elements and 4 of them to cast mechanisms!
- Making a powerful spell is often "I want a fireball but bigger, so instead of Fire and Earth, I'll do Fire and FOUR Earths!" - many of the most effective spells only use 2 or 3 unique elements and then double them up.
- Once you find a powerful spell, the only thing stopping you from spamming it over and over is how fast you can press the buttons to summon the elements. This sucks some of the fun of experimentation out of the game.
- All the more unusual spells are only accessible as Magicks, and as I mentioned they are clunky to use. Not ideal for a fast paced platformer I'm aiming for.
So I'm going to steal the good bits from it4 and try the following instead:
- Your wizard character is equipped with up to 4 elements at once (you pick them up from defeated enemies or similar).
- Each element is still summoned by a dedicated button like in Magicka.
- Summoning 2 elements automatically casts the spell - no choosing "how to cast this spell" means easier learning of the game by button mashing.
- Some more powerful spells will have cooldowns before they can be used again (or limited charges? Or charge-ups before they fire? TBD).
- You can cast the last spell again with a single button (for convenience).
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:
- 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.
- "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:
- Players play unique wizards that they unlock as they progress through the game.
- If players die or start a new level they get a new wizard.
- Each wizard will have an additional "5th element"5 that's always available and unique to them.
- The 5th element can be combined with any other element to create unique spells only that wizard can cast.
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
- Sticking "Re-cast spell" on the Right Trigger makes sense because it's the traditional "shoot button". And if it's held down then it should just keep casting the spell as soon as the spell cooldown (if any) elapses.
- But putting "Wizard Element" on the Left Trigger will tend to make players think they should hold it down too, because that's what triggers usually are for. So maybe I should also make it so that holding the Wizard Element trigger down will do something cool.
Open questions
- Is pressing 2 buttons to cast a spell still kinda annoying?
- Should elements be the standard elements, such as Fire, Water, etc - or should they actually be elements from the atom simulation?
- How is best to divvy out elements to players?
- How is best to hand out new wizards to players?
... 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!
- Brandon Sanderson's Mistborn saga features Allomancy, where ingestion of particular metals might grant repulsion or attraction abilities, heightened senses, super strength, or much more.
- Brian McClella's Powder Mages manipulate gunpowder and use telekinesis to control bullets.
- Mages in Brent Weeks's Lightbringer series absorb light and release it as physical forms with properties varying by the color of light.
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.