设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
查看: 10147|回复: 10

[原创] Civilization:Colonization游戏机制研究III - REF(皇家远征军)

[复制链接]
发表于 2008-10-5 22:03:56 | 显示全部楼层 |阅读模式
1. 皇家远征军的初始兵力

缩写:REF = Royal Expeditionary Force = 皇家远征军

游戏最开始会自动生成各个玩家的免费单位,在这时程序将根据Civ4CivilizationInfos.xml<FreeUnitClasses>,来确定皇家远征军的初始兵力。

Civ4CivilizationInfos.xml中<FreeUnitClasses>下<UnitClassType>出现的次数决定了免费单位的数量。
England
France Spain Dutch
<FreeUnitClasses>
<UnitClassType>/<FreeUnitProfession>
UNITCLASS_SHIP_OF_THE_LINE/NONE 4 4 4 4
UNITCLASS_CANNON/NONE 4 4 4 4
UNITCLASS_REGULAR/PROFESSION_DRAGOON 4 4 4 4
UNITCLASS_REGULAR/PROFESSION_SOLDIER 8 8 8 8

由于对于4个欧洲宗主国,他们的Ship of the Line和Cannon被Man-o-War和Artillery替代,所以皇家远征军的初始兵力为:
Regulars * 8
Regular Dragoons * 4
Artillery * 4
Man-o-War * 4
这也就是我们在游戏开始时Revolution Advisor界面(F3)看到的REF的初始兵力。
这几个数在确定REF增加的单位的类型时还有用。

[ 本帖最后由 Khyron 于 2008-10-7 14:54 编辑 ]
 楼主| 发表于 2008-10-5 22:04:18 | 显示全部楼层
2. 皇家远征军的增长
先列举本节所需重要常数。XML,Tag, Value分别为:
GlobalDefines.xml
REVOLUTION_EUROPE_UNIT_THRESHOLD 75
REVOLUTION_EUROPE_UNIT_THRESHOLD_INCREASE 10
REVOLUTION_EUROPE_UNIT_SHIP_MODIFIER -50

Civ4GameSpeedInfo.xml

Quick Normal Epic Marathon
iTrainPercent 75 100 150 300

Civ4EraInfos.xml

Discovery Expansion Colonial Independence
iTrainPercent 100 100 100 100

Civ4HandicapInfo.xml

Pilgrim Pioneer Explorer Conquistador Governor Patriot Revolutionary
iAITrainPercent 160 110 100 90 75 60 50
iAIKingUnitThresholdPercent 200 200 200 200 200 200 200

2.1 预备知识,revolutionEuropeUnitThreshold和RevolutionEuropeUnitThresholdMultiplier
在确定REF扩军的时机和数量时,有2个数值起了决定性的作用,它们是revolutionEuropeUnitThresholdRevolutionEuropeUnitThresholdMultiplier,我们先姑且翻译成:扩军阀值扩军阀值乘子

(1) 扩军阀值乘子(RevolutionEuropeUnitThresholdMultiplier)
扩军阀值乘子初始值为100,每当国王向皇家远征军增兵前更新,
新的扩军阀值乘子 = 旧的扩军阀值乘子 * (100 + REVOLUTION_EUROPE_UNIT_THRESHOLD_INCREASE) / 100 = 旧的扩军阀值乘子 * 110%

扩军阀值乘子以10%的速度增长

(2) 扩军阀值(revolutionEuropeUnitThreshold)
扩军阀值基础值 = REVOLUTION_EUROPE_UNIT_THRESHOLD * 扩军阀值乘子 / 100 = 75 * 扩军阀值乘子 / 100

扩军阀值基础值还要乘以以下几个修正因子:
a. 游戏速度修正
(Speed)iTrainPercent/100
b. 游戏开始年代修正
(Era)iTrainPercent/100
c. 游戏难度修正
iAITrainPercent/100
d. 如果是电脑玩家,还有针对AI的难度修正
iAIKingUnitThresholdPercent/100
以上a-d四项修正的关系是叠乘。
注1:对于c项的游戏难度修正,虽然也带着"AI",但这项是针对所有玩家的,人类玩家的难度就是游戏难度,电脑玩家的难度是Explorer。

所以最终的扩军阀值的计算公式为:
扩军阀值基础值 = 75 * 扩军阀值乘子 / 100 * (Speed)iTrainPercent / 100 * (Era)iTrainPercent / 100 * iAITrainPercent / 100 * [(如果是电脑)iAIKingUnitThresholdPercent / 100]

对于人类玩家,普通速度下,公式可简化为:
扩军阀值基础值 = 75 * 扩军阀值乘子 / 100 * iAITrainPercent / 100
比如难度是Governor,则为:
扩军阀值基础值 = 75 * 扩军阀值乘子 / 100 * 75%


