地圖是怎么生成的(三)——自然奇觀篇(上)

文章內(nèi)容與專(zhuān)欄封面無(wú)任何關(guān)系,選圖原因僅為個(gè)人偏好(以及安利畫(huà)師)。?
Pixiv ID:83290905
文章發(fā)布時(shí)游戲版本:1.0.3.31
前言
趁著本次專(zhuān)欄日更挑戰(zhàn)趕緊把以前挖的坑填一填。由于是日更,再加上和工會(huì)戰(zhàn)以及個(gè)人事務(wù)的沖突,所以每次專(zhuān)欄不能太長(zhǎng),只好分割放送。
本次專(zhuān)欄講解的大部分自然奇觀在地圖上是如何生成的,同時(shí)印證了某些自然奇觀容易出現(xiàn),有些不容易出現(xiàn)的言論。神標(biāo)常見(jiàn)結(jié)論將會(huì)用藍(lán)色字體標(biāo)出,不想詳細(xì)閱讀的可以選擇性閱讀。

一、分布規(guī)律
自然奇觀傾向于生成在遠(yuǎn)離其它自然奇觀的地方,且無(wú)法生成在其它自然奇觀8個(gè)單元格內(nèi)。與一般人的印象不同,自然奇觀是先選擇生成位置,再?zèng)Q定生成什么奇觀——而不是一開(kāi)始就決定好了生成什么奇觀再分布到地圖內(nèi)。這也直接導(dǎo)致了某些生成條件苛刻的自然奇觀很少生成。
二、生成算法
地圖生成器中的生成算法如下所述:
????1.系統(tǒng)首先會(huì)將所有可用的自然奇觀進(jìn)行一次隨機(jī)排序,并依次放入待選自然奇觀列表,通常來(lái)說(shuō)列表前面的奇觀會(huì)有更高的概率生成。
????2.系統(tǒng)會(huì)從列表第一個(gè)自然奇觀開(kāi)始,隨機(jī)選擇一個(gè)格子作為其生成位置,然后檢測(cè)該格子是否可以生成該自然奇觀(除了地形需求,所有自然奇觀的8格內(nèi)是不能生成其它自然奇觀的。不排除有部分MOD奇觀的生成距離限制低于或高于8的情況。)。如果可以,則在該格子生成該自然奇觀;如果不可以,則不會(huì)生成任何自然奇觀。然后,無(wú)論該自然奇觀是否生成了,其都會(huì)被從待選自然奇觀列表中移除——也就是說(shuō)如果該奇觀不能生成在這個(gè)被隨機(jī)選定的格子上,那么本局他也不會(huì)出現(xiàn)在游戲中(給你機(jī)會(huì)也不中用啊.jpg)。
????3.如果步驟2中沒(méi)有生成自然奇觀,則重復(fù)步驟2,直到第一個(gè)自然奇觀生成。
????
????4.為全圖所有格子打分,其分?jǐn)?shù)為:
如果最近的自然奇觀與其距離不超過(guò)10格:分?jǐn)?shù)=100*到最近自然奇觀的距離+rand(0,99)
如果最近的自然奇觀與其距離超過(guò)10格:分?jǐn)?shù)=1000+到最近自然奇觀的距離+rand(0,99)
????5.在分?jǐn)?shù)最高的單元格上,生成當(dāng)前列表第一個(gè)自然奇觀。與步驟2相同,如果可以生成,則在該格子生成該自然奇觀;如果不可以生成,則不會(huì)生成任何自然奇觀。然后,無(wú)論該自然奇觀是否生成了,其都會(huì)被從待選自然奇觀列表中移除。
????6.重復(fù)步驟4與5,直到生成的自然奇觀數(shù)量到達(dá)了上限(該上限大小與地圖大小有關(guān))。
可以看出,由于分?jǐn)?shù)的原因,兩個(gè)自然奇觀相距的距離幾乎完全不可能低于10格,同時(shí)由于生成算法的原因,一些生成地形苛刻的自然奇觀會(huì)很難被生成。
三、額外事項(xiàng)
自然奇觀生成時(shí)是會(huì)移除所在格地形的。這也是為什么明明需求山脈生成的自然奇觀不算山脈。
某些自然奇觀在擺放時(shí)有特殊規(guī)則,這點(diǎn)留到下一篇再講。

Pixiv ID:83290905
畫(huà)師:reinforced,之前這個(gè)系列也是這個(gè)太太的畫(huà),絕贊的畫(huà)風(fēng)
關(guān)注可獲得文明6更多更新消息與機(jī)制解讀
如果你覺(jué)得本文是干貨內(nèi)容,煩請(qǐng)三連或者充電支持下,沒(méi)硬幣的點(diǎn)個(gè)贊也行啦~?
挑戰(zhàn)下兩周日更