9. State Machineの欠点 2/2
• Stateとその遷移が1つのAIの構造に
なっているので、再利用性が低い
– 例:攻撃する行動は別のAIで実行されてい
ましたが、簡単に使いまわすことができない
S0
E1
S2S1
E2
E3
S0
Ex
SySx
Ey
Ez
S: State
E: Event
10. State Machineの問題のまとめ
• 問題点:
1. Stateの数が増えれば、管理しないといけな
い遷移は膨大に増える
• バグが出やすい
• デバッグは難しい
2. 再利用性が低い
• 違うやり方で、NPC対戦のチュートリアル
をやろうと考えた
– Behaviour Tree
16. Sequence ノード
• 順番に子を実行するノード
– 子が成功したら、すぐRunningを返す。次のフレームの
Updateで次の子を実行する
– 子が失敗したら、すぐFailureを返す
– すべてのノードを実行し終わったら、Successを返す
• 例:ある位置に移動して、着いたらしばらく待機する
A
Seq
A
Running
A
Seq
A
フレーム1 フレーム2
A A
Ready