2013-02-16 58 views
0

我需要建立遊戲地圖的建議。我需要在地圖上創建1400個空間。我在想象每個空間將會是10種不同的尺寸之一 - 例如,他們將會是10個尺寸爲10的尺寸,40個尺寸爲9的尺寸等等,其中最小的幾百個大小(這是數據驅動)。中心也會有一箇中立的空間(可能比所有其他空間都大)。我想隨機將這些區域放置在遊戲空間中,但不應該有重疊,並且它們之間沒有空間。總空間是否爲矩形並不重要。我真的很喜歡this effort,雖然它非常出色,但它引導我研究voronoi tesselations並找到一個我有點理解的javascript implementation,但我看到的所有示例都使用隨機點作爲起點,我正在尋找更多自定義結果,如上所述,所以這可能不是要走的路。 ---無論如何,我願意接受任何建議。請注意,我是一名設計師而不是編碼員,但是我編寫了自己的原型,因此有任何建議。在遊戲地圖上創建非均勻空間

回答

0

這似乎與Knapsack Problem類似,如果我理解正確。但是,不是優化,你只是在尋找一個單一的解決方案。實際上,這是一個相當難以解決的問題,無論是在時間複雜度方面,還是在合理的時間內(即在合理的時間內完成)都可以工作。 This是一篇有趣的文章(雖然他涉及優化) - 通過一些工作,您可以提供一個足夠好的算法。

0

如果我理解正確,你想實現的是所謂的路徑導向細分樹或quadtree。該算法的具體特點是遞歸地將矩形二維空間劃分爲稱爲象限或四邊形的四個較小片段。區域可以是正方形或矩形,或者可以具有任意形狀。

如果你需要學習你可以有這個實驗在ActionScript中創建一個起點代碼一個真實的例子,但是這可以很好地翻譯成JavaScript太:http://wonderfl.net/c/fLVs

另一種可能性是Delaunay triangulation與控制點選擇手動,因爲如果正確理解你不想隨機分散點。也許這個鏈接將有所幫助:http://neoformix.com/2012/DelaunayImages2.html

我希望這些幫助!