導 讀 《饑荒》聯機版的地圖怎麼樣覆蓋範圍如何呢?相信有些玩家還不了解地圖構成結構,那今天就為大家帶來了《饑荒》聯機版地圖邏輯結構地圖構成詳解,一起來看看吧。 饑荒聯機版地圖構成詳解 饑荒聯機版地圖邏輯結構...
《饑荒》聯機版的地圖怎麼樣覆蓋範圍如何呢?相信有些玩家還不了解地圖構成結構,那今天就為大家帶來了《饑荒》聯機版地圖邏輯結構地圖構成詳解,一起來看看吧。
前言
研究了一下聯機版的地圖生成方式。在學習到如何創建地圖的同時,也了解到了饑荒本身的地圖生成機制。
感覺了解這些機制,對玩家提高探圖效率,節約時間還是非常有幫助的,所以就來寫一寫。
限於時間精力,只寫聯機的,如果對單機的有興趣,自己類比著看下代碼也能明白。
首先,關於地圖的大部分代碼,全部都儲存在map文件夾下。不知道該怎麼用相關函數的時候,參照這個文件夾裡的代碼就好。
邏輯結構
然後,再說一說饑荒地圖的邏輯結構。下面的專有名詞,由於我不清楚確切的中文翻譯,就全部採用其英文名行文了。
prefab,是地圖裡最基礎的東西,也就是所謂的最小元,一顆草,一塊燧石,一棵樹,都是一個prefab。這是饑荒地圖裡最小的構成元素。
room,包含了一系列prefab的一塊區域。典型的代表是豬王村,這個村子的一整塊區域就是一個room。可以為一個room設置它的地皮屬性,prefab的豐富程度,各個prefab之間出現比例,還可以直接設定出現多少個prefab。
task,包含了一系列的room的一塊非常大的區域。因為包含著地皮相似或相同的room,所以在地圖上常常以所謂地形的形態呈現出來。可以為一個task設定選取哪幾種room以及相應的數量,還可以設定作為背景的room(在room的數量不足時,偶爾會填充進來。),更為重要的,可以設置keys和locks,這決定著生成世界時,各個task之間要怎樣連接起來。
taskset和level,taskset是聯機版最近才新增加的東西,單機只有level。taskset基本就是包含了一系列的task,然後level就是比taskset更高的一級,除了控制taskset之外,還可以控制世界生成的其他參數,比如說春夏秋冬的長度之類的。由於現在不是在講怎麼做mod,這一部分就不細講了。
在level之上還有一個叫遊戲類型的東西,但也和本貼關係不大,不細講。
然後有一些比較特殊的,要單獨講。
1、start location,也就是出生的區域,從各個屬性設置上,可以看作是一個room。特殊之處在於,它不歸屬於任何一個task,但有可能在生成的時候,融入到其它的task中去。如果在taskset裡設定了valid_start_tasks,它就只會融入指定的valid_start_tasks之一。同時,還可以設計出生時的set piece。那個經典的惡魔之門就是典型的set piece。如果你開永夜的話,你會發現還會多了一個火坑,這就是略微改變了出生的set piece的效果。
2、set piece,或者是static layout 或者是layout。這裡說到的這三個東西在本質上都是一樣的:都是以固定形式存在,而且可以被嵌入到世界中去的東西。典型代表就是各種奇遇了,比如蘑菇圓環啊,高鳥洞穴啊,各種前輩啊之類的。他們既可以被嵌入到room當中——比如豬王村的豬王和它周圍的方尖塔就是被嵌入到豬王村的room裡的;也可以在taskset裡設置,散布在各個task裡——比如默認地上世界會有8個蟲洞,9個鹿鵝巢穴,1個龍蠅領地,2個復活石和10個洞穴入口,分布在各個不同的task裡,這些分布的task是可以自己設定的。
3、keys和locks。這兩張表是task中的屬性選項,關係著世界生成時,各個task怎麼結合。在map文件夾下的lockandkey.lua文件裡有lock和key的對應關係描述,當一個task的key和另外一個task的lock匹配的時候,他們就會結合在一起。不過有時候湊不出匹配的,那就只能胡亂結合了。需要說明的是,一個lock可以有多個key和它匹配。結合還設計到start task的選取,具體操作我已經研究實踐過了,但這不是本貼的重點,就不詳細說明了。
講完這些基礎知識,就可以來詳細地說一下地圖的構成了,這裡只說饑荒地上世界的默認構成,地下世界或者說其他設置,構成的方式和地上世界是不一樣的。
地圖構成
打開maptasksetsforest.lua
然後你可以在這個文件裡看到AddTaskSet這個函數,裡面的參數就是要詳解的內容了。這個函數使用了兩次,第一次,第一個參數為"default"的,就是我們默認世界的生成參數。
這一段結合著代碼來說,為了方便不喜歡閱讀代碼,想要直接得到結論的人,代碼的釋義放在前面,結論放在後面。不想看代碼的可以直接跳過這一樓。
tasks={
"Make a pick",
"Dig that rock",
"Great Plains",
"Squeltch",
"Beeeees!",
"Speak to the king",
"Forest hunters",
"Badlands",
"For a nice walk",
},
這個tasks表,就設定了每次開世界,必然會有的幾個task
numoptionaltasks=6,
optionaltasks={
"Befriend the pigs",
"Kill the spiders",
"Killer bees!",
"Make a Beehat",
"The hunters",
"Magic meadow",
"Frogs and bugs",
"Oasis",
"Mole Colony Deciduous",
"Mole Colony Rocks",
"MooseBreedingTask",
},
numoptionaltasks 就設定了會隨機出現的task的數量,而後面的optionaltasks 表,就是所有可能會被抽取的task。
valid_start_tasks={
"Make a pick",
},
valid_start_tasks 就是設定可能會作為世界生成最開始的task的集合。最開始的task,是會因為它的keys和locks而影響到世界生成的樣子的。
set_pieces={
["ResurrectionStone"]={ count=2, tasks={"Make a pick", "Dig that rock", "Great Plains", "Squeltch", "Beeeees!", "Speak to the king", "Forest hunters", "Badlands" } },
["WormholeGrass"]={ count=8, tasks={"Make a pick", "Dig that rock", "Great Plains", "Squeltch", "Beeeees!", "Speak to the king", "Forest hunters", "Befriend the pigs", "For a nice walk", "Kill the spiders", "Killer bees!", "Make a Beehat", "The hunters", "Magic meadow", "Frogs and bugs", "Badlands"} },
["MooseNest"]={ count=9, tasks={"Make a pick", "Beeeees!", "Speak to the king", "Forest hunters", "Befriend the pigs", "For a nice walk", "Make a Beehat", "Magic meadow", "Frogs and bugs"} },
["DragonflyArena"]={ count=1, tasks={"Badlands"}},
["CaveEntrance"]={ count=10, tasks={"Make a pick", "Dig that rock", "Great Plains", "Squeltch", "Beeeees!", "Speak to the king", "Forest hunters", "Befriend the pigs", "For a nice walk", "Kill the spiders", "Killer bees!", "Make a Beehat", "The hunters", "Magic meadow", "Frogs and bugs"} },
},
set_pieces 就是設定各個奇遇了,這裡ResurrectionStone(復活石),WormholeGrass(蟲洞),都可以算是奇遇。後面的count就是數量,tasks就是設定這些奇遇可能出現在哪些task上。
代碼分析
然後來對上面的代碼做分析。為了加強和遊戲的聯繫感,我們分析一下各個task對應的所謂地形。相應的代碼可以在maptasks文件夾下查到,這裡就不多說了,直接說代碼的解析結果--也就是每個task的room組成。
room的大小,雖然不固定,但總體上是差不多的,決定一個task有多大,就看room的總數量有多少了。另外,room的數量是可以設定隨機的。不過,官方的習慣,差值不會超過2。
下面會先列出組成的room,然後解釋各個room的特點(資源的數量和種類,以及一些特殊的奇遇或者特點等等)
資源的數量,如果固定了數量的,就直接寫出數量,否則用room的參數中的distributepercent來表示
0.1以下,匱乏
0.1-0.2 適中
0.2-0.3 豐富,
0.3以上 非常豐富
資源比例的數字,只是影響資源的分布比例,只在與其他資源相互比較時會有意義,其本身的絕對值是沒有意義的。資源的總數量,完全由distributepercent決定。
饑荒聯機版 最新版下載 全版本下載 攻略教程大全 最新版聯機教程 饑荒新手攻略 食譜大全 BOSS打法 安家位置 聯機教程 全人物詳解 各季節必備物品 武器裝備介紹 快速砍樹方法 查看版本方法 所有材料介紹 饑荒熱門攻略 擊殺生物寶典 利用巨鹿方法 洞穴怪物詳解 冒險速通攻略 腦殘值補充方法 陷阱布置技巧 犛牛詳細介紹 坎普斯背包出處 危險生物排名 新手百日入門 正版資料整理 裝備道具匯總 蜘蛛巢穴養殖心得 存檔位置介紹 增加生存時間方法Make a pick 背景地皮-草地
Forest 2-4個 :
地皮-森林
資源豐富(0.3)
資源比例:
螢火蟲=0.2
石樹=0.015
卵石=0.05
草=0.05
小樹苗=0.8
樹枝樹=0.8
地上的樹枝=0.06
漿果叢=0.03,
多汁漿果叢=0.015,
紅蘑姑=.03,
綠蘑菇=.02,
松樹或粗壯松樹=6
Clearing 1個:
地皮-森林
資源匱乏(0.1)
資源比例:
豬人房=0.015,
螢火蟲=1,
松樹=1.5,
草=.1,
小樹苗=0.8,
樹枝樹=0.8,
地上的樹枝=0.06,
漿果叢=.1,
多汁漿果叢=0.05,
蜂巢=0.05,
紅蘑姑=0.01,
綠蘑菇=.02,
特別資源:
出生點 固定1個(這個出生點會在荒野模式中用到)
1.5%概率出現大蘑菇圈,蘑菇顏色隨機,數量為15
Plain 2-4個:
地皮-草原
資源適中(0.2)
資源比例:
石樹=0.15,
卵石=0.05,
草=0.5,
兔子洞=0.25,
綠蘑菇=0.005,
BarePlain 1個:
資源匱乏(0.1)
資源比例:
草=0.8,
兔子洞=0.4,
以上這個task就是十分典型的出生點地形,大家如果平時有注意留心的話,就會發現,聯機生存模式,出生點一定是在森林地皮上,夾雜著草原,一般都只有兔子沒有牛。
Dig that rock 背景地皮-巖石
Graveyard(墳墓群) 1個:
地皮-森林
固定資源:
松樹3棵,
金子1-5個
墓碑5-8個
墳墓5-8個
Rocky 2-4個:
地皮-荒漠
資源匱乏(0.1)
資源比率
卵石=2,
石樹=6,
金礦=2,
冰山=1,
高鳥巢=0.1,
蜘蛛巢=0.01,
藍蘑菇=0.002,
草蜥=0.3,
特別資源:
meteorspawner(隕石雨發動器)
此task還有Forest 1-3個,Clearing1-3個,這兩個room在上一節裡已經介紹過了,就不多說了。
這就是典型的混合地形了,隕石雨只會出現在這個區域。所以想要挖墳的,當你遇到了隕石雨的時候,就可以在附近搜索墳墓群了。另外,此地形會有霧出現。
這裡特別說一下隕石雨。
隕石雨是由一個叫meteorspawner的prefab觸發的,它本身不可見的,但確實存在,存在於名為"Rocky"的room中,也就是礦石地形,但是和其它礦石地形不同的是,它的地皮是荒漠,即被草叉挖開之後的地皮。所以當你看到地皮是荒漠,而且有較多巖石分布的地區時,就要注意不要在這附近建家了,不然就要遭受隕石雨的襲擊。
Great Plains 背景地皮-草原
BeefalowPlain2-4個:
地皮-草原
資源匱乏(0.05)
資源比例:
草=.01,
牛=0.02,
另有Plain 2-4個,Clearing2個,介紹看1、Make a pick
就是一個普通的草原,有一些牛,數量不多,少的可能只有1-2頭。區域不算大,有時候在森林裡突然看到了一片草原,多半是這個task。
Squeltch 背景地皮-沼澤
Marsh 6-8 個:
地皮-沼澤
資源匱乏(0.1)
資源比例:
松樹=1.0,
觸手=3,
蚊子池塘=1,
蘆葦=4,
蜘蛛巢=0.01,
藍蘑菇=0.01,
綠蘑菇=2.02,
特別資源:
1.5%概率出現中蘑菇圈,顏色隨機,數量10個。
SlightlyMermySwamp 1個:
地皮-沼澤
資源匱乏(0.1)
資源比例:
魚人廢墟=0.1,
豬人頭=0.01,
觸手=1,
枯樹=2,
荊棘=1.5,
這個task是典型的沼澤地形,觸手很多,摻雜著零星的蜘蛛巢穴,魚人廢墟少量甚至沒有。
Beeeees! 背景地皮-草地
BeeClearing 1個:
地皮-草地
固定資源
螢火蟲1個
花6朵
蜂巢1個
FlowerPatch 1個:
地皮-草地
資源匱乏
資源比例:
螢火蟲=1,
花=2,
蜂巢=1,
另有Forest 1個,介紹見1、Make a pick
這是很常見的空曠草地地形。
Speak to the king 背景地皮-樺樹林
(看名字很容易就明白,這個就是豬王所在的task)
PigKingdom1個:
地皮-草地
固定資源:
豬人房5-9個
豬王1個
50%概率會有作物可收,數量15,種類隨機為以下之一:胡蘿蔔,草,花,細漿果叢(也就是第二類漿果叢)
3%概率出現樹農場,出現時隨機出現1-2個,樹農場固定為16棵松樹。
MagicalDeciduous 1個:
地皮-落葉林
資源豐富(0.3)
資源比例:
草=0.03,
小樹苗=1,
漿果=3,
多汁漿果=1.5,
紅蘑菇=2,
藍蘑菇=2,
綠蘑菇=2,
螢火蟲=4,
花=5,
鼴鼠洞=2,
貓洞=0.25
DeepDeciduous 4-6個:
地皮-落葉林
資源非常豐富(0.4)
資源比例:
草=.03,
小樹苗=1,
漿果=.1,
多汁漿果=0.05,
樺樹=10,
貓洞=0.05,
紅蘑姑=0.15,
藍蘑菇=0.15,
綠蘑菇=0.15,
螢火蟲=3,
豬王村所在之地,風水寶地,資源很豐富,如果不考慮位置,是非常適合建家的地點。
Forest hunters 背景地皮-森林
WalrusHut_Grassy 1個:
地皮-草地
資源適中(0.275)
資源比例:
花=0.112,
草=0.2,
胡蘿蔔=0.05,
燧石=0.05,
樹苗=0.2,
松樹=0.3,
池塘=0.005,
固定資源:
海象營地 1個
ForestMole 2個:
地皮-森林
資源豐富(0.3)
資源比例:
螢火蟲=0.2,
石樹=0.015,
卵石=0.05,
草=0.05,
小樹苗=0.8,
樹枝樹=0.8,
地上的樹枝=0.06,
鼴鼠洞=0.3,
漿果=0.03,
多汁漿果=0.015,
紅蘑菇=0.03,
綠蘑菇=0.02,
松樹或粗壯松樹=6
DeepForest 1個:
地皮-森林
資源極度豐富(0.8)
資源比例:
螢火蟲=0.1,
草=.05,
小樹苗=.5,
樹枝樹=0.5,
地上的樹枝=0.3,
漿果=.02,
多汁漿果=0.01,
藍蘑菇=0.02,
松樹或粗壯松樹=6
特殊資源:
45%機率出現「完全正常的樹」
另有Forest和Clearing各1個,特性不再贅述。
這一個task,固定有一個海象營地,是遊戲裡必定存在的。所以如果你在森林地皮上發現了完全正常的樹或者鼴鼠,那麼在附近很有可能會有海象營地。
Badlands 背景地皮-荒漠
Lightning 1個:
地皮-荒漠
資源匱乏(0.05)
資源比例:
荊棘=0.8,
草=0.5,
草蜥=0.4,
電羊=1,
仙人掌=0.8,
風滾草生成器=0.1,
Badlands 3個:
地皮-荒漠
資源匱乏(0.07)
資源比例:
荒漠巖=.8,
荊棘=0.25,
枯樹=0.75,
草=0.5,
草蜥=0.6,
仙人掌=0.7,
狗骨=0.6,
風滾草生成器=0.1,
HoundyBadlands 2個:
地皮-荒漠
資源適中(0.2)
資源比例:
卵石=0.5,
金礦=1,
狗骨=0.5,
狗窩=0.33,
BuzzardyBadlands 2個:
地皮-荒漠
資源匱乏(0.1)
資源比例:
荊棘=0.66,
枯樹=1,
草=0.33,
草蜥=0.4,
禿鷹生成器=0.25,
狗骨=0.15,
風滾草生成器=0.1,
還有1個BarePlain,見前面Make a pick。
荒漠地區,特點就是資源很少,其他沒什麼可說的了。
For a nice walk 背景地皮-森林
MandrakeHome 2-4個:
地皮-草地
資源適中(0.2)
資源比例:
花=4,
螢火蟲=0.3,
松樹=6,
草=0.05,
小樹苗=0.5,
漿果=0.05,
多汁漿果=0.025,
固定資源:
1個曼德拉草
5%機率遇見奇遇——InsanePighouse,如下圖所示
該task還有room:BeefalowPlain 1個,DeepForest 2-4個,Forest 1-3個,這些room在前面都介紹過了,不再贅述。
這個task還是非常不錯的,提供2-4棵曼德拉草,還有不小的概率弄到活木。DeepForest這個room的資源又非常豐富,實際上這個room是非常適合建家的。
就先介紹9個必定出現的task,會繼續介紹隨機出現的另外9個task,以及task之間的連結關係。
看了上文九遊小編帶來的饑荒聯機版地圖構成詳解,你是否了解了相關內容信息,知道了呢!更多最新最好玩的手機遊戲就來九遊下載吧!
如轉載涉及版權等問題,請作者與我司聯繫,我司將在第一時間刪除或支付稿酬。