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]