GameMachineGameMachine is a tool specifically designed for visually programming game objects logic and animations.
It is based on the concept of Finite State Machine (FSM).
At any moment the FSM is in a state, i.e. it is doing something.
When an Event occurs the FSM passes from the current state to another state, i.e. it stops to do what it was doing and it starts to do something new.
Every state can be connected to a number of other states basing on the specific events that occur.
So if FSM is in state1 and event1 occurs it passes to state2, if event2 occurs it passes to state4, if event3 occurs it passes to state6, etc...
This kind of behavoiur can be summarized in the following table:
Of course tables are only one way for representing a FSM.
Another way to represent a FSM is a node based diagram that is exaclty what GameMachine does.
In GameMachine every State is represented as a node of a diagram and, internally, it is a collection of consecutive Actions (i.e. what FSM is doing now?).
Nodes are connected trough lines representing transitions from a state to another, every transition is triggered by an Event.
|