【碧蓝档案JJC】了解游戏内的AI是如何自动选择技能施放目标的
PC本文由b站@dcfhft搬运并翻译自Discord@Midokuni《Centroids and Aiming to Learn How the AI Aims》
(原文链接:https://docs.google.com/document/d/1P7ZsJoMn2YKT-HPZPGMBT262fUD9WN99-2Doasl_Xuo/edit)
为便于读者理解和参考,内容有经过部分增添、删改。经同意后转载收录至wiki词条。
你好,我是Midokuni,我完成了这份长期待定的文件,以记录我关于碧蓝档案中的AI是如何确定技能目标的研究成果。特别感谢ItJustWorks(IJW)和(旧)Blue Archive社区的国际服PVP频道的伙伴们,他们帮我收集了用于证明的数据。
引言
长时间以来,如何确定后排学生基础技能(NS)和Auto状态下EX技能所选择的施放位置一直是个难题。它主要在PVP中困扰着玩家,大家想知道哪个角色会优先被对面的后排锁定。我希望本文至少可以介绍一种方法来解释为什么你站在其他人后面的狗盾会被一击倒地,也许还能让你进一步布置阵容以利用这一点。
虽然理论主要适用于PVP,但游戏内的“中心”概念在PVE下也是有意义的,这将在本文后面讨论。
前置知识
· 游戏相关
您应该已经了解各角色的基本知识,本文不旨在引导或启示您如何使用或告诉您某个学生或技能是什么样子,不分析角色行为和局内走位,也不是告诉您什么是技能序列槽或它如何工作的指南。
· 数学相关
希望您还记得所学过的平面直角坐标系知识,我的发现与它密切相关,因此您至少应该了解:
1. 如何绘制点
2. 如何计算两点之间的距离
3. 如何找到平均值
注意:从技术上讲,游戏应该是一个三维笛卡尔空间,但本文我们只需要研究二维平面。
· Desmos(一款函数图像生成器)
我使用Desmos来帮助进行函数的可视化。如果您想自己测试,至少应该了解有关Desmos的基础知识。
准备工作
我们需要注意的一件重要事情是,游戏局内的场地是三维的,从玩家的视角看,角色所在的平面是倾斜的且被扭曲比例以和地面匹配,本文假设角色所在的平面是被平放在地面上的,且进行了适当的变换以匹配场地。
· 作图
由于游戏内的空间是量化的,我在平面上使用的比例是1坐标单位=100游戏内单位(m)(即坐标上的2.5等于游戏内的250)
为了尽可能准确,将一个坐标平面映射到场地上需要至少3个已知位置的非共线点(3个不共线的点确定一个平面),这样的点理想情况下来自可以被扒取到数据的实体,我个人更喜欢使用障碍物或掩体,因为它们不太可能四处移动。但只要你能注意到,使用出生点作为基准也是可以的。为了这样做,必须确定点的位置,而且因为“摄像机”的角度(可以认为是玩家观察并指挥学生战斗的视角)会动态变化,所以没有某个平面适应所有情况下的定位。
· 索敌
一般来说学生会瞄准距离她们最近的目标,这个距离在坐标平面上衡量。
· 质心
这个“中心”作为一组点的中心,和数学意义上的几何中心不同,它只是类似
· 寻找“中心”
一个队伍的“中心”计算公式如下:
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_165/h_32/829/43637/2024/6/12/90255.png)
X和Y指的是坐标平面上当前在场的队伍成员的X、Y坐标,对于玩家一方来说,这只包括存活的学生,不包括战术支援载具(T.S.)或炮台等召唤物
“中心”的应用
首先当你只轻点EX技能牌将其拿起而没有进行任何指向操作(使用模拟器可以做到)时,技能中心会自动落在队伍的“中心”处,下面的两张截图展示了小玉的EX起初落在队伍的“中心”上,然后如果有学生被打上直升机,队伍“中心”会被即时重新计算。
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1142/h_552/829/43637/2024/6/12/861772.png)
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1130/h_547/829/43637/2024/6/12/409333.png)
“中心”还影响了后排角色EX/NS的施放角度,通过响的EX我们可以很容易地观察到“中心”的轻微变化会影响她迫击炮的发射位置,这也是为什么有时你会看到它从屏幕下面发射出来。
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1712/h_641/829/43637/2024/6/12/27645.png)
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1712/h_632/829/43637/2024/6/12/903018.png)
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_531/h_250/829/43637/2024/6/12/873122.gif)
响的EX以己方队伍“中心”为原点,释放方向会围绕它旋转(敌方队伍“中心”不造成影响)
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_686/h_300/829/43637/2024/6/12/353731.gif)
水美游、萌绘这类矩形EX的释放方向则垂直于己方队伍“中心”和敌方队伍“中心”的连线,和这条连线的垂线平行
最后,这是本文的主要关注点——“中心”决定了AI将瞄准谁,假设没有与瞄准行为相关的特殊条件造成影响(如响的NS会锁定生命值百分比最低的敌方单位,斯大萝的NS会集火攻击力最高的敌方单位),下面的截图显示了尽管艾米看起来更靠近对面狗盾,但对面响的EX技能依然瞄准了己方狗盾,因为己方狗盾距离敌方“中心”只有3.68个单位,而艾米距离敌方“中心”有4.95个单位
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1153/h_642/829/43637/2024/6/12/612865.png)
同理,下图尽管此时鹤城被优香、玛丽娜、春月三人集火,但瞬的位置很靠后导致优香是更靠近对面“中心”的单位,因此水白子的EX打到了优香上面,并不是由鹤城承受后排伤害
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1004/h_424/829/43637/2024/6/12/66897.gif)
接下来将为读者展示如何利用该机制布置一个巧妙的进攻阵容,以JJCS5场地为例:
防守方使用1鹤城防守时,进攻方可以使用4鹤城进行反跑,在保证对面上路有T和己方鹤城对位、己方下路有T和对面鹤城对位的情况下(如战绩图所示,必须达成条件才能成功牵制走位),防守方2、3、4号位均会被鹤城滞留在上路且鹤城优先承伤,进攻方1、2、3号位打一个鹤城,己方比对方更快地击杀鹤城就可以反包对面造成优势。1鹤城进攻防守4鹤城同理
但4鹤城打1鹤城和1鹤城打4鹤城有一点不同,己方C在下路对方水花在上路时,C会被水花EX喷到(己方C在上路对方水花在下路不会被喷,不需要利用护盾),为了增强C的生存,就可以利用“中心”机制控制玛丽、枫这类护盾后排稳定挂给伊织、小绿等脆皮角色来吃下一次水花EX。当带上瞬的时候(下路瞬),瞬NS开局罚站会使自己停在队伍最后面,另外鹤城在上路,T在下路,剩下的那个C就必定处在更靠近己方队伍“中心”的位置,如下图玛丽的护盾成功挂给了伊织(前提是一动,此时全员满血,如果队内出现血量百分比差异,会自动挂给血量百分比最低的对象,两种情况下的奶妈、护盾后排施放逻辑不同)
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_988/h_474/829/43637/2024/6/12/435046.gif)
4鹤城打1鹤城
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1318/h_483/829/43637/2024/6/12/842501.png)
1鹤城打4鹤城
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1312/h_582/829/43637/2024/6/12/321191.png)
实战视频https://youtu.be/DYEnqz5L24Y 1:31起
分析
根据游戏机制对于“中心”的几个应用,可以注意到这与前排的技能施放非常相似,前排的技能范围以自身为中心,技能方向从自身出发,并且瞄准最接近自身的目标。你可以据此将“中心”视为后排学生存在的位置——至少在理论上等效。
· 索敌的视野和范围
接下来我们讨论前排角色、后排角色、召唤物、敌方、坦克等等在场地内是如何决定其攻击目标的,简单的答案如上所述:最接近她/它们的,但这实际就是问题的复杂性所在。
首先,所有实体都有一个视野范围,这与射程范围不同。视野是学生能够进行索敌的范围,而射程是学生能够进行攻击的范围。截至撰写本文时的游戏机制是:我们所有的学生都有800(m)的视野,而非学生的敌方单位则视野各不相同。将此值和学生的射程进行比较,你可以对这个距离有大致的把握。有些场景下的地图具有视野修正,会改变角色的视野数值,但苦于没有足够的这方面数据进行分析,我们将不讨论这种情况。
(可以发现某些角色的射程数值超过了800,但因为视野数值只有800,所以那些角色的超长射程是无法得到完全利用的)
基于这些前提,我们现在可以讨论它们的实际应用了。一个角色在索敌前无法进行任何攻击——无论是平A、EX还是NS,她们只有在目标进入视野后才能索敌它,具体来说是锁定在向前跑动的过程中第一个出现在视野内的目标。索敌后角色会尝试移动到一个“合适的位置”,在这个位置上她们会开始攻击目标,同时保持目标在射程内,不论自己是否在掩体内。角色通常会选择靠近射程边缘的位置开始攻击。
· 目标切换
目标切换是一个实体更换索敌目标的动作,实体只会将索敌目标切换到在其射程内的敌人。
· 射击线
“射击线”即学生和目标之间的子弹路径,游戏内的一些障碍物会阻挡这个路径,如果学生无法穿过障碍进行平A攻击,她们就会移动到一个更“合适”的位置。障碍物并非掩体,而是如S3赛季的储物柜、S4赛季的切里诺雕像这样的场地效果。
· 视野共享
目前有一个假设,即视野对于第一个目标是共享的,全队将对其中任意一人最先视野接触到的目标进行“软锁定”,其他人在自己看到目标后才会进行索敌。这意味着在距离上有三个级别的锁定:共享视野、自我视野、射程。这一点在使用鹤城或女仆的跑速阵容中有很明显的体现,如下图鹤城鹤城先跑到下路后转向上路,造成全队路径改变,就是“软锁定”这一机制导致的,因为对面位置最靠前的鹤城走了上路。
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1148/h_420/829/43637/2024/6/12/738734.gif)
· 技能指向
现在我们将研究本文最深入的主题,看看不同角色在Auto状态下EX技能施放的区别。
我将那些EX技能可以覆盖一定区域的学生称为区域学生,这类学生将EX技能施放到和她们最相关的位置上(如睦月是最靠近自身的敌人,奶妈是血量最低的对象,小玉是最靠近队伍“中心”的对象),这一点很简单直观。
另一些专门锁定实体的学生,无论一个还是多个,我将其称为目标学生,包括水hina、小绿、亚子、温泉千夏等。在正常情况下他们和区域学生一样只会在其有效范围内选择合适的目标。伊织、阿鲁、柚子、春奈(EX溅射)这类角色可能有些不同,EX技能可以造成范围伤害,但请注意她们不是真正的区域学生,因为技能施放时仍要先锁定实体,索敌逻辑是存在不同的。
有了这些作为基础,我们现在来看一个本游最为特殊的案例——水hina。在JJCS5赛季使用1号位掩体T、2号位水hina进攻时,如果水hina的牌序处在首位,该张技能牌会被跳过,而水hina无法发动EX技能。
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_1687/h_574/829/43637/2024/6/12/872428.png)
如果只是简单的发动EX技能其他什么也不做,那么对于所有学生都会有一个默认的攻击朝向,对于hina和水hina来说,是发动技能时所面向的方向,但二者一个是区域学生一个是目标学生。水hina将朝着她所面向的方向激活EX,而她并非区域学生,不会调整AOE的朝向从而自动瞄准射程范围内最近的敌人,这意味着如果她面向错误的方向(没有敌人),需要锁定实体的EX技能将会被跳过。JJCS5的掩体恰好触发了这个条件,1号位为掩体T时的2号位750射程非掩体C在落位前会朝向垂直于场地中线的右侧,导致了跳牌。
小绿和春奈则不会发生这样的情况,她们的EX有效范围是以射程为半径的圆,所以无论朝向何处,都会锁定相同的目标。
· 掩体释放朝向
和水美游、萌绘的EX同理,掩体垂直于己方队伍“中心”和敌方队伍“中心”的连线,和其垂线平行
![](http://cdnimg-v2.gamekee.com/wiki2.0/images/w_628/h_370/829/43637/2024/6/12/902448.gif)
附录
本节我会提供在Desmos上与Seventh (HerztInYou#8459)共同制作的将各类场地量化后的函数图像:
· JJCS2地图(https://www.desmos.com/calculator/wfdobnoj62)
若要将对象从“中心”计算中排除,请将点挪到 y=5 上方
· JJCS3地图(https://www.desmos.com/calculator/1vru0yczji)
若要将对象从“中心”计算中排除,请将点挪到 y=5 上方
包含了响EX形态的图像
展示了“中心”位置如何影响响的攻击角度
· 寿司人总力战的野外地形场地(https://www.desmos.com/calculator/gdcnyldjvi)
包含了响和睦月EX形态的图像
展示了“中心”位置如何影响响的攻击角度
J· JCS4地图(https://www.desmos.com/calculator/p7dcvivdbl)
包含了响EX形态的图像
· JJCS5地图(https://www.desmos.com/calculator/cot3bbcb9i)
· JJCS6地图 待办事项
水hina的相关研究视频:
· ピスタチオ's Youtube - 关于水hina的EX在S5场地会被跳过的现象
(https://www.youtube.com/watch?v=mX3l10tlgx8)
· ミドクニ's Youtube - 测试750射程非掩体C的EX技能在一动下的触发情况
(https://youtu.be/f4kbUb6xO_o)
· ミドクニ's Youtube - 角色朝向对EX技能施放影响的验证
(https://youtu.be/ns1w-Bidn-k)
评论(0)