【搬运整理】罗马王的诞生!有关罗马玩法AI的探索

: Duivel  2021-04-05 19:26:52  历史记录 阅读数 10835

本文首发NGA,因为我对那边的编辑比较熟悉,这边不太会用折叠功能,所以就不折叠了,多个平台可能无法全部兼顾请见谅

NGA地址

本来以为只是简单的搬运,但是在整理的时候发现了很多问题,在与原搬运大佬(巴哈的帖子也是搬运的油管视频)讨论(单方面的请教)过后整理出来这个帖子,可能会持续更新,欢迎大家讨论!

本帖搬运自巴哈姆特的系列攻略贴,原贴地址1原帖地址2原帖地址3(需要那啥你懂得)

先放出目前的结论,讲解过程放在最后

AI在罗马的攻击规则有以下几种:

首先是两个锁定首要攻击目标的机制

1.距离自己最近的目标

1、大部分射手系及远程角色适用于这个规则,为了方便除必要区分外,以下统称为远程角色

2、远程角色会优先攻击距离自己最近的敌人,但真实距离与玩家感觉有偏差,真实距离如何判断请结合结论图或者验证过程来了解

3、结论大多适用于初始位置判断,随着AI不断移动大部分远程角色依旧会去攻击距离自己最近的敌人,但不一定是你最开始想要攻击的那个,为达到目的需要多次调整初始位置

4、若两个目标距离相同,则由对方队伍顺序决定优先级,从队长位开始递减

5、小Tips:罗马预选对手界面最左带王冠的是队长,进入战斗画面后最靠近边框(场外)的是队长,敌我通用

6、大部分射手系角色适用于这个规则但有些特例,他们是:

团长伊娃、小红帽、烧瓶、棒球

7、有些角色虽然不是射手系角色但依旧适用于这个规则,他们是:

(1)属于战士系但是适用的角色:

 摩托、未来骑士(装备弓箭和枪时)、主角骑士(装备弓箭和枪时)、土拳、伞妹、火刀

这里也有待测试,感觉暗狼和土魔像也有可能适用这个规则,但原作者不应该没有测试过,欢迎大佬们补充

(2)属于辅助系但是适用的角色:

土奶、光弓、吸血鬼、暗萝莉(不包括其召唤兽)

8、这点是原帖中没有提到的我的猜测,远程角色在锁定目标后(包括后文提到的目标重置)会按照一定运动规律保持最远距离输出,这就造成了很多远程角色的迷之走位,需要配合第三条目标重置理解,欢迎讨论

9、结论同样适用于卡马逊园区和轨道天梯等,为了方便,以下均以罗马代称

整理后为方便记忆如下图所示


2.距离最近且“还未被锁定”的目标

1、除特例外的近战角色适用这个规则,包括暗萝莉的召唤兽

2、真实距离距离判断与远程角色规则相同

3、由于机制需要判断“还未被锁定”,所以需要明确锁定顺序,与远程判定一样,由队伍顺序决定,优先级从队长位开始递减,敌我通用

4、坦克系角色锁定目标后动作优先级一定是对锁定目标施放嘲讽技能,但会被各种情况所干扰

5、坦克系角色自带的嘲讽技能入场后无CD(有船长的朋友可能会体会到入场后瞬间的超远距离锚击)

6、坦克系角色的嘲讽,会强制目标在下一次重置目标后无视原本规则攻击坦克自己,直到再完成一次目标重置(我尽可能的表达严谨且通顺如果实在看不懂只能看讲解了)

7、当角色(多数是近战角色特别是坦克角色)在攻击或向首要目标施放技能的路上被其他非目标角色阻碍,会试图绕开目标同时普通攻击在近战攻击范围内的敌人,但不会改变锁定的目标。暂不确定如果此时完成一套普攻动作后会不会重置目标(得卡的死死的才能实现),欢迎讨论


其次是本文重点,也是解释公主为啥可以无情跳后排的机制

3. 达成一定条件后会目标重置

1、所有角色均会在一定条件下重置目标

2、除特例外目标重置所需的一般条件包括(满足任意即可触发重置):

1)施放完技能

2)弹药填装完毕

3)完成一套普攻动作

4)进入眩晕状态后(原文用的stunned,猜测是指异常状态)

3、若角色没有普攻变化(无法完成一套普攻动作),也不需要装填弹药其对应条件变为:

1)土奶:每3次攻击

2)土弓:每10次攻击

3)两位功夫大师:每15次攻击

