我正在設計一個RPG的過程中,我遇到了一個小障礙。我不確定爲我的世界地圖使用什麼。我在過去一週看過不同的格式,並確定沒有任何地圖(我可以找到...)適合室外環境。我發現.bsp地圖(地震4或厄運3)對室內環境很好,但對於戶外環境來說不是很好,因爲他們已經完成了。各種遊戲地圖格式(室內和室外)
我試圖找到一些東西,可以讓我製作巨大的戶外地圖,非常像遺忘或明天。當然,我可能不會將地圖用到這個極端,如果我需要它,只需要有擴展空間。
感謝, 羅比
我正在設計一個RPG的過程中,我遇到了一個小障礙。我不確定爲我的世界地圖使用什麼。我在過去一週看過不同的格式,並確定沒有任何地圖(我可以找到...)適合室外環境。我發現.bsp地圖(地震4或厄運3)對室內環境很好,但對於戶外環境來說不是很好,因爲他們已經完成了。各種遊戲地圖格式(室內和室外)
我試圖找到一些東西,可以讓我製作巨大的戶外地圖,非常像遺忘或明天。當然,我可能不會將地圖用到這個極端,如果我需要它,只需要有擴展空間。
感謝, 羅比
This article介紹了地形存儲,我相信常用的使用quadtrees。基本上,它們就像Quake中使用的BSP樹,但更適合存儲高度貼圖。
我唯一不能得到的是如何將圖形信息與四叉樹相關聯。假設我有一個16x16的bmp文件,我將它用作地圖,最小的節點爲1x1平方。我將如何去用四叉樹繪製地圖?或者我不會這樣做,還有另一種方式來做到這一點? – Robbie 2009-10-02 15:37:47
@Robbie:我認爲當你想存儲實際的3D頂點數據,從高度圖生成使用四叉樹,用於存儲高度圖的點更明顯。然後使用四叉樹來分層組織數據。例如,請參閱http://www.gamedev.net/community/forums/topic.asp?topic_id=410611以獲取更多詳細信息。 – unwind 2009-10-02 16:57:38
現在鏈接已經死了:( – Kjellski 2012-11-24 14:02:29
室外環境中使用地形高度貼圖典型的做法。它基本上是一個巨大的網格,每個單元格都有高度信息。每個單元格還包含有關要使用的紋理的信息。
您可以使用分形和培林基於噪音地形發電機
有實現遊戲世界的地圖很多方面這些地圖。
無論如何,對於龐大的地圖檢查Spatial indexes,並專門Quadtrees.
我認爲他正在尋找一種方法來保存和加載文件中的地圖,而不是將它們存儲在內存中。 (或者,也許我誤解了?)
恕我直言,有四個路徑來處理這個問題。
極值:創建您自己的格式
您可以創建你自己的文件格式。最簡單的方法是選擇廣泛使用和可擴展的文件格式(如XML),因爲您可以在互聯網上免費找到大量解析器。 (前往applied-mathematics.net,獲取簡單而完整的XML解析器)。
這裏的問題是你必須創建你自己的地圖編輯器。 毫無疑問,如果你想學習大量的東西,並且有一個乾淨的格式,這是「最好的」方式。但是你也必須考慮你需要花費時間來創建所有這些工具。
極值:使用其他遊戲/工具的格式
您也可以選擇使用現有遊戲的文件格式,復古工程師它(或簡單地使用一個開源的遊戲格式如Quake)。
這裏的問題是,你將繼承你選擇的格式的限制。 但開發時間相當短,您只需要找到加載這些格式的方法。
權衡1:從元數據
您也可以選擇接你從現有的格式所需要的東西去耦幾何形狀,並在其他地方存儲您的元數據。
例如,你可以使用創建看起來像一個格式:
<?xml version="1.0" encoding="UTF-8"?>
<map>
<name>MyMap</map>
<geometry type="bsp">my_map.bsp</geometry>
<spawn id="1">
<monster type="1" spread="5" />
</spawn>
</map>
這裏有來自兩個世界最好的。 您可以設計您在任何.bsp編輯器(3DSmax,Blender)中的地圖,並以XML格式存儲您需要的數據。
中2:適應其他的格式,以您的需求
這裏的想法是剛剛創建自己的統一格式,併爲廣泛使用的編輯出口商。例如,您可以爲Blender編寫導出腳本,它將爲您自己的格式生成文件。
只是一些更多的提示,如果我誤解了,你正在尋找你的地圖的記憶存儲。 (如果只是問,我會完成我的答案:))
不是說我們在這裏沒用,但是您可能會得到更有針對性的回覆@ http://gamedev.net的論壇。 – ryeguy 2009-10-02 13:49:08
我試過了,沒有人回覆。這裏的響應時間比gamedev要好得多。至少對於我的問題...... Idk,也許他們不喜歡我,因爲我有時會問簡單的noob問題。哦... – Robbie 2009-10-02 13:51:04
@Robbie:我每天都去檢查Gamedev.net,我不記得看到過這樣的問題。你在哪裏發佈它? – Kylotan 2009-10-05 10:02:05