The Abjuration Sigil is designed differently than Evocation. For Evocation, your mages are casting offensive spells and deciding when to release them.
For abjuration, your mages are working as fast as possible to ensure the castle has its maximum protection up at all times.
Let’s see it in action.
You can see two mages have been assigned to the AbjurationSigil
. The sigil has
a queue of its desired wards (one fire, two arcane). The mages begin casting
the spells as fast as possible, while the enemy pyromancer throws fireballs
to destroy them.
I’m not sure if I love the complexity of elements with wards while playtesting, so I might turn elemental wards into temporary effects. Imagine you have three arcane wards, press fire ward on your sentinel, and suddenly all the wards erupt in flame to temporarily negate an on-coming fireball.
I intend to play around with the system and see what feels fun.
Also, I cannot wait to write the shaders for the stacked ward effect. Right now it looks like they overwrite each other, but programmatically, they are stacked.
Attacks from within
One minor issue I ran into was when an enemy cast a spell from within the castle.
The enemy’s spell immediately fizzled because it came from within the ward. Whoops.
I added an origination check to ensure this interaction wouldn’t occur. I considered moving the collision boundary, but that felt a bit too fragile.
With evocation and abjuration implemented, castle battles are finally possible!
I should really implement AI…
Naming is the hardest part of programming
A totally unimportant major change I chose to make in the codebase this past month.
Up until now, I had been naming all components with -Component
suffix.
PositionComponent
TextureComponent
BodyComponent
I finally had enough of the typing. I dropped it across the entire codebase.
Position
Texture
Body
I should done that a year ago.
Pixel Tilesets
I’ve been playing around with pixel tilesets. I saw other artists typically only created corners, a base, and a few variations.
I started with grass moss and dirt (I don’t like grass).
It seems a bit repetitive, but for an initial attempt, it works reasonably.