当前位置: 华文问答 > 数码

即时战略游戏中实用的寻路算法都有哪些,比较如何?

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