當前位置: 華文問答 > 數碼

即時戰略遊戲中實用的尋路演算法都有哪些,比較如何?

2014-02-27數碼

rts中的尋路系統一般需要滿足有以下幾個條件,

1. 效率高,因為rts普遍地圖大,單位多,所以處理效率很重要

2. 易編輯,以便於level design

3. 效果真實,如能找出最優(或者是看上去合理)

4. 可以應對動態的遊戲世界,例如起建築

@王亞暉

所說,一般用於尋路的 演算法 是A Star,

首先是A Star有利用到啟發式函數(Heuristic Function)[1],和另一個演算法Dijkstra(A Star的無啟發函數版)相比可能會更有效率,因為啟發函數設計得當,可以大大減少計算的數量。

因為啟發函數的估計往往不是精確的,所以A Star [刪:不像Dijkstra,] 不一定能找出人類人之上的最優解,但是對於遊戲來說,看上去合理就行。

然而用A Star作為尋路演算法,僅僅是尋路系統的基本部份。

作為系統,它需要有易編輯的特性。

這就涉及到A Star中每個節點(Node)的 表現方式

最基本的表現方式是方塊(Tile),如下圖 [2]

其中,可以將山洞所占的的幾個方塊設為「Not