3 min read
The First Sigil

Sigils are a critical part of gameplay that has sorely been neglected. Time to change that.

So, let’s talk about what a sigil is:

  • Sigils empower spells from a specific school of magic
  • Sigils might add additional castle abilities (like Mass Teleport)
  • Sigils can be damaged and repaired
  • Sigils can be full of mana or drained and no longer working
  • Sigils can occupy 0-4 mages at a given time depending on upgrade level
  • Oh, and Sigils can be upgraded.

Evocation sigil should be relatively straightforward and I’ve implemented Fireball, so I plan to start with it.

Sigil Slots

The Evocation sigil will start with a single slot for a mage and can grow up to 4 slots.

I wrote a system where all mages reach the sigil, and once they do, they are placed into a slot. They have a SigilUser component while present which prevents them from autoattacking or moving.

I also chose that each type of sigil should have its own effect. There will be a generic SigilSystem that will handle using sigils, assigning them, but effects will be up to other systems. So I made a placeholder EvocationSigilSystem and Evocation component for empowering damage spells.

sigil slots

The jerky teleportation looks rough, so rather than just snapping into place on the slot, mages now walk to their slot.

sigil walk

However, they all greedily dive for the first slot. There’s two issues with this behavior.

  • They should go for the closest slot, not the first.
  • They shouldn’t go for a slot that is taken/reserved.

So I added a simple reservation system. Mages choose the closest unreserved and unoccupied slot first, if all are occupied, the mage won’t attempt to take a slot. If there is a reserved slot, the mage will try to beat the other mage to it anyway.

Evocation Spellcasting

When a mage casts at an Evocation circle, their spell is empowered. This might mean both a longer cast time and more damage.

I also want the player to be able to time the release of the spell once it is charged.

As the mage finishes the cast time, they can stay concentrating on the spell until the player chooses the target and have it release!

That way you can coordinate multiple spellcasts at once without having to know their cast times ahead.

Here’s a quick demo of the Evocation circle!

sigil-evocation-cast

Now for the other sigils…

starflower