设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
查看: 8233|回复: 7

[原创] Civilization:Colonization游戏机制研究II - Liberty Bells, Rebel Sentiment

[复制链接]
发表于 2008-9-29 22:07:42 | 显示全部楼层 |阅读模式
1. Liberty Bells的产生
每回合Liberty Bells产生的最终数量 = 可放大的Liberty Bells基础产出 * (100% + Liberty Bells产出的放大率) + 不可放大的Liberty Bells基础产出

1.1 可放大的Liberty Bells基础产出
(1) 市民在Town Hall工作,每人每回合提供3个Liberty Bells, Elder Statesman提供6个
(2) 某些建筑在特定的Founding Fathers加入后,每回合提供一定数量的Liberty Bells
Gregorio de Mattos e Guerra
--church: +2
--cathedral: +3
Ben Franklin
--Printing Press: +3
--Newspaper: +3
Washington Irving
--Schoolhouse: +1
--College: +2
--University:+3

1.2 不可放大的Liberty Bells基础产出
(1) 每个玩家(Player)如果至少有1个城市,对这个玩家会有1个额外的免费的Liberty Bells
(2) 革命开始后,关于宗教的宪法选择"Separation of Church and State", 所有的Crosses产出会转化为Liberty Bells产出

1.3 Liberty Bells产出的放大
(1) 特定建筑
Printing Press:+50%
Newspaper: +100%
(2) Rebel Sentiment
Rebel Sentiment能增加Liberty Bells的产出,提高的额度为一个城市的Rebel Sentiment百分比乘以50除以100。比如一个城市的Rebel Sentiment百分比是40%,那么Rebel Sentiment使其Liberty Bells的产出提高20%。
(3) 领袖特性(Trait)
拥有Libertarian特性的领袖,在非模组游戏中,即John Adams,+25%。
(4) Founding Fathers
a. John Jay:+25%
b. Samuel Adams:其提高的百分比等于税率
(5) 宪法的选择
革命后,对Land Security选择Controlled Arms, 提高50%的Liberty Bells产出。

注1:以上各项放大的关系是叠加
注2:请注意,Colonization中高级建筑建成后,将取代低级建筑,即等价于低级建筑将不复存在。这样同一类型的建筑的好处只是取大,比如建好Printing Press,再建好Newspaper,放大率是100%,而不是150%。

一个城市的Liberty Bells最终产出 = 1.1中此城市存在的各项总和 * (100% + 1.3中此城市存在的各项之和) + (如果存在)此城市1.2的第(2)项;
一个玩家的Liberty Bells最终产出 = 其所属所有城市的Liberty Bells最终产出之和 + 1.2(1)
一个组队的Liberty Bells最终产出 = 其所属所有玩家的Liberty Bells最终产出之和

1.4 XML
本节将给出1.1-1.3中各项数值的XML来源,如果不是Modder,可以忽略此小节。
-1.1(1)
CIV4BuildingInfos.xml
  <Type>BUILDING_TOWNHALL</Type>
  <SpecialBuildingType>SPECIALBUILDING_BELLS</SpecialBuildingType>
  <iProfessionOutput>3</iProfessionOutput>
CIV4SpecialBuildingInfos.xml
  <Type>SPECIALBUILDING_BELLS</Type>
CIV4ProfessionInfos.xml
  <Type>PROFESSION_STATESMAN</Type>
  <YieldProduced>YIELD_BELLS</YieldProduced>
  <SpecialBuilding>SPECIALBUILDING_BELLS</SpecialBuilding>
CIV4UnitInfos.xml
  <Type>UNIT_STATESMAN</Type>
      <YieldType>YIELD_BELLS</YieldType>
      <iYieldMod>100</iYieldMod>
-1.1(2)
CIV4TraitInfos.xml
  <BuildingYieldChanges>
-1.2(1)
CIV4CivilizationInfos.xml
  <FreeYields>
-1.2(2)
Civ4CivicInfos.xml
  <ImmigrationConversion>YIELD_BELLS</ImmigrationConversion>
