Game AI & NPC Behavior Systems is the layer of a game engine that decides what non-player characters and opponents actually do: which state to be in, which action to plan, where to move, and how much they currently know about the player. It sits downstream of animation and physics but upstream of the moment-to-moment feel of a game, since a competent-but-legible enemy or companion is often what separates a forgettable encounter from a memorable one. The field spans a spectrum from simple, fully predictable finite state machines through planning systems that search for their own sequence of actions, all the way to machine-learned policies that are never hand-authored at all โ and most shipped games mix several of these techniques rather than picking just one. The single most useful mental model to carry into every table below is the split between an agent's decision-making (what should I do right now) and its perception/movement (what do I actually know, and where can I go) โ nearly every classic "AI bug" traces back to one of those two layers lying to, or hiding information from, the other.
What This Cheat Sheet Covers
This topic spans 14 focused tables and 94 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Foundational Decision-Making Architectures
Before behavior trees or planners entered the picture, most game AI was built from a handful of simple architectures that are still the right choice for plenty of agents today; this table covers the building blocks everything else in this sheet builds on top of.
| Architecture | Example | Description |
|---|---|---|
Idle -> (seesPlayer) -> Chase -> (loseSight) -> Search | An agent occupies exactly one named state at a time and jumps to another state only when a defined condition fires. | |
Combat state nests sub-states Aim, Reload, TakeCover | Nests state machines inside states so shared transitions and sub-behaviors are defined once instead of duplicated across every top-level state. |