2012-04-26 56 views
0

現在,我正在製作地下城主遊戲。這場比賽必須是更多的劍和魔術相關比Grimrock的傳奇;像走廊Wizardry 8。我將製作一些體面的圖形外觀,以便考慮正確的單元系統算法。地下城細胞系alghoritm

首先我想到BSP。我得到一些信息,從這些鏈接

,但我不知道。 BSP的基本形式僅適用於2D流氓般的地下城。我使用C#XNA,所以我想着我自己的系統在xml中定義逐個單元格,首先是他們在空間中的位置(製作一些隧道地圖系統),然後是他們的所有細節,如紋理。但是,恐怕會在牆上放置「地圖文件」生成的物體,例如火炬,寶盒,祕密按鈕,其他物品等。

我想知道,哪種方式應該是最好的, - 遊戲需求,我不想花費幾個月的時間探索BSP,然後選擇另一種方式。

+0

地牢大師和格瑞姆洛克傳奇都是2D roguelike遊戲的核心。他們只是給你一個3D視圖的世界。 BSP經常用於3D遊戲引擎(在Quake系列中最着名,儘管很多遊戲都使用過它們),所以它可能是您的不錯選擇。 – 2012-04-26 09:33:34

+0

但我個人會選擇一個非常簡單的基於網格的系統,而不必擔心優化問題,直到它成爲您的開發盒上的視頻卡的問題爲止。在這一點上,您將很好地瞭解遊戲對象映射到你的世界,所以你不會一次打兩場思想戰。 – 2012-04-26 09:36:52

回答

0

一般來說,你爲此目的之後會做的是Maze Generation Algorithms,其中BSP是做這件事的一種方式。

然而,你應該決定你將如何代表你的世界第一。

如果你想創建一組「鏈接區域」,那麼你可以去一個DFS類型的算法,試圖以複雜的方式鏈接各個區域。 (想象它就像你在MUD類型遊戲中導航的區域)

否則,如果你想要去一個大型的固體迷宮代表你的地牢,那麼你可以生成一個簡單的位圖與該維基百科鏈接中的算法之一然後用它作爲你的「平面圖」。然後可以向上擠壓以創建牆壁併爲您提供一個非常基本的「厄運」式空間,然後您可以使用手電筒/紋理/任何其他物體進行充實。

我希望這會有所幫助。

+0

嗯,我沒有問題,通過編輯器或原始編輯一些數據文件預定地牢。我最大的問題是,如何在地牢中輕鬆地放置對象,當我將基本地圖與單元格對齊時。所以更多關於如何存儲地圖數據的問題,如何設計結構。我會檢查你的答案的參考,謝謝。 – 2012-04-26 09:50:36

+0

一個「帶有單元格的地圖」可以被構造成N個單獨的帶有門或者傳送空間的小房間。一旦玩家穿過門(或傳送裝置),它們被立即發送到下一個單元/空間。因此,每個單元必須具有其自己的3D定義(例如,帶有對象的4個牆室)。在這種情況下,「細胞」是一個概念,你不必真正在細胞外建立你的3D世界。您只需要知道哪些單元與哪些單元(以及哪個門)相連以便能夠在它們之間導航。 – 2012-04-26 10:47:29

+0

是的,以及我通過某個網格描述的單元格的連接。並且cellsdatafile中的每個單元格都將具有要放置的特定ID。所以現在最重要的是電池設計。好,謝謝 – 2012-04-26 10:56:46