文明4谁动了我的大排——维护费释疑
作者:佚名 来源:未知 时间:2021-01-27
谁动了我的大排——维护费释疑(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秘技模式开启方法