2008-09-20 122 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個起點,它們都是相同的長度。

添加額外的分支線,直到迷宮滿了。