【多人無限地圖】
其原理是藉由將物件放置於「空白地圖」上,之後再逐一儲存各個物件的座標,就跟無限地圖一樣。但它又與"無限地圖"差在哪呢?
相信大家都很熟悉命運一年前所製作的RPG,”SAO刀劍神域",是不是所有玩家都得在"同一層"進行攻略,直到打敗該層BOSS後才能前往下一層呢?
這就是很典型的"無限地圖",任務本身雖可展現很多不同的地圖,但玩家會被綁在一起活動,不可以分開行動。就像火魂若想前往第87層,而命運想前往第88層,那就需要多人無限地圖了。
在正式介紹之前,先來看一下"多人無限地圖"是如何運作的:
影片1: https://youtu.be/LpHXtFf7iME
影片2: https://youtu.be/QneqhT9q_ek
在影片可以看到玩家可自由前往其他地圖,就如激戰區一樣,站在東方的出口,可以去東方的地圖,就算玩家A想去1號地圖,玩家B想去2號地圖,在多人無限地圖之下,就可以達成。
首先,得先將地圖分為長寬相等的分區,而每張區域地圖的狀態代表著極大的意義。
我們來做個舉例:
這張地圖被我分為八等份,而目前的地圖都是空白狀態。
假使火魂想前往第三層。
一開始,要先檢查場上是否有"對應的地圖",如果地圖上有第三層,就直接將欲前往的玩家傳至指定位置就可以了。
如果沒有,就得找出"閒置中的地圖"。
我們在這裡再做個假設:
map1等於0時代表該地圖為空。
map1.player等於1時代表有人在內,為0則代表無人。
假設系統判別出第一張地圖內無人時,就把map1設定為玩家欲前往的層數
然後再讓系統依序將物件放到指定位置。
何謂指定位置?假設你當初把物件放置於map2,但你現在想放到map1,就需要將物件偏移放置,因此在做傳送系統前,要記得把存檔時放置物件的位置與各張地圖的位移算出來喔!
【隨機生成地圖】
無限隨機地圖,即是一種在無限地圖延伸的技術。在完成無限地圖系統後,總會遇上一個問題 — 誰來做地圖啊?
有兩種方法可以做出地圖,
第一種,是由人手設計地圖,之後把地圖存入.var檔中,再經由讀檔,把地圖資料載入任務中。這種方法很花時間,也可能要請人幫忙製作,也可能會中途斷線(吐血)。
第二種,就是由電腦自行繪製的「隨機生成地圖」。
這種地圖有一個特點,就是有「特徽」。比如一張城市地圖會有道路、公園、屋子,只要你歸納出地圖的特點,就可以應用「隨機生成地圖」。
歸納好地圖特點之後,之後再設計演算法。
演算法大概的意思是「地圖生成的步驟」,你需要為系統設計好生成的步驟,這樣電腦才會生成隨機地圖。以下用「人造森林」來當例子,這樣會比較好懂。
正常來說,一個森林會有草地、樹木、石塊等等,而人造森林的不同之處在於 — 道路。在森林上開拓了一條道路,就會變成人造森林。
歸納特點後,我們可以看到一個人造森林分成2部分:
- 道路(即圖中白色區域)
- 樹林&草地(圖中白色區域以外)
所以步驟是 先畫出道路,再在道路以外的區域,隨機生成樹林和草地。
影片: https://youtu.be/QI4LX96UXj0
這邊不作深入解釋段法是如何運作的,如果有興趣,可以看看河川森林演算法的實作。事實上。命運我還做了很多種算法(火魂說是黑技術),這邊用最簡單來為大家解釋。
一個多人無限地圖,是無限的開始;而隨機生成地圖,則是讓無限地圖變得高效運用的東西,要兩者合用得宜,才可以更高效地製作任務。
同人技術研討中心:https://sites.google.com/site/twftechnique/
火魂、的同人專區:https://www.facebook.com/Fire.soul.prefecture/
問一下
回覆刪除有辦法刪除無限隨機地圖生成的多餘物件進行修改嗎
生成的隨機地圖可以自行編輯
刪除有辦法針對座標進行刪除嗎
刪除還是只能做反覆上一步的動作刪除多於物件
可以直接針對座標刪啊
刪除