2015-07-03 55 views
0

这是我在这里的第一篇文章,所以如果我做错了任何事,我都会道歉,所以我希望不会这样做!因此,让我更详细地介绍它。团结,让AI跑向变形航点,也远离玩家?

我目前正在为游戏写人工智能。我需要让人工智能执行的是运行到我已经放置在地图上的变形航点(例如逃生),同时也不会选择让他们跑过吓跑它们的玩家的航点。

我不知道从哪里开始真的。我可以让AI远离玩家,但不会跑到特定的航点,并且我可以让AI进入特定的航点,但不能同时进入。基本上我所有的路径都在那里,我只需要一种方法来选择合适的航点。

任何帮助或正确的方向点至少会是如此有用。谢谢。

+0

你可以发布你的代码吗? –

+0

我还没有开始为这个问题写任何东西,因为我不知道从哪里开始。我可以告诉你我的AI是如何设置的。基本上,我提供了一个目标变换,它会在那里。这里的所有都是它的。我的问题在于选择转换点的逻辑,AI要转到远离玩家的位置,所以看起来他们正在逃跑,但要到一个合理的地方,如出口或电话寻求帮助(用我需要为目标选择的变换标记出来)。 –

回答

0

您可能希望在Google中查找路径规划算法,查看哪些算法符合您的要求。

想一想,潜在的场路径规划算法出现在我脑海。它可以让你设定一个目标,同时避开障碍物(在这种情况下,玩家会成为障碍)。

你可以读到这里:http://www.cs.mcgill.ca/~hsafad/robotics/,并在互联网上搜索以获取更多信息。

Image of the algorithm

因此,基本上,你有一张地图,地图中的每个点都有一个载体,载体应导致你的目标。靠近障碍物的向量远离它。

现在,这是伟大的,当你有一个静态障碍物,因为你只计算力场,在每个点的矢量,有一次,你不需要继续做下去。但是对于你的情况,我想玩家可以移动,如果玩家移动,那么你必须再次计算矢量,所以在你的情况下,你必须计算地图每个点的矢量,每次用户移动时,所以这不是一个理想的解决方案,但它可能会让你开始。

这种算法也有局部极小的问题:

S = starting point; T = target

但我认为这在网页中我前通过解决(他们有一个例子实现)。

如果不这样做,你可能想搜索在谷歌“的路径规划算法”,甚至“路径与移动的障碍物规划”,并把玩家的一个障碍。

编辑

你可以尝试轻松地实现这样的:

在这些图像中可以看到AI绿色,玩家在红色和黄色的目标。每个广场的数字是到目标的距离。

First step

在你看到的是,距离1开始的目标,一个单位每平方米的,就像这第一张图像。

Second step

这第二图像是一样的,但广场的价值增长周围的玩家都高,高出多少您决定,但我做到了这样,如果+2与其相邻的球员,+1,如果它进一步。

现在机器人只需要选择数字较小的方格。所选路径以灰色突出显示。

Result

这最后的影像是值相加的结果。

在下一个例子中,你可以看到AI实际上向左移动一点,因为它离玩家太近了。

Example

+0

我一直希望我不必深入研究,因为我正在使用“A *寻路项目”作为寻路解决方案。我希望有一个更高层次的解决方案,我可以选择一个远离玩家的好预定点(转换)。但非常感谢你的详细信息。如果没有人能提供更高级的解决方案,这绝对是一种选择。 :) –

+0

@WilliamPark我编辑了这篇文章,看看这些图片,也许这更容易实施和思考。 – ArianJM

+0

绝对惊艳的帮助。非常感谢。 –

0

那么上面贴得有点多了什么,我想要的目的。我必须彻底根除我的整个寻路系统。

我的问题的一个更简单的解决方案是,而不是检查最接近AI的转换,我检查了离我的播放器最远的一个。虽然这并不完美,但我得到了令人满意的结果,并且通常会让AI远离玩家。