中EN

Behavior trees for AI: How they work(笔记)

Markdown1 KB 原始文件

Source: Chris Simpson, Game Developer / Gamasutra, 2014-07-18. URL: https://www.gamedeveloper.com/programming/behavior-trees-for-ai-how-they-work GEA4 引用为 [401]。

结构

  • 树状层级:分支控制流,叶子是真正命令/测试。
  • 可极深;子树可库化复用;按优先级排分支,失败可回退。

节点返回值

  • Success / Failure / Running:Running 允许跨多帧(如寻路+走路)。

三类节点

  1. Composite:多子节点。Sequence(全成功才成功,AND);Selector(任一成功即成功,OR,按优先级试备选方案)。
  2. Decorator:单子节点。Inverter、Succeeder、Repeater、Repeat Until Fail 等。
  3. Leaf:无子节点;游戏自定义(Walk、条件测试、调用子树)。

数据上下文 (Data Context)

  • 树实例带键值上下文;节点读写变量,使树成为整体。
  • 子树 Leaf 可传递同一上下文,模块化。

实践要点

  • 应缓存当前 Running 节点,避免每帧从根全树遍历。
  • Selector 把「失败」变成自然决策路径,而不是致命停机。
  • 可用栈操作节点迭代候选(门/窗列表)。

引用这一章的笔记

输入关键词开始搜索

滚轮或双指缩放 · 拖动平移 · 双击放大 / 还原