欢迎光临散文网 会员登陆 & 注册

【只狼】AI的变招机制

2020-12-27 00:04 作者:琐帝BNU  | 我要投稿

最近对这一内容小有心得,但是研究也不算完善,先和大家分享一下

UPDATE20210531:根据计算机专业知识,将Interrupt的翻译从干扰变为中断,对应到只狼中理解为变招。

首先,AI的文本中有很多很多Goal,表示了AI的目标,也就是AI要做什么动作(出招、移动、防御等)

而本专栏要着重分析的是Goal.Interrupt,翻译过来可以理解为AI的“变招计划

那么AI一般何时会变招呢?本文不讨论特殊的变招信号问题,主要讨论由和玩家交互引起的原计划中断,并产生变招的三种情况:攻击、射击、喝药

本专栏的正文分为三部分:

一、前置知识

二、AI收到变招信号

三、AI何时可以变招

一、前置知识

先说动作取消这件事,这件事对玩家和敌人是一样的:

攻击变垫步
攻击变防御

从上面两个Gif中可以看出,玩家在按下攻击键后,可以依靠马上按下闪避或防御来取消进攻(注意,平砍五连只有第一下可以取消,平砍的后面几刀不能取消),这对于敌人也一样,敌人的部分动作在刚做出来的时候可以因干扰而取消。

这里就不放敌人的Gif了,玩家肯定遇到过很多例子,比如破戒僧出突刺的时候受到玩家进攻,玩家都看到突刺提示的“危”了,破戒僧还是会因玩家的进攻而收起突刺,变为防御。

二、AI收到变招信号

这里要进行细分:

1、AI受到进攻时会转为防御,那么AI如何实现防御呢?绝大多数玩家和敌人的攻击在发动时,会先向正前方发出一个信号,表示“我要打人啦!”,那么收到信号的敌人就会做出防御动作。那么如果玩家不正对敌人,敌人就无法收到此信号,因此也就不会防御。空气撤硕打法即是依靠不正对敌人来避免敌人防御(放一个空气撤硕带师的视频供大家参考)

如果玩家用傀儡术傀儡淤加美拿刀女战士的话,会发现淤加美女战士之间常常出现互相不能防御的问题(而傀儡苇名足轻,让他和武士大将打,则明显更容易发生防御),这是因为淤加美的“我要打人啦”信号在其攻击的伤害判定后才发出(我都打到你了才说要打你,这不是耍赖吗?)

除了这些特殊情况,一般AI对攻击的反应就是防御,大多数敌人还会计次,连续防御就转为弹开,具体的机制参见:



2、AI受到射击也会防御,那么射击包括那些呢?显然射击不是伤害类型,金钱镖、龙闪、机关伞气刃、油等都会引起AI对射击的防御。其中金钱镖和油为打击伤害,龙闪和机关伞气刃为振荡躯干伤+锐利HP伤,手里剑那确实是射击类。关于伤害类型参见:

一般AI对射击的防御就是近处直接举刀防御,超过一定距离后则为等一会儿再防御,简称“让子弹飞一会儿”。心中义父还会变雾鸦跳劈,弥山院和永真等都有特殊的射击应对动作。射击和攻击类似,也只向正前方发出“我要射你了”信号,不过距离更远,而且此信号自身注明了引起射击干扰。并且射击对策不会调用弹开动作,所以连续射击时敌人会一直保持招架。

3、AI会检测喝药,准确的说是使用葫芦,玩家使用葫芦道具的动作带有此特效。AI对喝药的反应基本就是出招,而且一般会受距离影响。七本枪只分近和远,近处跳劈,远处则重新计划(Replan,可以理解为AI重置),剑圣和义父都是近中远三段,剑圣是近处跳起+下戳,中等距离为跳劈,远距离重新计划。


4、其他变招信号

部分敌人也受其他种类的干扰,比如永真和弥山院小兵会对玩家起跳做出反应,僧兵为对空突刺,而永真为一个特殊的斩击(永真和僧兵好像啊,难道……)。除了根据玩家的位置和状态产生变招外,还可以根据自身的特效,比如铠甲武士狂怒四连,其实先有一个怒吼的动作,该动作最后有一个变招特效,致使AI输入变招内容,也就是直接四连还是追击一段再四连。还有黑色狮子猿根据无首狮子猿的特效进行变招等等。变招信号也是引起变招的一个大类,本专栏暂不讨论。

三、AI何时可以变招

这个就要从动作编辑器说起了,由于表现计划输入的是combo,那么允许输入combo的时候就可以变招。此外,也可以在类似于前摇的时候变为防御,防御和连招的输入类型不同,因此时机也不完全相同,

AI和玩家一样还会“预输入”,在AI部分动作快结束时,如果收到变招信号,则在当前动作结束后马上进行变招。

对峙状态
预输入

上面两个gif分别对应对峙状态和预输入。心中义父有被射击时50%概率变雾鸦,以前的专栏已经说过:

第一个gif中,义父和玩家对峙,那么会立刻响应玩家的射击,通过变成雾鸦来躲避玩家的手里剑;但是第二个gif中,玩家早早把手里剑扔出去了,义父在做完砍的动作后才变成雾鸦,并没能躲开手里剑的伤害。(说明制作组的本意是希望义父发动雾鸦时和狼类似,看起来是通过受伤触发,但是预输入机制导致了一点看着别扭的地方,主动雾鸦除外)

弦一郎

弦一郎在被识破并抽刀的动作中也可以接受变招信号,比如玩家喝药,则弦一郎会再来一个突刺,玩家可以利用这个预输入机制反复喝药钓鱼。但是,如果像上面的gif中,玩家在弦一郎处于对峙的时候喝药,则弦一郎马上起身突刺,玩家无法识破。这就解释了有些玩家不会钓鱼的问题所在,想钓弦一郎的鱼,一定要在他能接受预输入的后摇状态下喝药。对于其他几种药检较快的敌人,也可以在其后摇时喝药,或者在识破后喝药。

说回敌人的动作取消,有的时候玩家会遇到和敌人同时出刀,玩家害怕挨打赶快变防御,结果敌人也变成防御了,两人互相虚晃一下。这就是动作取消,玩家通过按防御键取消了攻击,但是“我要打你了”信号已经发出,敌人的AI接受干扰,也取消了当前动作,转为防御,于是两人互相虚晃。另外,一字斩二连一般不被弹开是因为招架3级冲击力的动作不参与AI的防御计数,而不是一字斩的攻击信号本身有什么特殊。

总结:

1、NPC和玩家一样,有预输入动作取消的能力,玩家通过按下防御或垫步实现动作取消,而AI靠受到变招信号实现动作取消;玩家可以按各种键进行预输入,而AI可以通过接收变招信号实现预输入(AI也有其他类似预输入的机制,本文不讨论);

2、常见的变招信号为“受攻击”、“受射击”、“目标正在使用道具”三种,而对应的变招计划分别为“招架或弹开攻击”、“防御射击”、“出招应对喝药”

3、NPC的部分动作后半段可以将变招作为预输入,并在当前动作结束后执行变招;NPC部分动作的开始一段时间内可以接受攻击信号并立即防御;NPC和玩家对峙时可以接受变招信号并立即反馈;NPC接收不到干扰信号就不反馈。


【只狼】AI的变招机制的评论 (共 条)

分享到微博请遵守国家法律