4、除此之外的特例包括:

1)摩托、伞妹、火刀会在攻击前重置目标(原文用的before attack

2)土花只有在施放技能后或者被眩晕(stunned)后

5、满足目标重置条件后会按照前文所述的前两种适用于该角色的规则重新选择目标

先放一下原图

这里是第二个我没有完全弄清楚的地方,首先重置目标的条件之一:施放完技能,众所周知GT的技能至少有三种,坦克专属的嘲讽类技能,武器技能和连锁技能。原文为了解释公主为何可以跳后排的问题一直举的是坦克职业嘲讽类技能的例子,没有武器技能和连锁技能的样本,这一点欢迎大佬们补充

其次是眩晕状态(stunned)指的是否是三种异常状态,我登陆了国际服客户端语言切换成英文,发现英文客户端异常状态用的词是AilmentsDowned,Airborne,Injured三个词分别对应三种异常状态,消沉,浮空和重伤,截止至目前,还未在英文客户端发现Stunned一词,有待继续考证。

最后是攻击前重置目标的条件(before attack),摩托带专因为有远程和近战两种攻击模式,前文也说过远程模式下会采用“距离自己最近的目标”规则去锁定第一个攻击的目标,猜想当距离缩短到近战距离后会触发目标重置的条件,有待测试,欢迎讨论。

同样伞妹、火刀在攻击前重置目标应如何理解?伞妹可能好理解些,毕竟戳戳戳的机制会经常被打断,需要不断的重新锁定目标,火刀完全没思路,我没专没怎么上场过,欢迎大佬们一起讨论。


4.除了攻击规则外还有辅助(加血、buff)规则,会对友方目标产生锁定,从而影响对方近战角色的攻击目标,本部分待补充,目前确定可以产生影响的角色是皇女


5.其他还未发现的规则


6.GTAI机制可以理解为不撞南墙不回头,在预设好的第一条指令执行完成之前,外界(或自身)所施加的干扰因素如嘲讽等,不会影响本次指令的执行,均会以施加的时间顺序排列在指令队列的队尾,然后依次执行(个人结论,欢迎讨论)

 

远程角色规则讲解(我默认已经知晓结论所以部分结论的说明不再重复)

巴哈帖子也是搬运,原作大神油管链接地址(需要那啥你懂得)

罗马的AI有时候很难懂,但是油管的这位玩家发现了可以用一些简单的数学公式来算出角色会最先攻击哪个位置的人物

 

你可能有跟下面图片一样,看到上面的火爪无人看防,想直接拿暗炮把他带走的经历


但现实却是如此:暗炮会先去攻击公主


 

又或者,你想让暗盾去抗土花的伤害,暗刀抗土弓


 

但现实却是土花和土弓都跑去打暗刀了


 

为什么会这样呢?

 

在这里有一个一般的认知:远程攻击角色应该优先攻击距离自己最近的敌人

其实这并没有错,但角色之间的真实距离与玩家的感觉存在一定的偏差

原作者称之为Distance Trap”距离陷阱

 

继续用之前的例子

这个是我们在摆放角色时“认为”的距离,我们误以为暗盾是离土花较近的


 

而实际上则是暗刀距离更近一些


 

那要如何测算真实距离呢?

首先要知道罗马)(包括卡马逊和轨道天梯)地图的大小

假设设每个格子为1单位长度×1单位长度的正方形,人物站位取其中心点


 

剩下中间未知部分通过一个很精妙的办法测算出总地图的大小,其实可以通过数地板格数达到同样的结果


 

即这个效果


 

根据勾股定理可得位于角落的角色对于对面角色的真实距离


 

我们回到之前的例子,远程角色与对方角色的真实距离一目了然,也可以解释为何会有之前的结果


 

但是每场都要算就太麻烦了也不现实

所以这里有一个一般性结论:远程攻击角色会先攻击比较前排的那一位(有一个例外)

例外:


 

那么当两个角色距离一样的情况下,会优先攻击哪一个呢?

是由对方队伍的角色顺序决定

右上角最右边的是队长,优先顺序也是从右至左,即公主→暗盾→土花→骑士

在这种情况下,暗炮会优先锁定公主为目标

 

也就是我之前放出的结论图


 

近战角色、目标重置以及嘲讽规则讲解(本来想拆开但是这三部分联系比较紧密并且原帖是逐步更新的,所以各位看官辛苦了!同样点开讲解的我默认已经知晓结论所以部分结论的说明不再重复)

