kidoOooOoooOOom

ゲーム開発やってます

Arbor3のBehaviourTreeでシミュレーションゲームの敵反撃行動を実装

UnityAsset の Arbor3 を使うと、StateMachineやBehaviourTreeをノードベースで割と簡単に実装できる。

https://arbor.caitsithware.com/

今回、個人的に制作予定のシミュレーションゲームの敵行動AIの一部をBehaviourTreeで試しに実装した。

(BehaviourTreeの各要素の説明はこちらの資料がわかりやすかった) niconare.nicovideo.jp

こちらの資料を参考にしつつ、今回実装した敵の挙動は下記の通り。

状況:プレイヤーに攻撃をされた時の敵の行動

  • 反撃可能かつ、プレイヤーの攻撃をくらっても死ななそうなら反撃を選択する
  • 反撃しない場合、防御をして死ななそうならば防御を選択する
  • 反撃も防御もしない場合、回避を選択する

この挙動をBehaviourTreeで表すと、Rootの下にSelectorを1つ置いて反撃・防御・回避のどれか1つの選択を決定する。 反撃と防御のノードの中に、それぞれSequencerを1つ用意して条件をチェックする。

f:id:gidooom:20190202190026p:plain

これで期待通りの動きをしてくれた。

今後はもうちょっと複雑な動きもBehaviourTreeで作っていくl。