State machines

In life, as well as in game development, state machines (or Finite State Machines as they are more commonly called) are a core component for day-to-day running. At a basic level, they tell us exactly what we are doing right now, what we were doing previously, and what we can do next.

They are commonly used for the following:

  • Menu systems
  • Game-level transitions
  • AI/behaviors

We can implement these within games in various ways, from the very basic (and generally hard to manage) to a more ordered system and beyond with full state managers.

A basic state machine is like a flowchart and looks something like the following diagram:

State machines

Defining states ...

Get Mastering Unity 2D Game Development - Second Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.