原作大神的视频链接1视频链接2(需要什么你懂的)

近战角色会使用距离最近且“还未被锁定”的目标做为首要攻击目标

先需要了解一下选择的先后顺序

决定因素如下图所示,由角色所在队伍里的顺序决定

我方是从左到右的顺序,所以是暗炮→狐狸→船长→暗盾


 

在这个例子里,因为公主已经被暗炮锁定,所以船长会去攻击还没有被锁定的暗盾


 

我们来验证一下刚刚讲解的内容

我方的锁定顺序和锁定目标如下

我方暗炮选择最近的目标,距离相同按判定顺序锁定敌方公主

我方狐狸选择最近的目标,锁定敌方公主

我方船长选择最近且没有被锁定的目标,锁定敌方暗盾

我方暗盾选择最近且没有被锁定的目标,锁定敌方未来骑士


 

敌方的锁定顺序和锁定目标如下

敌方公主选择最近且没有被锁定的目标,锁定我方暗盾

敌方暗盾选择最近且没有被锁定的目标,锁定我方狐狸

敌方土花选择最近的目标,锁定我方暗盾

敌方未来其实选择最近的目标,锁定我方暗盾


 

实际情况与预测相同(gif图不知道能不能动)


 

观察仔细的同学可能会发现两点有趣的地方:

第一是敌方暗盾因为目标是我方狐狸,但是被我方船长卡住身位被迫“提前”施放了嘲讽,在施放嘲讽之前一直被动挨打没有平砍,但由于素材原因看不到暗盾后续动作,只能看到疑似船长攻击暗盾的紫色反伤数字,如果能够完整呈现出暗盾下一步行动,甚至敌方公主在吃到我方暗盾嘲讽后的行动等等,能够更好地分析验证结论

第二是敌方公主在施放完嘲讽之后转换目标去打我方船长了

其实很可惜这段战斗原视频没有播放完整,不然可以完美的做为嘲讽机制的分析视频。同时通过观察战斗过程,还能发现一个规则,那就是坦克系角色锁定目标后动作优先级一定是对锁定目标施放嘲讽技能,但会被各种情况所干扰,比如这局对战中敌方暗盾被我方船长先嘲讽后卡位,一直够不着首要攻击目标。这里需要注意的是,敌方暗盾最终还是施放出来嘲讽了,但是没有嘲讽到他想要嘲讽的狐狸,这一点在我知道了嘲讽机制之后也没有明白,搬运给出的解释是因为超时,欢迎大佬们讨论

 

我们再来看一个例子

这里非常重要的就是,敌方暗盾由于队伍顺序排在最后,原先应当可以选择的目标已经被优先级更高的水剑和狐狸锁定了,所以他锁定的是后排火奶


 

这是这局对局的动图

非常值得注意的地方是

第一:因为敌方暗盾要去嘲讽我方火奶,所以没有嘲讽到直冲地方后排狐狸的我方暗刀

第二:敌方暗盾在成功施放嘲讽后,因为某种原因回头去攻击正在被水剑和凤凰围殴的我方暗盾,非常有趣的是他在去嘲讽我方火奶的路上已经先吃到了我方暗盾施放的嘲讽(头上有发怒标记意为受到嘲讽效果影响),AI仍然先向我方火奶施放了嘲讽再回头攻击我方暗盾

 

为什么会出现这种角色反复横跳攻击的复杂情况呢,就是接下来需要讲解的目标重置

我们回到上一个例子为什么敌方公主打到一半回去打我方船长


 

敌方公主锁定目标为我方暗盾,在我方暗盾处于技能范围内时,施放了嘲讽,达成了目标重置的条件


 

所以公主的AI在目标重置时回到最基本的目标选择方式:最近且未被锁定的目标

因为我方暗盾和狐狸都已经被对方锁定了,所以公主的新目标是我方船长

 

掌握了以上内容,就可以通过初步设计AI路线来做到跳后排和防止对面跳后排,但是实际情况非常的复杂

 

我们先来看一下如何防止对面跳后排偷袭

首先判断对方的攻击目标

注意这里火奶用的是类似近战的锁定方式,她虽然是辅助但不适用远程角色规则(哪些辅助系但适用远程规则的前文有提到)

 

而我们知道对方公主会通过施放嘲讽来达成目标重置,所以只需要让敌方公主的下一个目标是前排角色,就能有效的防止切后排了


 

接下来是验证(吐槽:对面船长还不是来切暗炮了……)


