談談模擬足球遊戲中人工智慧的應用(轉)

post0發表於2007-08-12
談談模擬足球遊戲中人工智慧的應用(轉)[@more@]

  當球隊進攻時,對於有球隊員來說,它(暫且用它咯)在每一個瞬間都會有一個行為指導,也就是下一步行為:是向某方向帶球?還是以某種方式傳球給隊友中的某一人?或者即是立即射門。這個指導行為從何邇來?又如何根據狀況得以改變?不管情況怎樣變化,使球員能在任何時刻都有一種較為合理的下一步行為為備,這樣大概便可以模擬出踢足球的AI了。

  其實足球AI模擬的關鍵就在於會讓球員能較為聰明合理地分析球場上瞬息萬變的賽況,並根據這個判斷得出一個更為聰明合理的下一步行為。能力好的球員會不斷的分析,從而迅速地調整它的行為而得以使比賽向更為有利的趨向發展,這個過程不斷地持續,一場計算機AI模擬的高水平足球賽便可得以實現了。

  第一個難度便是如何教會讓AI球員判斷場上的情況,如何產生AI分析,如何得出結論並生成下一步行為。

  第一步是視覺判斷:

  帶球球員能看到隊友及對方的行為,從離它近的到離它遠,無論在它前面或是在它側面甚至是在它身後的,優秀的球員都能夠感知。也就是模擬使AI球員“視野開闊”。這些資訊可以很方便地從SIM比賽中球員的座標,速度,動作資料得來,模擬起來並不算太難。

  第二步是賽況分析:

  也就是說使球員在視覺資訊採集後產生一個意圖,使比賽能更為向我方有利地發展。(比如:隊友位置都不太好,無法穿球,AI使它得出了繼續運球的意圖;當它離球門距離不太遠,有一定的射門空擋,AI便使它得出帶球射門的意圖;當有隊友的跑位出現空擋時,AI便使它產生了向其分球射門的意圖;當兩側隊友跟進到位時,AI便使它產生向其穿球打下底穿中的意圖)

  這些都是第一步行為意圖,是戰術的雛形。

  從這些極其離散的視覺採集資訊(就是那些敵我雙方球員座標,速度,行為甚至能力)而產生一個戰術意圖看起來是非常玄妙而神秘的。殊不知,聰明的人類卻能夠從這些離散而無規的資料中能提煉出非常多隱藏在內的有用的比賽資訊!而AI模擬的任務就要讓COM球員學會找出這些隱藏的資訊!

  因此可以將導向式思考(利用經驗規則導向)與推論式思考(用極大極小法推匯出最佳行為)兩種方式合理巧妙地結合起來。

  另一個重要的因素便是將大量隱藏資訊進行“過濾”,也就是說,AI需要找出最有價值(或者講是合適)的隱藏資訊,這裡有隨機因素,也有權排序。

  最後一步便是根據所產生戰術意圖而形成一個下一步行為:

  這很像是一個細節處理,因為下一步行為行為是隨時在頻繁地改變,而戰術意圖相對來說是較為穩定的。(畢竟近處看得多,遠處觀的少)實現下一步行為便是這個SIM足球的“動作引擎元素”,合理的動作元素可以使模擬比賽的可視性更為真實,更重要的是它能夠與AI相互配合,這兩者可以說是相輔相成缺一不可的(呵呵~哲學課考試我用的最多就是這句話:)FIFA的缺陷便在於它的動作引擎元素沒有WE系列合理真實,這便直接導致了它的真實性不如WE,AI做的再棒也無濟於事。

  總結:AI球員透過觀察賽況,找出離散資料的隱藏資訊,得出了一個戰術意圖,做出了一個動作行為,這便就似完成了一個TURN。剩下的,SidMeier有一個很有用的經驗思路:“我先教它如何玩一個回合開始。然後教它如何玩兩個回合,再後來就該考慮教它如何玩10個回合了。”當然,SIM足球的AI也許會更復雜,因為我們只考慮了有球球員AI模擬的一個例子,但是我相信這3個部件是適用與足球場上每一個情況的,要做的只是更深入的分析,體會,感悟

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/8225414/viewspace-952003/,如需轉載,請註明出處,否則將追究法律責任。

相關文章