2.2 国王何时向皇家远征军增兵
殖民地玩家的每个回合开始时,程序会判读是否向皇家远征军增兵,如果殖民地满足以下条件
a. 未革命
b. 除了免费的自由钟(Liberty Bells)产出外,只少有1自由钟产出
c. 积累的自由钟超过或等于扩军阀值

国王会向皇家远征军增兵,实质上依次执行
a. 从积累的自由钟扣除数量为扩军阀值的自由钟
b. 更新扩军阀值乘子
c. 决定向皇家远征军增加的部队的种类
d. 根据更新后的扩军阀值乘子来决定增加的部队的数量
e. 扩军

在《Civilization:Colonization游戏机制研究II》中介绍了自由钟是如何积累的,现在再复习一遍,它有2个来源
a. 普通的自由钟产出
b. 向国王购买军队支出的金钱
这2种方式都以1:1的比率转化为自由钟的积累。

侧面了解自由钟的积累值的方法
宗主国对殖民地的态度有这么一项:"You are becoming a drain on my military",这项外交关系的修正是由自由钟的积累带来的,每积累500自由钟,会有-1的惩罚,所以当这项修正大致反映了自由钟的积累值。
0:0 ~ 499
-1: 500 ~ 999
-2: 1000 ~ 1499
………………


2.3 皇家远征军增加的部队的数量和类型
(1) REF新增部队的数量
= [扩军阀值乘子 / 100]

(2) REF新增部队的类型
每次REF扩军时,新增部队都是同一类型,这一类型是在Civ4CivilizationInfos.xml中<FreeUnitClasses>里面的那4个类型按其权重随机挑选。
单位类型的权重等于<FreeUnitClasses>下相应单位类型出现的次数乘以100,海军单位还要每次额外做REVOLUTION_EUROPE_UNIT_SHIP_MODIFIER修正。
所以各单位类型的权重为
Regulars:800
Regular Dragoons:400
Artillery:400
Man-o-War:200
被选中的几率分别为:
4/9,2/9,2/9,1/9


2.4 自由钟和REF增长之间的换算
不妨假设游戏速度为普通

从前3小节中,我们知道
a. 扩军阀值基础值 = 75 * 扩军阀值乘子 / 100 * iAITrainPercent / 100
b. 新的扩军阀值乘子 = 旧的扩军阀值乘子 * 110%
c. 从积累的自由钟扣除数量为扩军阀值的自由钟
d. 根据更新后的扩军阀值乘子来决定增加的部队的数量
e. REF新增部队的数量 = [扩军阀值乘子 / 100]
所以积累的自由钟和REF增长的换算率为
(75 * 扩军阀值乘子 / 100 * iAITrainPercent / 100)自由钟的积累 = (扩军阀值乘子 * 110% / 100)部队
两边消去扩军阀值乘子有:
(75 * iAITrainPercent / 100 / 110%)自由钟的积累 = 1 REF部队

每大约(0.682 * iAITrainPercent)自由钟的积累带来1REF部队的增长
对于各难度,则为:

Pilgrim Pioneer Explorer Conquistador Governor Patriot Revolutionary
Liberty Bells/Unit 109.1 75 68.2 61.4 51.1 40.9 34.1


现在我们可以谈谈从国王那里购买单位有多么的不值了
从国王那里可以购买Veteran Soldier和Cannon,有50%的折扣,购买的花费为:
Veteran Soldier
750,900,1050,………………
Cannon
250,300,350,………………
向国王购买军队支出的金钱会以1:1的比率转化为自由钟的积累,那么即使在最低难度Pilgrim下,每从国王处购买一单位带来的REF增加约为:
Veteran Soldier
6.9,8.2,9.6,………………
Cannon
2.3,2.7,3.2,………………
而在Revolutionary难度下约为:
Veteran Soldier
22.0,26.4,30.8,………………
Cannon
7.3,8.8,10.3,………………
所以,不到万不得已,不要向国王购买军队!

[ 本帖最后由 Khyron 于 2008-10-6 19:29 编辑 ]
 楼主| 发表于 2008-10-5 22:04:45 | 显示全部楼层
附表:
# = 国王扩军的次数
Multiplier = 扩军阀值乘子
+ Units = REF新增单位数量
Total Units = REF单位总数
Bells(Difficulty) = 相应难度下本次扩军所需Liberty Bells数量

此表的应用,先通过F3界面得到REF单位总数,则下一行就是国王下一次扩军的数量和所需Liberty Bells数量

