15得票3回答
一个好的基于2D网格的路径规划算法是什么?

我目前正在使用HTML5的<canvas>元素和Javascript编写一款2D游戏。它进展顺利,但我遇到了一个问题。 我的游戏级别设计是一个网格(所以从一个单元格到北/南/东/西单元格的路径成本为1),各种障碍占据着网格中的不同位置 - 很像迷宫,但有更多的波动余地。每个独立的...

15得票1回答
如何将AStar应用于Godot平台游戏?

我一直在寻找一种适用于我正在开发的基于平台的游戏的强大的路径查找方法,A*看起来是最好的方法。我注意到Godot中有一个AStar实现的演示。然而,它是为基于网格/瓦片的游戏编写的,我正在尝试将其适应Y轴受重力限制的平台游戏。 我找到了一个非常好的答案,描述了如何在Unity中应用A*到平台...

14得票4回答
有没有适用于Python的可用的路径规划库?

我正在用Python开发一个实时等角RPG游戏,并希望将其作为移动设备的平台。 我遇到困难的主要领域是路径规划。 我尝试了一些算法,包括A *和一些调整来更好地适应我的地图。 我对我的算法结果感到满意-它们在给人以智能幻觉的同时是确定性的,并且在两个角色互相定位的情况下始终具有一致性,以便它...

14得票1回答
A*算法的正确表述

我正在研究A*寻路算法的定义,不同的地方似乎有些不同。 区别在于当经过节点的后继节点时,在发现后继节点已在关闭列表中时所执行的操作。 一种方法(由维基百科和此文章建议):如果后继节点在关闭列表中,则忽略它 另一种方法(例如在这里和这里建议):如果后继节点在关闭列表中,则检查其成本。 如果成本...

14得票6回答
在一个网格中寻找访问所有非阻塞方块的最短路径。

假设你有一个像这样的网格(随机生成): 现在假设你有一辆车从其中一个白色方块开始随机行驶,问通过每个白色方块的最短路径是什么?你可以无限制地访问每个白色方块,但不能越过黑色方块。黑色方块就像墙壁一样。简单地说,你只能在白色方块之间移动。 你可以向任何方向移动,甚至对角线。 两个子问题...

14得票7回答
什么是寻找小世界图路径的最有效方法?

我有一个带权节点的海洋,有边将节点群体链接在一起。该图遵循典型的小世界布局。 我希望找到一种路径查找算法,它在处理器功耗方面不会太昂贵,以找到沿着最优路径的路径,其中节点权重最有利,最快的路线不是最重要的因素。这个算法还考虑了负载承载和交通重新路由。 (旁注:神经网络能在这里使用吗?) ...

13得票2回答
如何检测网格上的正方形,这些正方形在添加障碍后永远不可能成为最短路径的一部分?

我有一个网格,其中包含起点、终点和一些障碍。单位只能沿着最短路径(仅向上/向下/向左/向右移动),从起点到达终点,不能穿过障碍物。 用户可以添加任意数量的额外墙壁来改变路径。 然而,请注意,无论添加多少墙或添加在哪里,总有一些方块永远不可能成为最短路径的一部分! 这些方块永远不能...

12得票2回答
最佳蚂蚁群定位算法

假设有一个网格包含障碍物(封锁的单元格)和放置在网格上任何位置的食物物品。 现在,假设我们正在尝试决定在这个网格上放置蚂蚁群落的最佳位置,以使蚂蚁们在任何方向上(从/到群落的起点)行进的距离最短,以获取最大数量的食物。 到目前为止,我想到的最佳方法如下:for each square ...

12得票1回答
为什么我的A*算法实现比洪水填充算法慢?

我有一个100x100的网格,起点为(0,0),终点为(99,99)。每个格子有四个相邻格子。 我的泛洪算法可以在30毫秒内找到最短路径,但是我的A*实现要慢大约10倍左右。 注意:无论网格大小或布局如何,A*始终比我的泛洪算法慢(3-10倍)。因为泛洪算法比较简单,所以我怀疑我在A*中缺...

12得票1回答
路径规划算法:A* 与 Jump Point Search 的比较

我知道A*算法比Dijkstra算法更好,因为它考虑了启发式值,但在有障碍物的环境中,A*算法和Jump Point搜索算法哪个是寻找最短路径最有效的算法?它们之间有什么区别?