Though we will primarily focus on using FSMs to implement AI in our game to make it more fun and interesting, it is important to point out that FSMs are widely used throughout game and software design and programming. In fact, the new system in Unity 5 that we'll be using was first used in the Mecanim animation system.
We can categorize many things into states in our daily lives. The most effective patterns in programming are those that mimic the simplicity of real-life designs, and FSMs are no different. Take a look around and you'll most likely notice a number of things in one of any number of possible states. For example, is there a light bulb nearby? A light bulb can be in one of two states: on or off. Let's go back to grade school for a moment and think about the time when we were learning about the different states a matter can be in. Water, for example, can be solid, liquid, or gaseous. Just like in the FSM pattern in programming, where variables can trigger a...