这段话原作及搬运中均没有,是我个人分析,欢迎大佬们一起讨论

  首先可能需要解释一下为什么敌方公主在重置目标后,攻击的目标依旧是我方船长。其实很好懂,在公主对船长进行嘲讽之后,目标重置重新判定,我方船长和暗炮均未被其他单位锁定,所以敌方公主在重置目标后继续选择距离最近且未被锁定的船长为攻击目标。

这里有一个点值得关注,我们不难观察到敌方船长的嘲讽技能出手是在敌方公主之前的,但由于船长嘲讽技能的动画较长,实际效果反而是敌方公主后施放的嘲讽先作用到了我方公主身上,敌方船长的锚击才姗姗来迟。如果船长是另外一个坦克系角色施放动画和时机都快于敌方公主,此时敌方水狐狸是一直锁定我方公主的,那么所造成的结果会不会是公主在嘲讽后目标重置直接跳后排切我方暗炮呢?而在这一系列AI动作时,嘲讽之间的互相作用又起到了什么作用呢?这些问题后文介绍嘲讽机制的时候会给予解答。

  动图中敌方船长的运动轨迹十分的有趣,在对我方公主施放完成嘲讽后目标重置锁定我方暗炮,然后吃到了我方公主的嘲讽,此时敌方船长没有原地攻击我方公主而是近距离平砍同时保持移动向我方暗炮前进,这里就引出了我的猜想:当角色(多数是近战角色特别是坦克角色)在攻击或向首要目标施放技能的路上被其他非目标角色阻碍,会试图绕开目标同时普通攻击在近战攻击范围内的敌人,但不会改变锁定的目标。暂不确定如果此时完成一套普攻动作后会不会重置目标(得卡的死死的才能实现),欢迎讨论。

  动图中的我方公主其实揭示了嘲讽的秘密,开局锁定敌方船长,在向敌方船长施放嘲讽的路上吃到了对方公主的嘲讽,此时我放公主没有直接攻击敌方公主而是等敌方船长移动至技能范围内施放嘲讽再去攻击的敌方公主,并且在这期间吃到了敌方船长的嘲讽,这个放在后面细讲,同时不得不吐槽如果这一局对战能够放完整几乎能揭示嘲讽的全部秘密,特别可惜,好在原作大神有了三更,专门介绍了嘲讽。

  同时可能是因为连天写稿让我的脑子有点不太好用了,有一个问题困扰我特别久,一直转不过来,就是这个我方船长为何会锁定敌方水狐狸,不应该选择距离最近且没有被锁定的火奶嘛?能帮我解惑的大佬恳请留下宝贵的意见!先谢过了!

 

先放过嘲讽,我们来看下如何放我方公主去咬对面后排

一样也是先判断我方的攻击目标


预测我方公主会在中途施放嘲讽而满足重置条件从而锁定下一个目标地方土花


 

战斗对局如下,公主yyds


依旧是补充内容,这里除了预判了我方公主施放嘲讽后的目标,还对敌方暗盾的目标进行了设计,让暗盾锁定我方狐狸造成超远距离位移使得敌方暗盾的嘲讽施放较晚,没有嘲讽到我方重置目标后的公主,造成公主持续对敌方后排连续的输出

 

最后是嘲讽机制!让我夜不能寐的重头戏来了

原帖搬运了三个例子,我改动较大,会尽量在第一个例子中把机制说明白然后再进行验证

需要说明两个重点,原帖中没有提到,非常容易忽略但是却非常的重要且基础

1、坦克系角色锁定目标后动作优先级一定是对锁定目标施放嘲讽技能,但会被各种情况所干扰

2、坦克系角色自带的嘲讽技能入场后无CD(有船长的朋友可能会体会到入场后瞬间的超远距离锚击)

这两条是解释坦克系角色AI行为的基础,如果对这两点有疑问的欢迎指正,下面进入正题

我们先来看下第一个例子的战斗过程,请重点关注我方公主和敌方暗盾


 

可以看到我们的公主不仅成功跳到敌方土花身上,还把敌方的暗盾一起拉了过来


 

随后敌方的公主也掉头攻击我方公主,导致敌方两个输出位无人保护暴露在我方火力之下


 

下面开始分析达成这一效果的过程

首先回到最基本的距离计算和目标选择

我方:

这里判断公主在第一次目标重置后,即第一次施放嘲讽后,会去攻击没有被锁定的土花

 

敌方:

