设为首页收藏本站

塞爱维(CIV)文明联盟

 找回密码
 注册
查看: 37501|回复: 30

[原创] 如何让AI成为你的打手

[复制链接]
发表于 2008-11-11 18:56:37 | 显示全部楼层 |阅读模式
让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
发表于 2008-11-11 19:00:19 | 显示全部楼层
高人

不要跑,给我签个名
发表于 2008-11-11 19:01:20 | 显示全部楼层
再次发现塞爱维牛人诸多,受教了
发表于 2008-11-11 19:04:23 | 显示全部楼层
又见数据男。。。。加油!好好干,有前途!
发表于 2008-11-11 19:15:49 | 显示全部楼层
如果B是A的附庸国。我们让A扁B的时候,A是不是也会说“显然你是在开玩笑”?
 楼主| 发表于 2008-11-11 19:42:38 | 显示全部楼层

回复 #5 失败男 的帖子

如果B是A国的附庸,那么它不会进入可选的列表
发表于 2008-11-11 19:46:42 | 显示全部楼层
看的我头晕,不过还是顶了
发表于 2008-11-12 09:04:28 | 显示全部楼层
在晕眩状态下衷心的表示敬意!
发表于 2008-11-12 09:15:45 | 显示全部楼层
Zara Yaqob 札拉·雅各布 没有?
 楼主| 发表于 2008-11-12 12:30:59 | 显示全部楼层

回复 #9 fanes 的帖子

提取数据的时候出了点差错,把菜花头给丢了,已经修正了。
发表于 2008-11-12 14:46:53 | 显示全部楼层
晕晕的,顺便求中文。。。
发表于 2008-11-12 16:56:27 | 显示全部楼层
这个数据是怎么从xml文件中提取出来的,有什么工具吗?
发表于 2008-11-12 17:02:03 | 显示全部楼层

回复 #12 西艾薇.I.王子 的帖子

可以自己写脚本啊

你有什么需要,我可以写,不过我用的是python
发表于 2008-11-12 18:28:05 | 显示全部楼层

回复 #13 Khyron 的帖子

厉害啊,我从来没想过能自己来写出这种工具来

仔细想想,暂时没有太迫切的需要

不过,这个工具,如果做出来,肯定会给不少modder带来方便

如果有人已经写过,那最好了,我们拿来就可以用了
发表于 2008-11-12 19:47:39 | 显示全部楼层
好文章,读了十分爽朗
发表于 2008-11-12 22:15:58 | 显示全部楼层
叶卡捷琳娜不是亲密的也能宣的么
发表于 2009-1-6 10:31:30 | 显示全部楼层
太数字化了对于我这个菜鸟级人物来说严重头晕~~!!能不能用"普通话"来表述,这太专业太数据了~!!!
发表于 2009-1-6 13:53:16 | 显示全部楼层
。。。。好有难度啊,看的都看不懂
发表于 2009-1-29 18:16:30 | 显示全部楼层
发现甘地波斯林肯坐牛真的是很夸张..和他关系很不好也可以挑拨他打盟友
发表于 2009-3-9 21:46:04 | 显示全部楼层
很好很强大!

我想问问楼主,可向AI勒索值多少的筹码?
(关系please以上勒索AI不减关系的。)

有时候我与A关系友好,我与B正在开战,A对B态度不悦,那么我挑拔A与B开战可能不需要筹码。我想挑拔A与B开战应该是值一个筹码的,但各种因素综合起来,AI就把这个筹码免费送我了

经常开局初,关系please以上,经常可以从AI免费要来捕渔、轮子、神秘、弓箭等等小科技。如果是甘地之流,关系普通就可以勒索来弓箭等小科技,虽然会减关系。

游戏中期,经常可以从亲密的AI要来现金。

我发现,虽然关系please以上勒索AI不减关系,但也不是完全无影响的。
曾经有一次,我向一个关系please的AI勒索捕渔成功了;我读档,改勒索弓箭失败后再勒索捕渔也失败了!明明是不减关系的啊!我再读档,不勒索弓箭只勒索捕渔仍然成功了。说明当时可向AI勒索的筹码是大于捕渔小于弓箭,但勒索弓箭失败后,可勒索的筹码变小了,连捕渔也勒索不了。

[ 本帖最后由 power 于 2009-3-9 23:38 编辑 ]
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2024-4-26 12:58

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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