-1.3(1)
Civ4BuildingInfos.xml
  <YieldModifiers>
-1.3(2)
Civ4Defines.xml
  <DefineName>MAX_REBEL_YIELD_MODIFIER</DefineName>
  <iDefineIntVal>50</iDefineIntVal>
-1.3(3),(4)a.
Civ4TraitInfos.xml
  <YieldModifiers>
-1.3(4)b.
Civ4TraitInfos.xml
  <TaxYieldModifiers>
-1.3(5)
Civ4CivicInfos.xml
  <YieldModifiers>

[ 本帖最后由 Khyron 于 2008-10-1 13:41 编辑 ]
 楼主| 发表于 2008-9-29 22:08:03 | 显示全部楼层
2. Liberty Bells的直接影响
Liberty Bells作为Colonization中一个核心元素,其产出在游戏中有以下几个直接影响:
(1) 文化(culture)
(2) Founding Father Points
(3) Rebel Sentiment
(4) Liberty Bells的积累值

2.1 文化
殖民帝国中的文化的作用与文明4中的文化类似,由于Civ4Defines.xml中
<DefineName>CULTURE_YIELD</DefineName>
<DefineTextVal>YIELD_BELLS</DefineTextVal>
所有城市的Liberty Bells的产出就等于其文化产出。
殖民帝国中的文化与文明4中的文化的一个明显区别是不同文化等级所需文化变为:20,200,1000,10000,100000.
以上数值由Civ4CultureLevelInfo.xml控制。

2.2 Founding Father Points
一个组队的Liberty Bells最终产出能带来Founding Father Points里Political Points的增加,比率为1:5,即每1 Liberty Bells最终产出能带来5 Political Points增量。

2.3 Rebel Sentiment
Liberty Bells产出的多少直接决定了Rebel Sentiment的大小,继而决定了Rebel Sentiment Percent的大小。对Rebel Sentiment的全面解释将在第3节展开。

2.4 Liberty Bells的积累值(BellsStored)
游戏中存在一隐藏数据,即组队的Liberty Bells的积累值,这个数值的影响极其重要,我将用第4节来解释其作用。

[ 本帖最后由 Khyron 于 2008-9-30 20:30 编辑 ]
 楼主| 发表于 2008-9-29 22:08:33 | 显示全部楼层
3. Rebel Sentiment

3.1 Rebel Sentiment计算方法
Colonization中的城市,有一附属属性:Rebel Sentiment,这个属性每回合结束后(也可以说,每回合开始前)更新。
为了便于讨论,做以下定义:
对于一个城市,我们先用Sentiment(T)代表其第T回合结束后更新后的Rebel Sentiment值,Bells(T)代表这个城市在第T回合Liberty Bells的最终产出。

更新的属性是由递推公式得来,那么此城市第T回合结束后更新后的Rebel Sentiment值,即Sentiment(T)的计算方法如下:

(1) 首先确定一个回合因子(iTurnFactor)
这个回合因子由Civ4GlobalDefines.xml中REBEL_SENTIMENT_TURN_WEIGHT决定,非模组游戏里为10。另外还受游戏速度影响,要乘以Civ4GameSpeedInfo.xml中<iGrowthPercent>,再除以100。
所以普通速度下回合因子 = 10,马拉松速度下回合因子 = 30

(2) 根据此城市目前的Rebel Sentiment,即此城市第T-1回合结束后更新后的Rebel Sentiment值:Sentiment(T-1), 来计算iPast
iPast = (iTurnFactor - 1) * Sentiment(T-1)

(3) 这一步来计算当前回合Liberty Bells产出的影响iNew:
iNew = Bells(T) * 25
这里的25是由Civ4GlobalDefines.xml中REBEL_SENTIMENT_BELLS_FACTOR决定。

如果这个城市属于电脑,iNew还要做对应于电脑难度的修改。这个修正幅度由Civ4HandicapInfo.xml中<iAIRebelModifier>决定。

(4) 最后 Sentiment(T) = (iNew + iPast) / iTurnFactor
最终得到的数值就是这个城市新的Rebel Sentiment

