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

【只狼】AI的防御机制

2021-03-10 16:57 作者:琐帝BNU  | 我要投稿

本来想出一期视频讲讲弹开机制的……但是这个真的有点复杂,一时想不好怎么精简所以一直在摸,今天结合AI的防御机制一起聊聊吧,本专栏分为以下几个部分:

一、受伤的结算方法

二、AI如何确定防御动作

三、特殊情况讨论

一、受伤的结算方法

AI防御和玩家防御在结算时很像,都是:


做出一个防御动作→受到伤害→判定对该伤害的防御结果→做出对应的动作


比如玩家做出原地防御的动作,0.3秒后受到伤害,此时玩家不处于“可弹开”时间(说白了就是防御键按早了),因此防御结果为“招架”,并做出对应冲击力的招架动作;

剑圣在被打时也类似:如玩家平砍,剑圣收到攻击信号后做出防御动作,紧接着受到伤害,此时剑圣不处于“可弹开”时间,因此防御结果为“招架”,并做出对应冲击力的招架动作。

那么玩家和AI最根本的区别在于,玩家的防御动作前半段有“可弹开时间”,而后半段没有;

AI则不同,他们根据需要选择有“可弹开时间”的防御动作,或者选择没有“可弹开时间”的防御动作,那么AI怎么选呢?

二、AI如何确定防御动作

AI选择防御动作的参考因素比较多,先来一个最基本的:

近战防御AI

首先,如果当前压根不能防御,比如正在出招中,那肯定不防御


其次,面对突刺则是直接选择弹开,那么突刺指的是:原地蓄力突刺,长枪直接突刺,长枪突进的最后一下、巨型忍者突刺;在这之中最特殊的为巨型忍者突刺,由于攻击距离远,伤害判定的持续时间长,一般不引起AI的防御,平田义父在识破玩家的巨型忍者突刺时也有特殊的机制。NPC的突刺一般没有此特效,所以不会引起另一个NPC的弹开,bvb作者可以留意一下。


第三,就是109980特效,当NPC收到攻击信号时,如果玩家身上有这个特效,那么NPC将被迫选择后撤(但是我并不知道玩家何时会带上此特效,实战了一会也没发现身上带了这个特效)


第四,就是109990特效,称为“连招保护”状态,当NPC收到攻击信号时,如果玩家身上有这个连招保护特效,那么NPC将被迫选择招架,而且部分敌人在招架连招时的动作也略有不同;这个特效一般出现在连招中,比如锈丸表1到5,再比如仙峰寺菩萨脚的回旋踢和两刀追斩,叩拜连击拳的肘击等;而樱舞这个赶工的东西,就没有109990特效,所以弹开判定很迷


最后,就是连续防御,大多数AI在连续防御到第二次时就会选择弹开。

三、特殊情况

特殊情况巨多,一个一个来:

1、NPC不会弹开

这种情况比如平田的山贼,那么很好,一直砍就可以砍死了,或者一直突刺他也防不住


2、随机弹开

天守阁义父、幻影之蝶、凛、永真等有时候在第二下弹开,有时候在第三下弹开,这个确实是随机数在起作用,和左右手无关。随机规则和连续防御次数有关,连续到第三次的时候不论随机数是多少都必然满足“引起弹开”,因此对锈丸表6的弹开不是随机的,对连招的最后一下也不是随机的(严格地说是随机数在随机范围内任取一个值都满足引发弹开的判断),如果平砍的时候第二下不是弹开,那么第三下就必然是弹开。


3、冲击力的影响

这里稍微复杂点,一般1级冲击力和3级冲击力不引起弹开玩家的1级冲击力本身就不引起NPC的弹开(飞渡除最后一下、空中平砍、手里剑等为1级),这是因为玩家的一级冲击力要么处于连招中,要么就是手里剑这种射击类攻击;3级冲击力是可以引起弹开的,不过对3级冲击力的招架动作不会被算到连续防御里(先一字斩再平砍不会引起弹开),而3级冲击力被弹开的常见例子就是空中机关斧落地接追斩,先2级后3级且间隔较短,可以引起弹开,以及飞渡类流派的最后一击,由于有多次连击作为铺垫,因此也能弹开三级冲击力。


4、心眼、识破、永真居合等特殊防御

这三类都是提前判断,比如在判断是否是突刺时,如果是义父,那么他会选择识破而不是弹开;剑圣则是直接判断自己是否处于对峙状态(剑圣一阶段的所有移动类动作均带有此状态的标识),如果是,只要收到攻击信号就是一个心眼;永真则是先判断自己是否在居合收刀动作中,如果是,则直接作出特殊防御动作(如果玩家是突刺的话,则会因为此特殊防御动作不可弹开而直接受伤,明示突刺永真)


5、中段构架势

第一节已经说了,防御的流程是防御动作→判定→防御结果的表现,但是中段构则不同。先说什么是中段构,这个动作指的是日本剑道中双手持刀刀尖向前的动作,剑圣掌推接突刺的突刺结束后就是这个动作,一字斩之后也是一样。中段构姿态下剑圣(永真的一字斩虽然一样,但是由于被删减了所以不考虑)本身就带“可弹开时间”,不需要专门做防御动作,所以只有判定,以及对判定结果的表现(就是不用专门做一个防御动作)。打个比方,剑圣的中段构姿态下肚子上有个机关伞一直在转,hhh


6、后撤

除了前面说的检测特效的后撤,NPC也会在战斗的其他时候直接后撤,或者用后撤取代防御,以此法后撤时或许也会计入连续防御计数,具体就不清楚了,常见仙峰寺菩萨脚打剑圣时,剑圣先后撤然后马上弹开最后一脚。


7、连招

连击拳和连击拳破魔,看似动作一样,可是连击拳在第二下被弹开,连击拳破魔则在第三下被弹开;这是由于这俩动作压根不是同一个动作……连击拳的第二下没有109990,而破魔拳的第二下有这个特效,所以引起弹开的时机不同;仙峰脚和仙峰寺菩萨脚的回旋踢同理,除了引起弹开的不同外,能输入下一次攻击的时机也不同,有后招的话,输入的攻击能更早生效;没有后招的话,输入的攻击更晚生效,而且是平砍;比如装备普通连击拳,按三下攻击,就是拳、拳、等、砍;破魔拳则是拳、拳、拳连打三下。对于用防御取消第二拳的后摇来说,倒是完全一样。

总结Time

什么,你又跳到总结了?那好吧

1、经验上的一些内容都是有道理的:突刺直接被弹开、连续防御两次出弹开、连招过程中不会被弹开等等……

2、中段构的弹开相当于剑圣肚子上有个机关伞在一直转,剑圣不需要为这种防御做任何额外的动作

3、NPC一旦选定防御动作,也就确定了受伤时的防御结果

【只狼】AI的防御机制的评论 (共 条)

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