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]