Utility-based AI for Games
Finite-State Machines (FSM) are the bread-and-butter of game AI due to their simplicity (both in implementation and theory) and effectiveness. As such, FSMs are the topic of many tutorials and guides. Unfortunately, most of them focus on the States part of FSM. After all, they are called Finite-State Machines, so you expect that states are the critical part. Well, no. The critical part is the other: transitions. Transitions can make or break your AI independently of how carefully crafted the states are.