真正的控制结构是什么样子的?何很多其它的系统一样,Halo2使用了分层有限状态自动机(HFSM),或者叫做行为树,更特定的来说,是一个行为有向无环图(DAG),因为单一的行为或者行为子树可以占据图中的几个不同位置。下图给出了一个例子,这是Halo2真正的核心行为DAG的一个高度简化版本,它包括了50个不同的行为。
HFSM是决策领域一个广为人知的经过了时间考验的技术。我们下面的讨论将会限制在我们在Halo2游戏中发现的有用的特性上。
决策途径
在典型的HFSM系统里,非枝叶行为的作用是用来做决定,枝叶行为是用来完成具体的任务。如果是在前者身上发生的决策过程,那么通常都有两种方式:(a)让父行为利用专门的代码做出决定,或者(b)让子行为去竞争,让父行为根据子行为的渴求程度和关联度判断最终的取舍。
relation link:备份贴 (里面含有PPT,很精彩)