真正的控制結(jié)構(gòu)是什么樣子的?何很多其它的系統(tǒng)一樣,Halo2使用了分層有限狀態(tài)自動(dòng)機(jī)(HFSM),或者叫做行為樹,更特定的來說,是一個(gè)行為有向無環(huán)圖(DAG),因?yàn)閱我坏男袨榛蛘咝袨樽訕淇梢哉紦?jù)圖中的幾個(gè)不同位置。下圖給出了一個(gè)例子,這是Halo2真正的核心行為DAG的一個(gè)高度簡化版本,它包括了50個(gè)不同的行為。

HFSM是決策領(lǐng)域一個(gè)廣為人知的經(jīng)過了時(shí)間考驗(yàn)的技術(shù)。我們下面的討論將會(huì)限制在我們在Halo2游戲中發(fā)現(xiàn)的有用的特性上。
決策途徑
在典型的HFSM系統(tǒng)里,非枝葉行為的作用是用來做決定,枝葉行為是用來完成具體的任務(wù)。如果是在前者身上發(fā)生的決策過程,那么通常都有兩種方式:(a)讓父行為利用專門的代碼做出決定,或者(b)讓子行為去競爭,讓父行為根據(jù)子行為的渴求程度和關(guān)聯(lián)度判斷最終的取舍。
relation link:備份貼 (里面含有PPT,很精彩)