2008-09-20 120 views
5

我正在研究一个简单的多人游戏,其中2-4名玩家被放置在迷宫中的单独入口点并需要达到目标点。一般来说生成一个迷宫是非常容易的,但在这种情况下,游戏的目标是在其他人之前达到目标,并且我不希望生成算法大大地偏向一个玩家而不是其他玩家。最佳多人迷宫生成算法

因此,我正在寻找迷宫生成算法,其中从起点到目标的每位玩家的最佳路径不超过平均路径的10%以上。通过这种方式,球员或多或少地处于相同的比赛场地上。任何人都可以想出这样的算法吗?

(我有一个主意,因为它的立场,但它不是经过深思熟虑的,似乎远远达不到最佳 - 我会后它作为一个答案)

回答

7

freespace的答案的替代方法是生成一个随机迷宫,然后为每个单元格分配一个值,代表达到最后的移动次数的迷宫(如果你决定从头开始的话,你可以同时做两件事)。然后选择一个距离(也许是那个距离上有n个点的最高点),然后将这些球员放在具有该值的方格中。

0

我能想出的最简单方法与随机生成一个完整的迷宫一样,然后随机选择目标点和玩家起点。一旦完成,计算从每个起点到目标的最短路径。找到平均值并开始“平滑”(移除/移动障碍 - 不知道这将如何工作)明显高于它的路径,直到所有路径都在适当的边界内。另外,有可能采用明显低于平均水平的标准,并插入额外的障碍。

1

首先选择球员和球门的位置以及等长路径,然后根据定义的路径建立一个迷宫?如果路径不相交,这应该很容易工作,我想

+0

这是一个很好的答案,是的,freespace的非常相似:)我认为这可能是正确的路要走。感谢您的输入。 – 2008-09-20 12:27:06

1

我会通过设置目标和每个玩家的入口点,然后生成他们每个人的目标路径相似的路径。然后,我会开始在这些路径中添加假分支,小心避免链接到其他玩家的路径,或者让分支连接回路径。所以基本上每个分支都是死路一条。

这样,您可以保证路径长度相似。但是它不允许玩家互相交流。但是,您可以通过在分支之间创建链接来实现此目的,以使任一路径上的分支入口点都与目标距离相似。在这个分支上,你可以分出更多的死胡同来获得乐趣和收益:-)

+0

嘿,我们都同样愚蠢! :-) – 2008-09-20 12:21:13

+0

嗯,我喜欢这个。不知道它会如何运作,但我认为这是值得一试的。谢谢:) – 2008-09-20 12:25:49

0

地方选择你的出口点在中间

从那里开始新的N条路径,增加1到每个循环每个路径, 直到他们,只要你想的那样。

有你的N个起点,它们都是相同的长度。

添加额外的分支线,直到迷宫满了。