部分可观察的游戏地图-A *是否合适?


16

我对游戏开发知之甚少,我正在努力寻找寻路算法。

考虑以下设置:代理位于2D地图上,必须找到通向全局已知对象的最短路径,但仅具有有关其本地视野范围内的障碍物的信息(即,仅已知直接障碍物,地图的总体布局未知) )。

而且,每次移动到相邻的正方形都是昂贵的,并且寻路算法应将移动的数量减至最少。

计算效率也非常重要,比准确性更重要。

A *是否适合此用例?

Answers:


19

您应该使用D *算法,该算法是针对这种情况而设计的。具体来说,D * Lite实现是最有效和最简单的变体。


2
高度相关。一旦了解LPA * (算法D * -lite基于),了解D * -lite很简单,但是LPA *本身相当复杂。因此,如果您计划实际实施D * -lite,则有关LPA *的文章将是开始的地方(假设您已经了解A *,则是这样)
BlueRaja-Danny Pflughoeft13 2013年

3

在这种情况下,许多游戏AI实施都会选择作弊,并充分了解自己的地图,而人类对手则没有。然后,您可以简单地将A *应用于完整地图。

对于计算机控制的单元来说,这看起来有多明智,将取决于诸如迷宫般的地图,以及玩家是否有可能随着时间学习地图布局。

如果这是针对玩家控制的单位,您还可以阻止玩家选择他们尚未探索的目的地,以迫使他们手动进行探索。


2
好的建议,不适合我的用例,但可能对其他人有用。(我正在开发一款可以在游戏模拟中竞争的AI)
David Chouinard

也有一些使用路径查找实现的游戏假设未开发的区域是可穿越的,而先前访问的区域自上次访问以来的可穿越性没有任何变化(即,在访问该区域之前,它不知道一堵墙可能已被破坏或建造)再次)。
Lie Ryan
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.