Skip to content
Graphviz (DOT) templates

AI Behavior Tree — Enemy

Selector + sequence behaviour tree for a patrolling enemy.

Template previewGraphviz (DOT)
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;
}