Jump to content

  • Log In with Google      Sign In   
  • Create Account


Member Since 29 Jul 2009
Offline Last Active Nov 08 2012 07:25 PM

#4998126 What is a (Finite) State Machine? Why are they useful for game dev?

Posted by on 06 November 2012 - 12:03 PM

I want to take a shot at this. One, to try and help, and two, to be corrected if I'm wrong since I still consider myself a novice.

When I think of FSMs, I think of things like the previous posters have said, but I wanted to try and give a different visual to help you (hopefully not confuse you). For example, this is one path a user could take in a FSM:

Splash Screen -> Main Menu -> MultiPlayer Menu -> Find Room -> Game Begins -> Pause (Player Quits) -> Multiplayer Menu (Player backs out) -> Menu Menu -> and so on.

Now, Iride said something in his first post about a state having a subset. So, I will give you an example of some states I believe could have subsets, and those states would manage their own subsets.

Subset 1: Main Menu (Which, remember, is being managed by some other FSM)
Main -> Options (Player goes back) -> Main -> Help (Player goes back) -> Main -> Multiplayer is clicked, which effects the manager taking care of Main Menu (My above FSM in bold-green).

MultiPlayer Menu -> Find Room -> Game Begins -> Pause

Maybe the pause menu can have its own FSM?

So, that is my answer. I tend to think of FSMs as managers, and I usually give them that type of name (StateManager, MenuManager, etc). I hope I was able to help.

If anyone thinks I don't know what I'm talking about, please correct me as it's always fun to learn!