注3:如果不考虑计算过程中的取整,再假设游戏速度是普通,那么上述递推公式有以下形式:

注4:当前回合的Liberty Bells的产出量对当前的Rebel Sentiment有大约1成的影响,这个影响随着时间的推移,以每回合1/10的幅度衰减。
注5:假设Liberty Bells的输出稳定后,由于REBEL_SENTIMENT_BELLS_FACTOR=25,那么每4个Liberty Bells可以让1个人完全赞同独立。

3.2 Rebel Sentiment Percent计算方法
介绍完Rebel Sentiment的计算方法,我们来介绍Rebel Sentiment Percent的计算方法,毕竟游戏中其作用的是Rebel Sentiment Percent,而不是Rebel Sentiment。
缩写RSP = Rebel Sentiment Percent

(1) 城市的Rebel Sentiment Percent
对于城市的RSP,我们可以直接观察到其大小,其大小就是城市界面中那个蓝槽显示的x% of the people support independence中的x。
其计算公式为:
RSP = min(100, 此城市的Rebel Sentiment值 / 此城市人口)
如果城市人口为0,分母为1

比如:一个10人口的城市此回合的Rebel Sentiment值为300,那么RSP为30, 那么蓝槽将显示30% of the people support independence。

(2) 组队的Rebel Sentiment Percent
对于组队的RSP,我们同样可以直接观察到其大小,其大小就是F3 Revolution Advisor界面中红槽显示的y% of the people support independence中的y。
其计算公式为:
RSP = min(100, 此组队所属所有城市的Rebel Sentiment值总和 / 此组队的总人口)
如果总人口为0,分母为1
注6:不是所有的单位都算进总人口的,像大炮军舰就不算。本质上,一个单位算人口当且仅当它在Civ4UnitInfos.xml中<bFound>为1。另外不要忘了,那些在欧洲的移民也要算到总人口里去的。

3.3 Rebel Sentiment Percent的作用
(1) 提高城市各项产出的产量
提高的百分比 = 城市的RSP * 50 / 100
这里的50是由Civ4GlobalDefines.xml中MAX_REBEL_YIELD_MODIFIER决定。

(2) 决定能否革命
一个含有欧洲殖民者的组队的RSP小于50时,是不能开始革命的。
这里的50是由Civ4GlobalDefines.xml中REBEL_PERCENT_FOR_REVOLUTION决定。

(3) 革命时,与皇家远征军(REF)作战时提供加成,加成为
(组队的RSP - 50)%
这里的50是由Civ4GlobalDefines.xml中REBEL_PERCENT_FOR_REVOLUTION决定。

注7:与皇家远征军作战时的这个加成还受2个因素影响:
一是电脑的难度修正,这个修正的大小由Civ4HandicapInfo.xml中<iAIKingCombatModifier>决定;
二是Simon Bolivar,即拥有Determined特性的领袖,(组队的RSP - 50)% * (100% + 100%)。
以上两项的关系是叠乘。

[ 本帖最后由 Khyron 于 2008-9-30 20:31 编辑 ]
 楼主| 发表于 2008-9-29 22:08:54 | 显示全部楼层
4. Liberty Bells的积累值(BellsStored)
缩写:REF = Royal Expeditionary Force = 皇家远征军

Liberty Bells这一产出,不仅能带来Culture,Political Points和Rebel Sentiment,还能积累起来,而玩家的积累起来的Liberty Bells的数量值在游戏中的影响极大,这是因为国王何时扩充REF和扩充的部队的数量直接由前述积累值决定。

4.1 Liberty Bells积累值的增加
Liberty Bells积累值属于玩家(Player)级别这一范畴。
玩家的Liberty Bells积累值的增加有2个途径:
(1) Liberty Bells产出
玩家每回合开始时,如果未开始独立革命,此玩家的Liberty Bells积累值将增加的数量 = 上一回合结束时此玩家的Liberty Bells的总产出量
(2) 向国王购买军队
玩家向国王购买军队时,玩家的Liberty Bells积累值将增加的数量 = 购买此单位的价格
比如向国王购买一Cannon花了300金,Liberty Bells积累值则增加300

