Behaviour

Behaviour trees are used to compose complex entity behaviour from simple reusable nodes.

The behaviour tree system is defined in mods/core/behaviour

Classes

All these classes will exist in the behaviour global table.

  • BehaviourTree - the root node.
  • Node - base node, defines run() and get_state().
  • Branches:
    • Selector - tries each child in turn until one succeeds.
    • FickleSelector - tries each child on each turn, until one succeeds.
  • Sequences:
    • Sequence - runs children in turn, stopping on failure.
    • FickleSequence - runs all children on each turn, stopping on failure.