2011-08-26 176 views
11

我正在創建一個遊戲,需要創建一個城堡或類似建築的隨機2D地圖。它應該看起來像藍圖,即從上面拍攝,只使用線條。如何爲城堡或建築物生成隨機2D地圖?

我正在尋找一些這樣做的算法。我對代碼不是很感興趣,但算法本身。從哪裏開始以及如何填充所需區域?

回答

10

在過去的30到40年中,有很多不同的算法被開發出來,它們都產生了完全不同的結果。

退房這個wiki:

http://pcg.wikidot.com

特別是這些網頁:

這個網站似乎有幾乎所有你想做的程序內容生成的算法鏈接。

+0

感謝「地下城一代」鏈接提供了一些好的想法,從哪裏開始。 –

+2

如果您想要類似藍圖的行爲,那麼[本文中的算法]的簡化[http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperBuildings]可能是一個好地方開始。這可以爲您提供房屋內的基本房間佈局,然後您可以應用拆分等操作,並隨機化連接佈置。這可能會給你比我之前讀過的地牢生成算法更好的結果,因爲它可以更好地表示地面建築物中的形狀,而不是挖出形狀。 –

+0

@ MerlynMorgan-Graham鏈接似乎是死的wayback鏈接在這裏http://web.archive.org/web/20110830033753/http://www.vision.ee.ethz.ch/~pmueller/wiki/CityEngine/PaperBuildings –

0

迷宮最能描述一個內部結構的隨機2D地圖。你需要的是一個maze generation algorithm。在實施基礎知識之後,您可以添加自己的隨機「房間」佈置等。

+0

迷宮與城堡不同。城堡需要有多個房間,允許自由移動。順便說一句,我已經在這個遊戲中有一個不同的迷宮級別,維基百科頁面是我的出發點;) –

+0

有很多方法可以做到這一點。一個迷宮對於地牢一代來說工作得非常好,但是城堡內部卻不一樣......如果他們讓我的房子看起來像一個迷宮,房間裏有人打了個巴掌,我會開火建築師。 – lunixbochs

+0

這不是一個壞的方法,但你可能想要以相反的方式做到這一點。先製作房間,然後在它們之間插入半任意的隧道。 –