States Engine – Part One (Normal States)

I’ve managed to code up most of my Armor and Battle mechanics but found myself finely needing to revisit my States Engine. Mostly in order to complete my collection of systems which focus exclusively on battle, and to FINELY look forward to fleshing out what I hope will be a unique and powerful Golem Legend – Battle Demo. (Sooner or later)

A lot has changed since I first mentioned my States Engine and the vast majority of that change has been in my capacity to imagine where my code is headed before I stumble onto it…

I remember that shortly after I started I got badly burned out and had to do something else for a while. It was the third attempt at writing the entire state mechanic, and while I had finely gotten the right idea it didn’t take long for me to realize that I was still trying to bite off WAY MORE than I could comfortably chew.

So I went sideways (Yay: AP Battle Mechanic!) and success led to renewed productivity, which lead to another mess…. 😀 But I re-wrote that as well, and a half dozen plugins, and nearly an entire Battle_v3 system.

I have not been here to talk about them because I was writing them!

(I seem to do my best work in the third attempt for some reason)

So… Why am I here now and not still coding?

I think its because I bloviated so profoundly several months ago and thought that I might take a moment to tell you (and my posterity), that was the moment I think I finely realized that I can do… this.

All of this.

Until that moment, I had been Running on Empty. Running Blind… 😉 It wasn’t 100% apparent to me at that time, but something was clicking in my head and whatever that was, gave me the push I needed to tackle these last few months with hitherto unseen consistency.

Today, as I buttoned up the first 2/3rds of the Core of the States Engine I figured it would be a good time to mention a little of my progress.

Here is the first 3rd… Regarding Normal States.

Normal States

Normal states function as they always have with a few notable exceptions.

First, is that a state can now be Hardened once it is applied to a target. While feature objects that totally resist a state still do so, once they are successfully applied they might become hardened. Thus, it is always easier and cheaper to work at prevent states, rather than removing them!

Most support classes sport plenty of (Feature: Rate – State) abilities.


Second, is the inclusion of Dispel note-tags, that are currently only applied to States, but will also be applied to actions with extended formula based chances.


Such actions differ from normal effect based remove state, by the simple fact that they do not directly remove the state, but only weaken it, in order to allow a countering state to remove it through resistance.

Hardened states can not be (Feature: Resist – State) removed from a target without first being Dispelled.


This dispel requirement only applies to states added after the hardened state was applied, in an attempt to remove it. Primarily because the majority of my plans regarding the removal of states in the field (such as inside a dungeon) is through the application of counter-states.

Think of how modern medicine works. When you are sick, you apply a medicine to yourself in the hopes that it removes the sickness. Now, imagine how a magical spell works, as it instantly vaporizes the bad stuff somewhere in your body. Hardened sicknesses can not be removed via medicine, without first being weakened with a dispel. But if an action outright removes the state, even a hardened one doesn’t stand a chance.

While magic actions with (Effect: Remove – State) exist, they are rare and expensive.



Next time I will detail Permanent States. Hopefully by then I will also have completed the last 3rd of the States Engine and will write up a post about Trait States!




Registered Users Can Reply

Please log in using one of these methods to post your comment: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s