# 《天国:拯救 2》:结合 Goap 和模块化行为树,实现丰富生动的 NPC 行为
# Goap(Goal-Oriented Action Planning)
通过一系列的「行为」和「行为本身所需条件 (npc 具备某种状态)」以及「行为产生的影响 (npc 获得新的状态)」
并且根据「行为」的「权重」让不同 npc 选择自己偏好的「行为」。整个挑选行为的过程,类似 A_star 算法。
权重采用的是以目标状态为优先级进行排序执行,而非严格意义上的对节点执行开销做「最优解」:
- 因为无法预测任意情况下是否会得到相同的执行结果,例如寻路可能因为远近产生不同开销,所以可能会带来不同结果,这个不确定性比较强。

# MFB(Modular Behavior Trees)
子树的方式对行为树进行模块化,利于分工协作,且具备良好的内聚性。