Un agente guidato dallo stato è un agente che esegue un'azione in base al suo stato corrente. La logica può essere implementata mediante l'uso di un D-FSM che cambia stato in base alla "percezione" e agli "stimoli" dell'Agent ed esegue azioni all'ingresso, all'ingresso e all'uscita da uno stato.
Sto cercando di implementare questo tipo di design in un'architettura Entity-Component-System (ECS) .
Il mio primo pensiero è stato quello di implementare un componente "FSM" contenente un current_state e un rulebook, un sistema che aggiorna il componente FSM current_state in base al suo regolamento e un sistema che implementa le azioni di un'entità (e modifica i suoi componenti di conseguenza) a seconda dello stato del componente FSM.
Non sono sicuro che si tratti di un'implementazione ECS corretta e che possa rappresentare in modo pulito enter_state / exit_state - > eseguire un comportamento di azione.
Quindi, come dovrebbe essere implementato SDA in un'architettura ECS?