1

我正在实现 Lode Runner 的一个版本(这个版本),但我不确定如何重现小兵协同工作以使玩家陷入困境的效果,可以使用 A* 来完成,还是有更好的方法?是否有更好的小兵(例如boid)之间的协作算法,或者最好的解决方案是简单地为每个小兵单独应用一个算法?

4

3 回答 3

5

Lode Runner 网页游戏

源代码供您参考:https
://github.com/SimonHung/LodeRunner 您可以查看lodeRunner.guard.js: Enemy 的 AI 算法,由 C 语言移植,Douglas E. Smith 原创。

希望能帮到你!

于 2014-11-25T14:20:33.650 回答
0

路径是游戏实体遵循的线性线,因此在像 Lode Runner 这样的游戏中,您会有一些极其简单的路径。

首先,我建议您编写某种 Plan 对象,该对象可以传递给实体缓冲区中的任何实体(玩家除外)并可以相应地执行。它可能只是一个指令数组,比如['left', 'up', 'right']仆从必须前往的有效坐标。当然,必须根据您为奴才加载的路径来解析此坐标的有效性。

其次,你需要预测。您需要预测玩家可能最终到达的所有(极端)位置以及他们到达那里所需的时间。例如,如果玩家尽可能快地沿着路径 X 前进并最终到达坐标 Y,那么他将花费 Z 秒。当然,如果玩家没有在最佳时间到达,奴才会调整并摧毁玩家。

三是难度。您可能需要编写代码,以便 AI 预测和路径中的代码变得更复杂,难度更大。相信大家都听说过人工难度,也就是修改路径和预测中的

最后也是最重要的,合作。它基本上只是一种算法,它将所有小兵的位置相对于玩家的位置考虑在内,并组织它们以在他到达它们时切断所有可能的路径。这可以通过多种方式编写,我无法在这里提供示例,因为我不知道您使用的是什么语言。

于 2014-10-28T01:12:15.273 回答
0

我看到的大多数代码都遵循一个简单的算法。

如果玩家在左边,你可以向右走,向右走。

否则,如果玩家在左边,你可以向左走,向左走。

否则,如果玩家在左边,你可以上去,上去。

否则,如果玩家在左边,你可以往下走,往下走。

否则,如果您可以移动,则沿随机方向移动。

否则不要动。

让僧侣移动与此相反,就像在 Load Runner Online 中一样,您需要另一个算法强制他们以不同方式移动的检查点。

于 2017-07-31T17:56:43.360 回答