Lessico IT › Programmazione › Macchina a stati gerarchica

Macchina a stati gerarchica

Programmazione Svenska → Aggiornato: 2026-10-27

Macchina a stati i cui stati possono contenere sottostati propri, così il comportamento comune si scrive una sola volta nel genitore.

Una FSM piatta per un personaggio di un gioco va presto in difficoltà: «fermo», «corsa» e «accovacciato» devono tutti poter saltare, e la stessa transizione va cablata da ciascuno di essi. In una macchina gerarchica i tre stati stanno dentro uno stato genitore, «a terra», che da solo possiede la transizione verso «in aria». Un sottostato che non gestisce un evento lo passa al genitore, un po' come l'ereditarietà nel codice orientato agli oggetti.

L'idea nasce dagli statechart di David Harel (1987), ideati per descrivere l'avionica dei caccia senza che i diagrammi esplodessero. Gli sviluppatori di giochi l'adottarono quando le macchine piatte e il pattern State smisero di scalare, per poi abbandonarla a loro volta a favore dei behavior tree quando la gerarchia diventava troppo profonda.

← Torna al lessico