It's finally complete, last night I put the finishing touches on the Kitae State Machine editor. I actually had the idea for this a while back, and built all the base classes and tested them, but wanted to finish the IK editor for Skeletal Actors before moving on to the editor for State Machines.

Kitae's state machines mean that at code-time you do not need to worry about what actions lead to what states. For example, player on a ladder would usually not be able to either jump or run left or right. He would likely only be able to climb up, down and drop. This kind of switch from state to state is handled entirely by the state machine based on the actions you feed in and the transitions you build to link one state to another. The whole point of the StateMachine classes are to remove large nested switch statements from your main loop. These are typically difficult to follow, hard to debug at runtime, and a pain to maintain. Anyone who has written any game before will be all too familiar with the spaghetti code that often plagues character update methods. Hopefully StateMachines will allow you to take control of this problem much more easily. Update loops can typically be written as a single switch state against the current state of the StateMachine, and StateMachines are much easier to visually debug in the Game Editor.

StateMachines can be used anywhere you would normally manage state, e.g. character Update methods, managing menu selection, etc.

I'm not 100% sure I've covered everything people will want to do with state machines, but for now, they are still very useful.

Null City Software

Null City is dedicated to developing top quality sofware products for Windows PC, XBox and Windows Phone. We specialise in games and .NET applications & components.