誰動了我的大排——維護費釋疑(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超過上限,則取上限。
來源:遊民星空