这里判断敌方公主在第一次目标重置后,即第一次施放嘲讽后,会去攻击没有被锁定的船长

 

接下来是达成这一效果的重点

敌方暗盾与首要锁定目标的距离大于我方公主与首要锁定目标的距离,双方公主互相锁定


 

所以我方公主会比对方暗盾更早施放嘲讽,并且双方公主同时施放嘲讽

我方的嘲讽,成功嘲讽到了敌方公主和暗盾(图没截到,头上有生气的标记)

 

这时再观察敌方暗盾的走向,在吃到我方公主的嘲讽后,他没有立即扭头攻击我方公主,而是继续前进,当我方狐狸也就是他首要攻击目标出现在嘲讽范围内,成功施放嘲讽,重置目标。根据之前所讲,此时距离暗盾最近且未被锁定的应当还是我方狐狸,但是暗盾却回头攻击我方公主,这就是嘲讽的力量。

也就是说嘲讽只会影响目标重置后的目标锁定,不会打断当前指令

 

我们再来复盘一下整个对局所有包含嘲讽因素对目标重置的影响来验证一下结论

首先最先完成第一次目标重置的是双方公主


完成目标重置后我方公主冲向了敌方土花,敌方公主冲向了我方船长

 

可能这里会有疑问,为什么双方同时互相嘲讽了之后重置目标是攻击其他人而不是互相攻击呢?

我们把AI的行为以及改变AI的行为因素想象成一个一个排队执行的动作,施放技能的动作一定在受到技能效果之前,所以当双方公主同时施放嘲讽达成目标重置条件后会直接锁定下一个目标,再受到嘲讽技能的影响,甚至可以把施放技能和施放技能后的目标重置看成一个动作。

所以我方公主的动作队列可以表示为:

这就解释了为何双方公主在施放完嘲讽后先去攻击其他目标,再互相攻击

 

这里又会有疑问,为什么是敌方公主先跑过来找我方公主,而不是同时呢?

因为距离

注意一下双方公主与各自新目标的距离,我方船长在倒数第二排,敌方土花在最后一排,所以敌方公主会先到达我方船长处开始普攻,完成一套普攻达成目标重置的时间也会早于我方公主,所以会先向我方公主靠拢,从而造成了所有前排扎堆,敌方后排全部暴露的局面

 

至此我们已经掌握了目前已知的所有AI规则,来熟悉一下运用(原作第二个例子有些混乱并且牵扯到移动机制所以先跳过,以后等理论完善了再补充)

 

这里例子可以在面对单T队伍时候作为摆放参考

首先依旧是判断双方的首要攻击目标

这里标记的船长是一个诱饵,用来吸引对方公主的嘲讽,同时把暗盾放后排一些来避开对面公主的嘲讽范围

 

达到预计效果


目标暗狼的我方暗盾施放嘲讽,成功嘲讽到敌方公主,保护了我方暗炮


敌方公主在完成一套普攻动作后,重置目标,受嘲讽影响去攻击我方暗盾

从而保护了后排,也把对面前面拉到较远的位置,安心输出对方后排

 

至此,讲解部分全部结束,撒花!

 

看完了结论甚至讲解还有我个人的一些猜想,相必最想知道的就是如何直接有效地实战应用吧!

虽然已经有了一些初步想法,但恕个人实力和精力有限,光是搬运整理加理解这篇文章就花了假期几乎所有的时间,其他几个攻略计划直接搁浅,所以暂时还没有思考出一套成熟且便捷可用的运用方式。

并且对于AI的探索还在继续,很多没有回答的问题等待着答案。

就目前的结论去确定角色之间前几步的行为来增加对局成功率的确是可行的。

所以在此全当抛砖引玉,希望有大佬出现带着我们化身为真正的罗马王!

本篇文章因为各种原因耗时比较久,全文编写时间跨度非常大,所以可能上下文因为认知变化出现各种BUG,请原谅与指正!

最后感谢各位的观看,很高兴能与你们在这里相遇,本帖可能在多个平台发布,我是Duivel,一个因一时冲动入了攻略坑的普通玩家,不好说还有没有下一篇搬运,但借此机会祝愿GT越来越好,玩家越来越活跃!

 

(0)
创建于2021-04-05 18:53:14 举报帖子

用户评价

  • 选择关注的人

贡献值

声望值

粉丝

用户评价

  • 选择关注的人
我哪里做的不好,你可以告诉我么?

为作者打赏K币

选择赞助方式

请使用微信扫一扫