《文明4》誰動了我的大排——維護費釋疑

誰動了我的大排——維護費釋疑(02/16新增城市維護費部分)


作者:sukadi


以前,公司的政策是員工午飯全部公司掏錢,所以不管好吃不好吃,幾乎所有人都定12塊的盒飯;現在公司改規矩了,每人發10塊錢,自己定飯,結果是有錢人照吃12塊的大排飯,還在供房子的就只吃6塊錢的菜飯了。

文明里的擴張也是同樣的情況。4里引進維護費之後,擴張就不再是0成本的,C3C里bc1000前暴鋪50個城市的策略顯然不再適用。所以這篇的目的就是希望和大家探討維護費這個擴張成本。

cIV里的維護費大致分3部分:政體開銷(civic upkeep)、城市維護(city maintenance)和軍費(unit maintenance)。我們接下來就分別討論。

所有的討論都基於1.52版本。


第一部分
政體開銷

1. 影響政體開銷的外部因素。

城市數量M。很簡單,有幾座城M就是幾。

總人口N。就是所有城市人口的和。如果首都3人口,2個副城各1人口,N=3+1+1=5

組織屬性O。領袖有組織屬性,O=0.5;否則O=1

難度修正D。deity, immortal, emperor, D=1; monarch, D=0.95; prince, D=0.9; noble, D=0.8; warlord, D=0.7; chieftain, D=0.6; settler, D=0.5。

顯而易見,對於每一局,O和D是不變的。在制度不變的情況下,影響政體開銷的只有城市數量和總人口。

2. 影響政體開銷的內部因素

政體開銷主要是由制度本身的維護費等級決定的。(地球人都知道)

制度一共有4個等級,無(no), 低(low), 中(medium), 高(high)。對應於影響政體開銷的因素——城市數和人口數——的制度調整參數C和P在不同維護費等級有不同取值。

反映城市數量的制度參數C。no, C=0; low, C= 0.4; medium, C=0.5; high, C=0.6。

反映人口數量的制度參數P。no, P=0; low, P=0.08; medium, P=0.12; high, P=0.16。

(1.09中,C分別為0, 0.2, 0.4, 0.6; P分別為0, 0.05, 0.10, 0.15)

3. 政體開銷的公式

如果你能夠看到這里,並且沒有頭暈的話,請繼續往下看。在此之前,請先回顧一下上面的所有參數,一方面下面需要所有這些參數,另一方面確認你的確沒有頭暈。

政府制度開銷CG

CG = [D * [O * ( [ P * (N – 8) ] + [ C * ( M – 1) ] ) ] ]

法律制度開銷 CL

CL = [D * [O * ( [ P * (N – 9) ] + [ C * ( M – 0) ] ) ] ]

勞工制度開銷 CB

CB = [D * [O * ( [ P * (N – 10) ] + [ C * ( M + 1) ] ) ] ]

經濟制度開銷 CE

CE = [D * [O * ( [ P * (N – 11) ] + [ C * ( M + 2) ] ) ] ]

宗教制度開銷 CR

CR = [D * [O * ( [ P * (N – 12) ] + [ C * ( M + 3) ] ) ] ]

總政體開銷 C = CG + CL + CB + CE + CR

在上面的公式里,[x]表示取小於等於x的最大整數,即向下取整;如果x

4. 舉例

領袖老秦,diety難度,bc4000建立北京

這時候,D = 1, O = 1, M = 1, N = 1,制度都是低維護,P = 0.08, C = 0.4。

CB = [1 * [1 * ( [ 0.08 * (1 – 10) ] + [ 0.4 * ( 1 + 1) ] ) ] ] = [0.8] = 0

CE = [1 * [1 * ( [ 0.08 * (1 – 11) ] + [ 0.4 * ( 1 + 2) ] ) ] ] = [1.2] = 1

同樣,可以得到CG = 0, CL = 0, CR = 1,所以C = 1+1 = 2

如果領袖換成老毛,O = 0.5其他不變,則

CE = [1 * [0.5 * ( [ 0.08 * (1 – 11) ] + [ 0.4 * ( 1 + 2) ] ) ] ] = [0.5 * 1.2] = 0

同樣,CR = 0,因此總政體開銷為0。

5. AI 的政體開銷

同樣遵循上述公式,只是D不同。

diety, Dai = 0.6; immortal, Dai = 0.8; emperor, Dai = 0.85; monarch, Dai = 0.9; prince, Dai = 0.95; noble & -, Dai = 1。

6. 一些推論

* 觀察 P和C,我們會發現在1.52中,無維護和低維護的差距,等於甚至大於低維護和高維護的差距,因此無維護的制度從維護費角度看有很大優勢

* 由於高難度下政體開銷不容忽視,因此組織性在高難度下有一定優勢

* 由於公式內在的多次取整,組織性減免的政體開銷實際大於50%,在早期可能遠大於50%

* 由於C > P,所以增加城市數量的影響將大於增加人口的影響,早期多城成本將很高(政體開銷只是其中的一部分因素),特別是對於非組織性領袖

