攻略详情

《文明4》谁动了我的大排——维护费释疑

作者: 佚名 2013-01-29 19:40

谁动了我的大排——维护费释疑(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 < 0,[x] = 0。

   

分页符

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超过上限,则取上限。


上一篇 : 《文明4》详 ...

下一篇 : 《文明4》文 ...

相关阅读

精彩推荐