加入我们 注册 /  登录
搜索
查看: 64|回复: 0

蟒4关键AI浅析及部分基础模板-入门篇(长文警告、多图警告)

[复制链接]

114

主题

37

回帖

794

积分

超级版主

积分
794
发表于 2024-12-18 17:58:39 | 显示全部楼层 |阅读模式
作者:密码是你生日

一、前言
星舰这游戏,好就好在自由度很高,玩家可以天马行空地发挥自己的想象,而不必拘泥于别人的思路,有时候另辟蹊径也能走出一番天地。这自由度,很大程度上源于不同玩家AI思路的差异。思路不同、AI不同、流派不同,对局时产生的效果也就不同。此次攻略征集,我选择写入门篇也是因为比起授人以鱼,我更希望授人以渔。学好了AI基础,后续进阶AI的部分就可以自由发挥了(毕竟用自己构建的独特AI打败对手,才是超时空星舰玩法的精髓嘛)。
现阶段,蟒3的AI已经被开发得差不多了,而蟒4AI的攻略完备度还不是特别高。下面我将对蟒4更新后新增AI中个人认为较为关键的几个AI进行解析,希望大家有所收获。
二、蟒4核心AI的解析及简例
(一)跳过下一操作
如果要说蟒4AI和蟒3AI的差距,最大的差距其实就是这个“跳过下一操作”,由它构建的众多AI模板极大地提升了蟒4AI的灵活度(很多三四十条的复杂AI就是用了大量“跳过下一操作”进行构筑的),我将其放到了第一个来讲也可见其重要性。
1.原理
这个AI的原理其实很简单,就是条件满足后,跳过下一个xx操作(如果用的是“跳过下一操作”,则为跳过下一普通操作;用的是“跳过下一个动力操作”,则为跳过下一个电量类的操作...其他跳过类AI同理)
例如:
1中,当10满足条件时,11就不会运行(不论11是否满足条件,一整条都和不存在一样),这两条的具体执行起来的效果就是:该船员特殊能力已使用且我舰未受损时,定位原本房间。
2.部分基础模板
值得注意的是,“跳过下一操作”这一AI本身也能跳过“跳过下一操作”这一AI,因此它也衍生出了很多有趣的应用模板,例如:
①不满足A条件时执行A操作
A条件-跳过下一操作
-A操作
②同时满足多个条件时执行A操作
A条件-跳过下一操作
-跳过下一操作
B条件-跳过下一操作
-跳过下一操作
...(如果需要,中间还可以插入无数个条件)
C条件-跳过下一操作
-跳过下一操作
D条件-A操作
③不满足A条件又同时满足其他多个条件时执行A操作
A条件-跳过下一操作
B条件-跳过下一操作
-跳过下一操作
...(如果需要,中间还可以插入无数个条件)
C条件-跳过下一操作
-跳过下一操作
D条件-A操作
(二)瞄准另一个房间
这个AI虽然没有“跳过下一操作”应用得这么频繁,但其对蟒4AI的索敌及定位房间产生了重要影响,也是蟒4AI领先于蟒3AI很重要的一个原因。
1.原理
这个AI的原理其实也很简单,就是条件满足后,定位另一个与当前目标同类的房间(这里面最关键也是最精髓的部分,就是这个“同类”,比如你当前目标是“护盾室”,执行“瞄准另一个房间”后就只会瞄准到另一个“护盾室”,如果不存在另一个护盾室,或另一个护盾室不可被选定,则不会执行此条AI)
例如:
2中,如果你带了“大盾”“小盾”两个护盾室,且“大盾”抗伤害能力不小于50%,“小盾”抗伤害能力小于50%,两个护盾室均有空位,那么运行这条AI后,不论小人执行2后定位的是“大盾”还是“小盾”,都会通过1的筛选,最终定位到“大盾”。
2.注意事项
如果想把这个AI应用到对敌锁定上,就可能需要适当调整或进行取舍。因为敌方房间的条件在开战前属于未知量,如果这个AI的条件一直满足,它就会不停定位另一个,从而造成武器尿分叉/小人摇头。
三、可能有骚操作的AI
(一)耐力判定AI
耐力AI目前开发的并不多,但用起来却经常有奇效。我就抛砖引玉简单说下我发现的一些使用场景。
1.用来判断小人是否移动了
3中,在一些极端情况下,可以让小人在站桩时不使用特殊能力,仅在移动并到达指定位置后才使用。除了图3中的情况,其实判断是否移动还能用来防止一些不必要的摇头(如当前房间被电磁后到其他房间工作,如果走出去就不满足当前房间的条件了,这时候就可以使用耐力未满继续行动来避免摇头)。
2.传送的小人用来筛选目标
4、图5,是我曾经用过的火猫猫AI的一部分,火猫猫面板为1耐后其余全血(属于特化火步),用的大传送。当火猫猫从大传边上走到大传中间时,2速走2.5格会消耗掉2.5/3=0.8333耐力,刚刚能经历耐力100%-75%-50%-25%几个阶段,通过不同阶段定位不同房间,再加以目标房间有无敌方船员的判定(截图没截进去,就两行AI),可以做到找落点时多找几个特定类型的房间,从中选择没有敌方船员的房间进行落地,减少了传送落地暴毙的风险。
(二)电力AI的一些特别用法——卡时点
经常用隐身的朋友应该都知道,如果想实现“未隐身是锁定A目标,每次隐身后锁定一次B目标”,用“我舰拥有隐形力场”作为武器索敌的条件肯定是不行的,因为隐身期间会因为隐身的特性导致武器无法发射,而隐身结束后又会因为隐身状态结束条件不成立。这时候就得卡一下时点了,我一般是选择隐身时将装填完毕的武器电力调低,隐身结束后其电力恢复又至少需要一帧时间,只要再给武器房间写一下“本房间电力过低锁定B房间”,就可以做到“未隐身是锁定A目标,每次隐身后锁定一次B目标”了。
四、结语
不知不觉已经写了不少内容了呢,能坚持看到这里的朋友想必都对蟒4AI充满着兴趣吧?虽然我也还想跟大伙多分享些蟒4AI的小知识,但由于篇幅有限,也不好再写太长了。如果各位还有想了解的内容、更好的想法(毕竟咱也是抛砖引玉,肯定还有很多同志有更优秀的思路的)、抑或发现文中存在疏漏,都请在评论区提出来,近期我会有针对性地挑一些评论进行回复。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

丰瑞文化|手机版|小黑屋|超时空星舰-官网 ( 备案号:粤ICP备18064698号 )
( 粤公网安备44030602003070号 )

GMT+8, 2024-12-31 01:22 , Processed in 0.080012 second(s), 21 queries .

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