注8:向国王购买军队有打折,花费 = 正常价格 * 50 / 100
这里的50是由Civ4GlobalDefines.xml中KING_BUY_UNIT_PRICE_MODIFIER决定。
另外,与国王的关系不能比Cautious差。
注9:不到万不得已,不要从国王那里购买军队,虽然便宜,但大大提高了Liberty Bells积累值,非常不值。到底有多么的不值,以后再谈。

4.2 Liberty Bells积累值的减少及后果
玩家的Liberty Bells积累值的减少只有一个途径,就是:
玩家每回合开始时(在4.1(1)所述积累值的增加之后),如果满足以下3个条件
a. 没有革命
b. 除了免费的Liberty Bells产出外,只少有1 Liberty Bells产出
c. 玩家的Liberty Bells积累值大于等于扩军阀值(revolutionEuropeUnitThreshold)

a. 玩家的Liberty Bells积累值将被扣除上述阀值
b. 更新此扩军阀值
c. 国王扩充REF,新增部队的数量由此新扩军阀值决定。

由此可见,REF扩军的时机和扩充的幅度与Rebel Sentiment Percent并无直接联系
当然Liberty Bells积累值和Rebel Sentiment Percent有一个共同的根源:Liberty Bells的产出量。

对于上述阀值和对于的REF新增部队的数量的详细说明将放在REF的研究中。

4.3 Liberty Bells积累值的其它影响
除了影响REF的扩充外,Liberty Bells积累值还影响欧洲殖民者和其宗主国的外交关系。

在计算Liberty Bells积累值对外交关系的修正时,还需要2个数值,它们是:
Civ4GameSpeedInfo.xml
  <iGrowthPercent>
Civ4LeaderHeadInfos.xml
  <iRebelAttitudeDivisor>
<iGrowthPercent>:快速,普通,史诗和马拉松下分别是75,100,150,300
<iRebelAttitudeDivisor>:对于4个欧洲国王均是-500
那么Liberty Bells积累值对外交关系的修正值 = Liberty Bells积累值 * 100 / iGrowthPercent / (-500)
如果上述修正不为0,那么其在外交界面或主界面积分显示中的表现形式为:
"You are becoming a drain on my military"

比如你现在的Liberty Bells积累值为1000,普通速度下,那么你与国王的关系有-2的修正。
所以Liberty Bells积累的越多,殖民者与宗主国的关系越差,不过这项修正有下限,就是不会超过:扩军阀值 * 100 / iGrowthPercent / (-500)。

注10:我们前面提过Liberty Bells积累值是隐藏数据。的确我们无法直接得知我们到底攒了多少Liberty Bells,但通过观察上述外交关系修正,可以大致了解Liberty Bells的积累值。

[ 本帖最后由 Khyron 于 2008-10-1 13:33 编辑 ]
 楼主| 发表于 2008-9-29 22:09:35 | 显示全部楼层
由于游戏中,除了时间胜利外,唯一获得胜利的途径就是赢得独立战争,而要赢得独立战争,就必须击败皇家远征军。可以说,REF何时扩军和扩充的幅度属于我们最关心的那些问题。
所以我决定将用单独的一章来讨论REF方方面面,而不是作为Liberty Bells的附属研究。因此4.2中提到的扩军阀值的详细解释就不放在这章中,而是下一章:

Civilization:Colonization游戏机制研究III - REF

[ 本帖最后由 Khyron 于 2008-10-1 19:43 编辑 ]
发表于 2008-10-7 17:45:24 | 显示全部楼层
为什么每次我即使拼命买old statsman 还是没人支持我独立阿 打了5局 没一次独立成功  最高到30%
发表于 2009-2-7 13:32:19 | 显示全部楼层
同问,我也是拼命买old statsman 还是20%左右
发表于 2010-5-4 11:44:52 | 显示全部楼层
受教 受教 受教 受教 受教 受教 受教 受教 受教
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-29 06:19

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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