遊戲AI之RTS遊戲中目標指引推理的經濟學方法

2021-05-23 13:32:44 字數 971 閱讀 6512

一 目標指引推理

在乙個目標空間中進行推理可以採用兩種方法:從初始狀態開始的正向推理;或者從目標開始的反向推理。由於在rts遊戲中,任一狀態都有大量的走法,所以反向推理顯得更為高效。

很多時候,目標是無法直接達到的,這個時候就需要將目標分解成無數小的目標,依次實現。

二 效用模型

在對目標進行分解後,需要對目標鏈進行選擇,分配優先順序。要實現優先順序演算法,需要先明白如下概念:

1、效用模型

每個行動都會給目標帶來效用,而邊際效用指花費1單元的代價在該行動上能夠帶來的效用。

同人類對普通消費的觀念一樣,ai也總是追求最大的邊際效用的。

2、成本

要計算目標的邊際效用,先要計算目標的成本。

目標的成本包括資源成本和時間成本。另外還包含乙個非常重要而又很容易忽略的機會成本。

3、生產可能性

檢查各種可能的選擇的方法,是建立乙個n維的生產可能性曲面。

4、目標成本與任務成本

要計算乙個目標的成本,除了要計算它本身的建設成本,還要加上從現在的狀態開始,為了建造該目標,而事先建造的所有子目標的成本。

5、多工

很多建築都是單任務的,乙個時間只能做一件事,考慮演算法時需考慮這個因素。

三 組合

步驟:1、確定乙個或一組目標。

2、將目標分解成一系列子目標。

3、生成通往每個目標的任務鏈。

4、判定每個目標和子目標的效用。

5、將每個目標的效用值都反向傳遞,並一路相加,以確定最初子目標的優先順序。

6、對子目標的效用值歸一化。

7、找到效用最大的子目標。

8、確定該子目標的任務序列能否執行。不能則不安排該任務。

9、重複7和8,知道安排完所有的任務序列,或無法安排更多的任務序列。

10、響應遊戲世界的變化

11、任務序列完成後刪除。

遊戲中幾種簡單的追蹤AI

一 基本追蹤ai 實現原理 當追蹤者的x y座標分別小於被追蹤者的x y座標事,追蹤者的x y自增 當追蹤者的x y座標分別大於被追蹤者的x y座標事,追蹤者的x y自減 假設追蹤者的座標是predatorx和predatory,被追蹤者的座標是preyx和prey,基本追蹤的演算法 如下 if p...

遊戲中同步使用者狀態之

目的 了解遊戲中怎麼維護使用者狀態,和同步每個使用者狀態機制。傳統方案 輪詢方案 談起輪詢讓我想起,在開發用用到輪詢的方案 b s開發中怎麼理解伺服器端的輪詢 不論你是採用foreach thread.sleep xx 還是採用timer,這一類都可以歸結為輪詢的處理方案。這種方案不在b s開發中常...

遊戲中同步使用者狀態之

目的 了解遊戲中怎麼維護使用者狀態,和同步每個使用者狀態機制。傳統方案 輪詢方案 談起輪詢讓我想起,在開發用用到輪詢的方案 b s開發中怎麼理解伺服器端的輪詢 不論你是採用foreach thread.sleep xx 還是採用timer,這一類都可以歸結為輪詢的處理方案。這種方案不在b s開發中常...