# Multiplier + Units Total Units Bells(Pilgrim) Bells(Pioneer) Bells(Explorer) Bells(Conquistador) Bells(Governor) Bells(Patriot) Bells(Revolutionary)
1   110    1    21    120    82    75    67    56    45    37   
2   121    1    22    131    90    82    73    61    49    41   
3   133    1    23    144    99    90    81    67    54    45   
4   146    1    24    158    108    99    89    74    59    49   
5   160    1    25    174    119    109    98    81    65    54   
6   176    1    26    192    132    120    108    90    72    60   
7   193    1    27    211    145    132    118    99    79    66   
8   212    2    29    230    158    144    129    108    86    72   
9   233    2    31    254    174    159    143    119    95    79   
10 256    2    33    278    191    174    156    130    104    87   
11 281    2    35    307    211    192    172    144    115    96   
12 309    3    38    336    231    210    189    157    126    105   
13 339    3    41    369    254    231    207    173    138    115   
14 372    3    44    406    279    254    228    190    152    127   
15 409    4    48    446    306    279    251    209    167    139   
16 449    4    52    489    336    306    275    229    183    153   
17 493    4    56    537    369    336    302    252    201    168   
18 542    5    61    590    405    369    332    276    221    184   
19 596    5    66    649    446    406    365    304    243    203   
20 655    6    72    715    491    447    402    335    268    223   
21 720    7    79    785    540    491    441    368    294    245   
22 792    7    86    864    594    540    486    405    324    270   
23 871    8    94    950    653    594    534    445    356    297   
24 958    9    103   1044   718    653    587    489    391    326   
25 1053   10   113   1148   789    718    646    538    430    359   
26 1158   11   124   1262   867    789    710    591    473    394   
27 1273   12   136   1388   954    868    781    651    520    434   
28 1400   14   150   1526   1049   954    858    715    572    477   
29 1540   15   165   1680   1155   1050   945    787    630    525   
30 1694   16   181   1848   1270   1155   1039   866    693    577   
31 1863   18   199   2032   1397   1270   1143   952    762    635   
32 2049   20   219   2235   1536   1397   1257   1047   838    698   
33 2253   22   241   2457   1689   1536   1382   1152   921    768   
34 2478   24   265   2702   1857   1689   1520   1266   1013   844   
35 2725   27   292   2972   2043   1858   1672   1393   1114   929   
36 2997   29   321   3268   2247   2043   1838   1532   1225   1021  
37 3296   32   353   3595   2471   2247   2022   1685   1348   1123  
38 3625   36   389   3955   2719   2472   2224   1854   1483   1236  
39 3987   39   428   4348   2989   2718   2446   2038   1630   1359  
40 4385   43   471   4784   3289   2990   2691   2242   1794   1495  


3. 镇压革命

[ 本帖最后由 Khyron 于 2008-10-7 14:50 编辑 ]
 楼主| 发表于 2008-10-5 22:05:12 | 显示全部楼层
4. 国王的影响

国王对殖民地态度的影响
a. 国王对殖民地态度越差,在计算是否提高税率时的某修正越小,也就意味着国王越倾向于提高税率。
b. 从国王处购买单位,需要也国王的关系不比Cautious差。当然从国王处购买单位非常不值,所以这项影响可以忽略不计。
c. 除非爆发革命,宗主国不会向殖民地宣战,所以即使国王的态度是狂怒,也不用担心。

国王和殖民地之间的交互作用的简单总结
a. 征税,制定税率
b. 制定商品价格
c. 国王每回合有10%的几率勒索你的1%-99%的金钱,如果接受勒索,10回合内不再勒索
d. 从国王处购买单位
e. REF的成长,镇压革命
f. 如果开了Europe这一胜利选项,如果到时为能成功独立,胜利者将是宗主国。

[ 本帖最后由 Khyron 于 2008-10-7 14:52 编辑 ]
发表于 2008-10-5 22:48:11 | 显示全部楼层
顶~~~~~~~~~~~~~~~
发表于 2008-10-5 23:49:26 | 显示全部楼层
又来大作了
发表于 2008-10-6 09:15:33 | 显示全部楼层
其实colonization更像是个经营类的游戏,战争部分做得有些败笔

当然,原本文明的战争部分就刻画的很粗略......
发表于 2008-11-16 19:59:11 | 显示全部楼层
问下LZ,购买矿工,政治家之类的单位算不算?
发表于 2010-2-4 16:52:32 | 显示全部楼层
threshold应为阈值而非阀值。。。。。。。。。。。。。。
 楼主| 发表于 2010-2-4 19:35:36 | 显示全部楼层

回复 #9 doggg2 的帖子

被你发现了, 的确是阈值, 懒得改了.
发表于 2010-5-4 11:47:06 | 显示全部楼层
受教 受教 受教 受教 受教 受教 受教 受教 受教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|塞爱维(CIV)文明联盟    

GMT+8, 2024-4-29 03:45

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表