階層型状態機械
状態の中にさらに下位状態を持てる状態機械で、共通の振る舞いを親に一度だけ書けばよい。
ゲームのキャラクターを平坦なFSMで作ると、すぐに行き詰まる。「待機」「走る」「しゃがむ」はどれもジャンプできなければならず、同じ遷移を全部の状態から配線することになるからだ。階層型では、この三つを「接地」という親状態の中に入れ、「空中」への遷移は親だけが持つ。下位状態が処理しないイベントは親に渡される。オブジェクト指向の継承によく似た仕組みだ。
発想のもとは、デヴィッド・ハレルが1987年に発表したステートチャートで、戦闘機の航空電子機器を、図が膨れ上がらないように記述するために考案された。ゲーム開発者は、平坦な状態機械やStateパターンでは規模に耐えられなくなった時にこれを取り入れた。そして階層そのものが深くなりすぎると、今度はビヘイビアツリーへ乗り換えることも多かった。