AI Behavior Tree — Enemy
Selector + sequence behaviour tree for a patrolling enemy.
Rendering…
Make it your own.
digraph bt {
rankdir=TB;
graph [bgcolor=transparent];
node [shape=box, style="rounded,filled", fontname=Inter, fontsize=10];
Root [label="? Selector\n(root)", fillcolor="#fce7f3"];
Combat [label="? Selector\n(combat)", fillcolor="#fce7f3"];
CAttack [label="→ Sequence\nattack", fillcolor="#fef3c7"];
CSee [label="Sees enemy?", fillcolor="#dbeafe"];
CRange [label="In range?", fillcolor="#dbeafe"];
CSwing [label="Swing weapon", fillcolor="#dcfce7"];
CChase [label="→ Sequence\nchase", fillcolor="#fef3c7"];
CSee2 [label="Sees enemy?", fillcolor="#dbeafe"];
CMove [label="Move toward", fillcolor="#dcfce7"];
Patrol [label="→ Sequence\npatrol", fillcolor="#fef3c7"];
PNext [label="Pick next waypoint", fillcolor="#dcfce7"];
PMove [label="Move to waypoint", fillcolor="#dcfce7"];
PWait [label="Idle 2s", fillcolor="#dcfce7"];
Root -> Combat; Root -> Patrol;
Combat -> CAttack; Combat -> CChase;
CAttack -> CSee; CAttack -> CRange; CAttack -> CSwing;
CChase -> CSee2; CChase -> CMove;
Patrol -> PNext; Patrol -> PMove; Patrol -> PWait;
}