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

Slow Rush Studios

◂  Gesticulating Wildly
News index
Rocking Shields  ▸

Elemental Spellcasting

Contents

So far we have had spell casting based on a lookup table, and it worked but felt a little lackluster.

So this week I experimented with some twists and alternatives, including a Magicka-style spell casting based on mixing elements together.

Spell Lookup Table

To recap, the original spell lookup table approach worked like this:

  1. Each key or button is assigned to an element.
  2. Press any 2 keys (or buttons) to choose elements.
  3. Your chosen two elements select a spell from a 2D lookup table.1
  4. The spell is cast automatically.

I made spells get cast automatically because I wanted both fast-paced action and to encourage players to use a wide selection of spells.

But it was awkward on a gamepad: you use your right thumb to press element-buttons, so you can't use it to aim with the right thumbstick!

Spell Memory

Now the spell is only cast when you press the Right Trigger ("RT") button and the button remembers the last spell cast:

Instantly this feels more like a run-n-gun game.

I made a similar change for mouse and keyboard: cast with left or right click.

I was worried it would be too overpowered, but actually it's quite easy to kill yourself so that's a nice balancing effect.

Custom Spells

Still, the lookup table approach felt less like "I am a powerful wizard making my own spells" and more like "I am indirectly selecting abilities from a list".

My gold standard for cool spell casting is Magicka,2 so how about I try a similar system?

  1. You press buttons to summon up to five elements.
  2. Some elements combine or cancel each other out: fire + water -> steam, for example.
  3. The shape and effects of the spell are all determined by the elements plus the "cast button" you press.

For example, if you summon Arcane + Water + Fire then "offensive cast" you'll make an Arcane + Steam Beam that damages and wets enemies:

Diagram showing how Magicka's elements combine.
How Magicka's elements combine to determine spell type (source: Fandom Magicka wiki).

Spraying

I implemented the spray spell first:

Summoning Water + Fire to spray Steam, then Water + Earth + Arcane + Fire to spray Oil + Fire.

Elemental combinations are similar to Magicka but expanded: Oil is a new element, and you can make Acid too. 3

Atoms are created in proportion to how many of the corresponding elements were summoned, and summoning more elements causes the spray to be bigger and faster.

Unfortunately you can really see the weaknesses in the liquid simulation if you try spraying 5x water:

Notice how the water stacks up in front of the player and behind them too.

Beaming

If you summon Life or Arcane, then you'll get a partly implemented4 "beam" spell:

An acid beam from Arcane + Water will damage and eat through terrain.

Some elements that get added are created as atoms when the beam hits terrain or an enemy (or friend).

And some elements have effects on the spell itself: adding more Arcane makes the beam's hit-area bigger, and adding more Acid makes the beam eat through terrain faster.

I'm still working out what effects other elements (like lightning) should have!

Pushing

If you don't summon any elements, you can cast a 'push' spell as the default spell:

The push spell charges up over time to do a stronger blast.
(Just ignore how I kill myself with the barrel at the end there.)

Come to think of it, maybe I should make Push be what happens when you try spraying Steam on its own?

Give feedback!

I want to hear from you!

Discord Join Discord and let me know.

(And yes, element summoning, beam-spell and push-spell are all using placeholder art.)

Playable web build‎

To summon elements, you hold Shift, then press random keys until you've worked out what is what. 5

Release Shift and press left or right mouse button to cast the spell.

Press F1 for help, including to see keyboard/mouse controls. Mobile devices probably won't work!

1

Like a spreadsheet. In fact, I designed the spell combinations on a spreadsheet.

2

Noita's spellcasting is cool too - in fact I'm confident it was inspired by Magicka's system. But you need a PhD to understand Noita's spellcasting.

Maybe later I'll have a crack at adapting it to something dummies like me can work with, but I also don't want this game to end up as just "multiplayer Noita".

3

I have more elements planned but I'll save them for another update!

4

Beams that cross each other should create a combined beam (or, in the case of Life crossing Arcane, should explode).. And beams should directly apply status effects to characters they hit. Also eating through terrain and spawning atoms is a bit glitchy.

5

Or you know, press F1 to read the controls. Like a NEEERRRRD.

◂  Gesticulating Wildly
News index
Rocking Shields  ▸