Envoyé par
Klaim
1. FSM : Finite State Machine
2. Les FSM sont en passe d'être remplacées par les Behaviour Tree coté IA, mais a priori c'est pas le sujet.
3. Je ne comprends pas pourquoi tes FSM sont le seul moyen de communiquer : ils doivent permettre de passer d'un contexte à un autre, mais C'EST TOUT.
4 Pour la communication, met en place un ou plusieurs "black board", c'est à dire un objet dont le but est juste de stocker des evenements, et de les balancer à ceux qui sont intéréssés pour des évènements précis - mais seulement lorsque tu appelles une fonction qui va traiter tout ça. De cette façon, tu accumule des évènements, puis tu les fait traiter quand il est temps et ensuite tu mets a jour l'état du jeu, éventuellement tu lui fait prendre des décisions.
5. Tes FSM et le système de communication doivent être orthogonaux. (dans l'idéal) Peut être que si tes FSM attendaient des évènements dans le système d'events, ça te permettrai de les faire intéragir de manière indirecte.
J'espère que ça va t'aider.
Partager