我正在开发一个用于解决简单隐形游戏的AI。其目标是到达终点而不被敌人(带手电筒的)发现。我已经实现了路径查找算法(A*),但还没有实现避免或在某个位置等待一段时间后再移动的逻辑。地图上没有其他元素,只有玩家、卫兵和目标。我目前的想法是,当AI已经构建好路径时,排除路径中会被发现的坐标,并且AI不断重新构建路径。但敌人是不断移动的(动态障碍),所以我认为仅凭这个方法无法到达目标。还有其他想法吗?
回答:
假设你有足够的内存可以使用,并且卫兵的移动是已知或确定的,你可以将时间作为另一个维度来建模(例如,你的2D地图变成一个3D时空竞技场)。
然后你可以通过时间进行A*搜索……在时空中,带移动探照灯的敌人将是“静止”的。