* 對於軍事派而言,組織性是個很好的屬性,侵略+組織應該是上好的組合,可惜……

7. 數據來源

P, C:
CIV4UpKeepInfo.xml

D:
CIV4HandicapInfo.xml


參考文獻:civic upkeep explained, by Roland Johansen http://forums.civfanatics.com/showthread.php?t=148840


更新記錄:

01/18/06, 增加參數來源,並修改部分措辭

01/20/06, 修正部分用詞第二部分 軍費


1. 軍費

軍費分3部分,普通單位花費(Unit Cost),軍事單位花費(Military Unit Cost),以及軍費折扣(Handicap)。

普通單位花費 = 總單位數 – 免費單位數

軍事單位花費只有在實行和平主義的時候才有,其他情況均為0。在使用和平主義制度下,軍事單位花費 = 總軍事單位數 – 免費軍事單位數。需要說明的是,和平主義下,普通單位花費不是被軍事單位花費代替,而是另外增加了軍事單位花費。

無論普通單位花費還是軍事單位花費,都至少為0,不能出現負數。

軍費折扣取決於折扣率H,H和難度有關。deity, H = 0; immortal, H = 10%; emperor, H =20%; monarch, H=30%; prince, H=40%; noble, H=50%; warlord, H=60%; chieftain, H=70%; settler, H=80%。

折扣 = {(普通單位花費 + 軍事單位花費)* H },{x}表示取大於x的最小整數,即向上取整。

最終總軍費 = 普通單位花費 + 軍事單位花費 – 軍費折扣

2. 免費普通單位/軍事單位數

免費普通單位數取決於總人口N和遊戲難度D

D的取值:deity, D = 1; immortal, D = 2; emperor, D=3; monarch, D=4; prince, D=6; noble, D=8; warlord, D=12; chieftain, D=18; settler, D=24

免費普通單位數 = [0.24 * N] + D + 4

免費軍事單位數只和總人口有關

免費軍事單位數 = [0.12 * N] + 2

3. 家臣制(Vassalage)的影響

家臣制只增加免費的普通單位,不增加免費軍事單位數。所以如果希望用家臣制來彌補和平主義的高軍費支出,效果有限。

家臣制增加的免費單位數 = [0.1 * N] + 5

4. 舉例分析

diety難度,領袖無組織性

如果法律制度從低維護的制度改為高維護的家臣制,不考慮取整問題,新增的政體開銷為:

(0.16 – 0.08) * (N – 9)
+ (0.6 – 0.4) * ( M – 0) = 0.08 * (N – 9) + 0.2 * M

如果部隊數足夠多,家臣制減少的軍費為0.1 * N + 5

所以總的變化為0.08 * (N – 9) + 0.2 * M – 0.1 * N – 5 = 0.2M – 0.02N – 5.72

因此,經過復雜的計算,得出了廣大戰爭狂熱分子都知道的結論:如果部隊很多,採用家臣制可以降低總維護費。當然,另外還有新部隊+2經驗的好處。

5. 補給費

除了軍費外,另一個相關的維護費用是補給費。

補給費計算很簡單,= [(境外單位總數 – 4) / 2],所以最多可以有5個單位在鏡外而不用付補給費。

需要指出的是,境外單位包括所有在境外活動的單位,比如,出去傳教的傳教士,去海外做生意的大商人等。

6. AI的軍費和補給費。

都和難度有關。

不同難度下,AI軍費和玩家的比例是:diety, 60%; immortal, 80%; emperor, 90%; monarch, 95%; prince & -, 100%。

不同難度下,AI補給費和玩家的比例是:diety, 10%; immortal, 15%; emperor, 20%; monarch, 25%; prince , 30%; noble, 35%; warlord, 40%; chieftain, 45%; settler, 50%。

所以,想通過送部隊給AI讓AI窮死的大概要失望了。

7. 數據來源

和難度有關的數據:CIV4HandicapInfo.xml

和家臣制有關的數據:CIV4CivicInfos.xml

其他常數:GlobalDefines.xml


參考文獻:Unit maintenance explained, by Roland Johansen

http://forums.civfanatics.com/showthread.php?t=141475


更新記錄

01/20/06, 修正部分用詞第三部分 城市維護費


城市維護費分2部分,城市距離導致的維護費和城市數量導致的維護費。熟悉C3C腐敗計算公式的對這部分應該不陌生。


城市距離導致的維護費

先說明距離的計算方法

以首都為原點,某城市的坐標為(x,y),令x > y > 0

則城市(x, y)的距離T = x + [y / 2]

城市(x, y)因距離導致的維護費MD = [D * M * T * (P + 7) / 22]

D 難度修正

M 地圖修正

P 該城市人口


城市數量導致的維護費

先說明一個概念,城市排名R。和C3C類似,R按照城市和首都的距離排名,距離一樣按照建造先後。

因城市數量導致的維護費 MN = [D * M * ((P + 16) * (N + 1) / 18 + (R – 1) / N]

D 難度修正

M 地圖修正

P 該城市人口

N 城市數量

如果計算出MN超過上限,則取上限。



來源:遊民星空