|
让AI做打手来削弱其它AI的实力是高难度下获胜的一个必不可少的手段,那么如何才能让AI乖乖听我们的话呢?要让AI对某一国宣战首先需要它愿意对该国发动战争,其次要求我们手上有足够的筹码,下面我们来逐一分析这两个条件是如何达成的。
意愿
要让AI愿意同某一国发动战争需要若干条件,如果我们想让A对B开战,而在外交界面里对B宣战是红字,那么我们可以通过A的反馈来判定它为什么不愿意对B开战开战。
1. Surely, you must be joking...
A会在两种情况下认为你在开玩笑,一是当你是B国的附庸(对玩家来说不会发生了)或者签有共同防御协议时,二是你和B并未开战且B国有原子弹时。策略上,你可以通过保有一颗原子弹来大大降低AI被其它国家挑拨而宣你的几率。
2. Sorry, it's out of our hands.
因为各种各样的硬性条件导致A不能和B开战,比如它们俩已经在打了,或者处于强制和平的回合中。
3. We have enough on our hands right now.
A如此回答说明它已经选定了一个目标,通常来说在5-10回合内就会对其宣战,显然AI也懂得不要两面作战。
4. We're afraid of their military might. & We would have nothing to gain.
这两种回答都说明A认为B的实力高出了标准,宣战是件吃力不讨好的事。两种回答区分的标准是A与B是否在相邻,判断的标准是B的领土与A接壤的是否达到8块。如果A和B相邻,则要求B的实力不高于A实力的两倍,同时如果我们和B已经开战了,则要求B的实力不高于我们的实力加A实力的总和的两倍。如果B和A不相邻,则A的实力和我们的实力都要除以2。实力的计算和AI宣战机制解析中的一致。
5. We just don't like you enough.
显然你和A的关系还不够好,不足以让它为你开战。具体的要求见文章结尾表格的第一列,你和A的关系必须高于对应的值。
6. We couldn't betray our close friends!
这回的问题是A和B的关系太好了,所以它不愿意向B开战。具体的要求见文章结尾表格的第二列,A和B的关系必须等于或差于对应的值。
从第4点可以看出,让AI做打手的一个关键是它的实力够强,而实力由人口、科技、兵力和城市建筑决定。因此如果你想让A去打B,在你和A的关系、A和B的关系都满足条件的情况下,可以考虑送城、送兵、送科技。当然,对于有暴兵倾向的AI基本不用担心他实力不够的问题,专心搞好关系就可以了。但这些AI通常都乐于早早的制定战争计划,所以要特别注意它们的空窗期。
假设你想A去打B,那么在国家关系上要求你和A的关系好于第一栏,并且A和B的关系不比第二栏好。
筹码
当你可以挑拨AI去宣战某一国时,你手上还必须有足够的筹码让其接受开战协议。要AI接受一个对B国开战的协议所需要的筹码我们记为V,它的计算流程如下所示:
1. V = 10 * B的城市数 + 2 * B的总人口
2. V = V * ((100 + {0, 25, 50, 150, 400}) / 100), 花括号中的五个数字分别对应愤怒至亲密的关系。
3. V = V * (50 + ((100 * B的实力) / (我们的实力 + B的实力 + 1)))/100
4. 如果A和B不接壤:V = V * 2
5. 如果B处于和平状态:V = V * 3,否则V = V * 150 / (100 + ((50 * 100 * B的胜利点数 / (8 + A的总人口))) / 100)) (A的总人口不包括附庸国,胜利点数的计算参见Khyron的文章)
6. V = V + 20 * 我方城市数 + 15 * 我方人口数
7. 如果B正处于战争中,依照我们和A的关系有三种可能
7.1 亲密:V = V * max(50, 100 - 正处于战争状态的国家总数 * 20) / 100
7.2 热情:V = V * max(75, 100 - 正处于战争状态的国家总数 * 10) /100
7.3 其它:V = V
8. V = V + B拥有的核弹数 * 250
9. V = V + 我们拥有的核弹数 * 150
10. 如果现在没有国家在打仗
10.1 V = V * 2
10.2 V = V + 30 * 和B签订共同防御协议的国家的城市数 + 20 * 和B签订共同防御协议的国家的总人口
11. V = V * (60 + (140 * 回合数 / 预计结束时的回合数) / 100
12. V取整到十位
从以上流程可以看出,增进关系可以大幅降低开战所需的筹码,而如果世界正处于和平时期,我们可以考虑先向一个没有厉害关系的AI开战,使得所需筹码减半。对于不复杂的情况,我们可以大致估算筹码的具体值,作为参照了解一下金钱和科技对应的筹码换算是有意义的。
金钱的换算比较简单,如果AI处于经济危机中,对应的筹码等于金钱数乘以3,否则乘以2。科技的计算稍微复杂一点,记A研发该科技还需的瓶子数为C,则流程如下:
1. V = C * 3 / 2
2. V = V + ((C / 2) * (可以拥有该科技的文明数 - 已拥有该科技的文明数) / 可以拥有该科技的文明数)
3. V = V * (该科技的AITradeModifier + 100) / 100
可以拥有该科技的文明数以A遇到过的文明为准,全部AITradeModifier不为0的科技见下表。
[ 本帖最后由 royantar 于 2008-11-12 12:29 编辑 ] |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有帐号?注册
x
|