AI攻击目标初步探究

2021/02/28270 浏览综合
应该很多人凭借经验会得出,npc敌人攻击目标的优先级是根据目标血量进行攻击的。但其实不然。
1:首先优先证明一下血量不是唯一变量:60的血量差,敌人却优先攻击血量高的。完全可以证明敌人并不是一味的选择血量低的进行攻击
2:那么除了血量还剩什么因素的影响?上个视频中应该就很容易猜出来了,防御。屠骑181血却拥有146的防御,而火德240血防御却是个位数。
上面这个视频狂战146血31防御,火德165血0防御,敌方优先攻击目标依旧为火德,进一步的验证了以上的猜想。
那么,接下来把血量和防御调到只差1的地步:
接下来排除血量因素,把血量调成一样,防御差1:
不出意外的,敌人选择优先攻击防御低的。
基本可以确定敌人攻击优先级由血量和防御主导。敌人优先攻击血量+防御为最少的单位。并且当防御+血量相同的时候,目标选择血量少的一方为攻击目标:
3:出于科研的严谨性,进行了多次实验验证。多次重复操作后,证明了以上的结论属于固定行为,同样的条件下敌方的攻击目标是固定的,并不存在随机变动。但,有趣的事,事情并没有那么简单,验证过程中出现了特例
多次实验验证了上面这个视频中的情况为固定情况,并不存在随机。而且攻击的机制不是血量+防御最少的情况。但经过多次探究,发现其依旧有个特点,就是,当血量+防御接近时,其攻击的目标单位的速度都是最低的,并且该情况仅在游侠身上发生,狂战并不会触发上面情况。
那么,结论就比较明显了,游侠的被动是根据速度差,概率发动连击,而且游侠的技巧有100+,比狂战高一大截。因而目标导向2处:1,攻击目标优先度还跟暴击,命中,偏斜的概率有关,2,攻击目标和自身职业特性有关,不同职业有着不同的优先度。
其实上面的2个结论可以结合起来:就是,ai算法通过计算预测伤害值,比较攻击不同目标的伤害,根据伤害的期望值,再决定优先攻击谁。
这个👆🏻是我目前的结论,暂未发现特例,也希望有别人可以进一步进行测试。在上面的分析讨论中,其实还有些情况没有注明,但我也去探究过并证伪了。就不在上面赘述了,当然,还是欢迎大家进行分析讨论,指出错误之处。
5
1
8