當前位置:編程學習大全網 - 源碼下載 - 文明6地圖地貌生成機制詳解

文明6地圖地貌生成機制詳解

文明6中有著跟現實壹樣的地貌,每種地貌對自身文明的發展都有不同的影響,下面就給大家分享文明6地圖地貌生成機制詳解。

前言

地貌篇來了,由於泛濫平原生成器是隱藏在源代碼的,所以無法得到準確的生成規則,只能憑著函數參數和大量數據進行推測,為此耽誤了不少時間。

神標常用結論將會用藍色字體標註出,不想看詳細公式的讀者可以選擇性閱讀。

壹、生成順序

1.為每壹條河流生成泛濫平原(第二部分講解)。

2.檢測該地圖是否允許海岸有山脈,如果不允許,則替換為同類丘陵。

3.生成極地浮冰(第三部分講解)。

4.從下到上從左到右掃描地圖每壹個單元格。

如果該格是不可通行地形或已經擁有地貌了,則跳過此格掃描下壹個單元格。

否則,如果該格是海岸,則判定是否生成礁石(第四部分講解)。

否則,如果該格子是陸地單元格,那麽已掃描的陸地單元格(初始為0)+1,然後按順序判定此格是否生成沼澤(第五部分講解)、雨林(第六部分講解)或森林(第七部分講解)。

5.從下到上從左到右掃描地圖每個單元格,並判定是否生成綠洲(第八部分講解)。

6.生成地熱裂隙(第九部分講解)。

、泛濫平原的生成

本部分內容大部分為根據生成器參數與實驗數據推測出來的近似規律,而非準確規律!

本部分中,“壹片泛濫平原”代指壹次洪水影響的全部泛濫平原單元格,“壹塊泛濫平原”代指壹個泛濫平原單元格。

1.每條河流至多擁有壹片泛濫平原——哪怕他繞了地球大半圈。

2.泛濫平原優先從河流最下遊的兩側的可生成地形上,沿河向上生成,遇到不可生成地形時停止。註意,由於文明6生成的河流是純線性的,所以河流交匯處為其中壹條河流的末端!

3.壹片泛濫平原的大小為4~10格。換句話說,如果壹條河全程都找不到可以生成4格泛濫平原的流域,那麽這條河將不會生成泛濫平原。同時,當壹片泛濫平原已經生成10格時,哪怕沒有遇到不可生成地形也會停止。

4.壹塊泛濫平原可以被多片泛濫平原(也可以說是多條河流)***享。

實例講解

泛濫數量實例

本圖中,盡管紅色河流的長度在遊戲中很少見,而且其流域均為可生成泛濫平原的地形,但其仍只在最下遊生成了壹片泛濫平原。

河流交匯實例

本圖中,藍色河流與白色河流交匯。由於藍色河流在交匯後消失,所以藍色河流在交匯處沿河向上生成了壹片***10塊泛濫平原。而白色河流則在流入湖泊前,從入湖口的三角洲向上生成了壹片***5塊泛濫平原(遇到山脈停止)。

泛濫大小實例1

本圖中,藍色河流的可形成泛濫範圍只有3格(白色),不可形成泛濫,故本河沒有泛濫平原。

泛濫大小實例2

本圖中,雖然白色的泛濫平原的上遊並沒有阻礙泛濫平原生成的地形,但由於壹片泛濫平原上限為10格,故只生成了10格。

泛濫大小實例3

本圖中,雖然紅色河流的末端在河流交匯處,但是由於白色區域的大小不足以形成最低規模的泛濫平原,所以其泛濫平原生成在了藍色區域。

泛濫***享實例

本圖中,白色的河流的洪水影響區域為白色的泛濫平原,藍色的河流影響區域為藍色的泛濫平原(通過實際測試得知)。可見有兩塊泛濫平原同時被兩片泛濫平原***享。

三、浮冰的生成

浮冰通常占地圖總大小的15%。浮冰分為8步生成,首先生成永遠不會融化的永凍冰(15%),然後依次生成會在氣候等級從7~1會融化的冰(1~4級各10%,5~7級各15%)。

永凍冰

只會生成在不靠近陸地的地圖邊緣上,理論數量為地圖總格子數*15%(浮冰占地圖大小)*15%(永凍冰占總浮冰大小)左右。如果滿足條件的地塊數小於永凍冰的理論數量,則所有滿足條件的地塊都會生成永凍冰。

可融冰

可融冰只會生成在其它浮冰旁,並且可以靠近陸地生成。對於任壹滿足條件的地塊,其生成浮冰的幾率為:

