关于只狼里AI索敌机制的一些研究和完善

去年四月份,我就整过了关于敌人索敌机制和仇恨机制的解析。

当然,还是那句话,毕竟这个领域虽然很常用,但并不是很多人关注,这个视频我也没完全完善,例如没解释为什么敌人正面,足够近的距离下会强制被发现。
后面也是靠我自己不断修改整出来的,后面的口哨文章就更细致一些,但也是不完善的结论。

现在的话,应该能做一个比较完善的总结了。

和之前的差不多,敌人的索敌方式,可以理解为是一个雷达。
只狼作为天诛的精神续作,潜入暗杀也是一个继承前作的要素。
当然,魂系列的引擎用起来这么香,按照我对FS社一群懒鬼的独特个人偏见……
那群老贼肯定为了偷懒会沿用到前作的引擎去开发修改,然后做到“接近天诛时的潜入”的暗杀机制。
那咋整呢?
要知道魂系列是没有“蹲下”这个操作的!
所以我认为的是,那群老贼,给只狼的“蹲”,加个buff就完事了!
同样的,进入草堆可以理解为进入了类似“温暖的火”的buff,进去就会享受一个buff,这个buff是可以减少警觉值的,来达到敌人发现不了玩家的特点。
然后和魂系列的一样,玩家只要进入了敌人的“索敌范围”。
类似仇恨值的东西,就会往敌人的警觉槽上累积,那个仇恨值,我就称之为“警觉值”……


这个过程有点像中毒一样,累积够了,就会发生中毒debuff。

而敌人的警觉槽满了,就会让敌人进入“警觉状态”,敌人就会到处搜索敌人,一般是按照玩家的站位决定敌人的搜索方向。
顺带一提,陶片以及口哨,就是让敌人强制进入警觉状态。
但口哨的效果是自定义“警觉状态发生的源头”,也就是我可以把口哨的哨音砍出去,固定在其他位置。

敌人听到口哨后,就会往发声源的方向搜索,从而引开敌人。(有点像魂二的思乡了)
而在警觉状态下,如果再累积警觉值,警觉槽就会开始累积红色的警觉值,槽满了之后,敌人就会进入敌对状态。
这就是说明了玩家自己被发现了,敌人的要来sha你了。
当然,还有一个情况,是跳过“警觉状态”,直接变成“敌对状态”。
往下我还会详细讲这个“直接发现”的敌对状态解析。


同时还有行动音量的设计。(还记得魂三里,欧贝克给你的眠龙戒吗?)

所谓的行动音量,本质上也是索敌范围的一个情况,在敌人背后也会累积玩家的警觉值的。满了之后就会进入警觉状态。
因为敌人的警觉状态下会周围视观察(一般是进入警觉时,按玩家当时站的位置作为搜索方向),所以在警觉状态下,敌人会更容易发现玩家。

这些都是只狼里的索敌系统的所有的基本情况了。

早些时候我做了些模型去模拟敌人的索敌情况。
但后来我拆包时就猜想,那个敌对状态是“玩家自身”发出的。
因为玩家自己吃个月隐糖,反而让敌人却自己瞎了,这就很玄幻。
还是老规矩,拆包下月隐糖的拆包是有三个这样的效果。

一个是SightSearchEnemyCut=50
一个是unknown=0.5
一个是HearingSearchEnemyCut=0
而其他effect则是这样的,月隐糖是减少50%的视觉索敌、100%的听觉索敌,以及减少玩家50%的警觉值累积。

因为正常来说,哪怕堆了很多隐蔽性buff,玩家在敌人正面位置,足够接近敌人的距离时,敌人也会强制发现玩家。
这里我就有一个猜想:
如果说,我猜想玩家身上有个“圈”,这个圈是让敌人进入后,强制发现玩家。

如果玩家进入敌人的视角范围内,而玩家身上的“圈”并没有和敌人有交集的话。
那就可以解释玩家并没有,进入了敌人视角范围内,敌人的头顶,只会产生黄色的“警觉槽”,累积警觉值。

直到玩家移动到距离足够近的时候,敌人才会强制发现玩家。

也就是我个人认为,SightSearchEnemyCut的系数,应该是控制是让玩家自己的“圈”的大小,而这个圈,是能够让敌人进入“敌对状态”的圈。
当然,要满足这个强制敌对状态,是玩家必须暴露在敌人的索敌范围里的,才能被强制发现的哦!

接着是那个Unknown系数,应该就是决定警觉值的累积,或者称之为“警觉累积系数”。

例如在站立状态下进入小兵的视角范围,3秒就会累积满警觉槽。
如果是带屏息被动下,则是6秒才累积满警觉槽。(因为忍者流秘籍的被动屏息,警觉累积系数也是50%)
同样的站立状态下,带月隐效果是,也是6秒才累积满警觉槽。
而附带屏息+月隐,则是要12秒才累积满警觉槽。(也就是两者关系独立,警觉值累积只有25%)
当然,行动音量的概念,也是一个道理。

忍者流秘籍的被动消音,是消除行动音量50%,也可以理解为“听觉累积系数”是减少至50%。
也就是在敌人背后时,敌人要花一倍的时间去累积警觉值,也就是呆在敌人背后的时间更长。
而月隐糖则是消除行动音量,行动完全消音,玩家在敌人背后时就绝对不会产生警觉值。



目前特殊的情况,就应该是铁炮要塞那里。
这个情况估计和魂一、魂三的银骑士堆,是一样的处理。
因为那些蛇眼族和银骑士一样,距离近的时候,仇恨表达和正常怪物完全一样。

我也不好说,就有几个猜想:
①强制仇恨的机关,也就是当玩家进入这个领域就会强制触发仇恨。
(类似魂二那种,玩家走到某个地点时,在远处待机的敌人就会自主发动“敌对状态”上来砍你。)
②这类敌人比较特殊,在一定距离外的,警觉值获得会更高。
(因为以前玩过个mod,银骑士的仇恨发现距离远到离谱,在我刚刚到后院的平台就拿弓射我……但又可能是我的“圈”,变大了……)

当然,个人更偏向前者的……
(毕竟魂二就有的机关触发机制,按照做游戏要偷懒摸鱼的思路,直接搬过来用,岂不快哉!)

封面头图:Trashcan Shinobi By enlan (deviantart)