可以在随机生成的二维城市中导航的人工智能



我正在编写一款iOS游戏(使用UIView),它有一个随机生成的2D城市。我需要攻击人工智能,这将采取一条智能路径来找到玩家(而不会与建筑物相撞)。有人能为我指明正确的方向吗?我会用什么样的算法来实现这一点?

编辑:我决定用A*。我将在地图上创建一个网格,测试每个网格交点,如果该点在建筑物内,我将使该点无效。然后,进攻的人工智能玩家将从其当前位置移动到离目标更近的有效网格点(在其位置的特定半径内)。

您正在寻找一类称为寻路算法的算法。你可以使用很多方法。

这里的经典算法是Dijkstra算法和A*搜索,它们可以沿着最佳路径将对象从一个位置引导到另一个位置。这些算法的工作原理是将2D世界建模为一个图形,然后在该图形中找到从对象的起始位置到目标位置的最短路径。这两种算法在人工智能和寻路中被广泛使用,我强烈建议投入时间阅读更多关于它们的信息。如果你愿意的话,网上有一个关于a*搜索的可靠教程。

如果有许多不同的对象需要在不干扰的情况下移动到一个目标,您可能需要研究潜在的字段,这为多个对象接近一个目标提供了一个简单灵活的框架。这种方法被Berkeley";Overmind";星际AI,并且经常用于机器人的运动规划。直观地,这种方法通过将";潜在的";值,然后让物体从高电位一直移动到低电位,直到它们击中目标。这种方法有点棘手,但一旦成功,就会产生灵活、可定制的智能人工智能。

希望这能有所帮助!

这里的问题:吃豆人:眼睛是如何回到怪物洞的?是一个很好的调查方法的人工智能导航的随机二维网格搜索一个移动的玩家。普遍的共识(以及Pacman使用的方法)不是担心在人工智能中烘焙智能寻路算法,而是使用地图本身来存储玩家所在位置的信息。这是一本引人入胜的读物,尤其是ammoQ和Dan Vinton的第二个和第三个答案(以及它们的外部链接)。

这里的链接Pacman气味反对象模式描述了一种廉价有效的方法。

最新更新