該層浮冰理論數量 / 滿足條件的地塊數 + 5 × 相鄰浮冰數

相鄰陸地的單元格的概率變為理論的1/5。

可融冰***7層,當氣候變化等級為1融化的可融冰生成完畢後將 生成。

四、礁石的生成

礁石只會生成在緯度不高於70°的非湖泊海岸,並且不能與任何相鄰河流的陸地單元格相鄰。

比如黃叉位置因為與紅線相鄰,所以不能生成礁石

如果被掃描到的單元格可以生成礁石,那麽可生成礁石的單元格(初始為0)+1。如果當前已生成的礁石占可生成礁石的單元格的比例沒有到達規定值(在常見的地圖中為9%),則會進行生成概率判定。

礁石生成的基礎概率是100%,如果與其它礁石相鄰會降低(1個-25%,2個-50%,3個或4個-75%。註:由於是從下到上依次掃描格子,所以不會出現相鄰5個或6個礁石的情況,畢竟本格上面的兩個單元格還沒有被掃描到。下同。),每遠離赤道壹格降低3%。

也就是說,礁石傾向於生成在赤道附近,並且傾向於分散分布。

五、沼澤的生成

沼澤只會生成在草原上。

如果被掃描到的單元格可以生成沼澤,且當前生成的沼澤占已掃描的陸地單元格比例沒有到達規定值(常見地圖的標準設置為3%。降雨量設置為幹旱為1%,潮濕5%,隨機為0.5%~5.5%間的壹個隨機值。),則會進行生成概率判定。

沼澤生成的基礎概率為66.7%,如果與其它沼澤相鄰會變化(1個+11.1%,2個或3個+33%%,4個-50%)。

也就是說,沼澤有群聚性,並且傾向於生成在大片無法生成沼澤的陸地可通行地形(如凍土、沙漠)的東部或北部。

六、雨林的生成

與壹般人認知不同的是,雨林除了會生成在平原與平原丘陵上,還會生成草原與草原丘陵上。但是如果生成在草原或草原丘陵上,該單元格的地形會被強制轉換為平原與平原丘陵。雨林只會生成在緯度不高於20°的地區。

如果被掃描到的單元格可以生成雨林,那麽可生成雨林的單元格(初始為0)+1。如果當前已生成的雨林占可生成雨林的單元格的比例沒有到達規定值(常見地圖的標準設置為40%。降雨量設置為幹旱為36%,潮濕44%,隨機為35%~45%間的壹個隨機值。),則會進行生成概率判定。

雨林生成的基礎概率為66.7%,如果與其它雨林相鄰會變化(1個+11.1%,2個或3個+33%%,4個-50%)。

也就是說,雨林有很強的群聚性。

七、森林的生成

森林會生成在草原、草原丘陵、平原、平原丘陵、凍土與凍土丘陵上。

如果被掃描到的單元格可以生成森林,且當前生成的森林占已掃描的陸地單元格比例沒有到達規定值(常見地圖的標準設置為18%。降雨量設置為幹旱為14%,潮濕22%,隨機為13%~23%間的壹個隨機值。),則會進行生成概率判定。

森林生成的基礎概率為66.7%,如果與其它森林相鄰會變化(1個+11.1%,2個或3個+33%%,4個-50%)。

也就是說,森林有群聚性,並且傾向於生成在大片無法生成森林的陸地可通行地形(如雪地、沙漠)的東部或北部。

八、綠洲的生成

綠洲只會生成在沙漠中。綠洲不會生成在其它地貌附近,並且不能與任何相鄰河流的陸地單元格相鄰(和礁石類似)。

如果被掃描到的單元格可以生成綠洲,且當前生成的綠洲占可通行陸地單元格總數的比例沒有到達規定值(常見地圖的標準設置為1%。降雨量設置為幹旱為0%,潮濕2%,隨機為0%~2.5%間的壹個隨機值。),則會有25%的幾率在該格生成壹個綠洲。

由於綠洲的生成條件極為苛刻,所以生成數量通常達不到期望值。

、地熱裂隙的生成

地熱裂隙會隨機分布在距離板塊交界處1~3格的地方——除非可用單元格不足以放下全部地熱裂隙(這時多出來的地熱裂隙會隨機生成到地圖的任何地方)。

壹張地圖的地熱裂隙數量為該圖可通行的陸地單元格總數的0.5%(向上取整),這個數值在標準千湖圖通常為16。

  • 上一篇:關於USB HID 鍵盤的問題
  • 下一篇:電動升降臺分類及操作方法大探究
  • copyright 2024編程學習大全網