专栏/Arcaea音弧机制/蛇机制研究

Arcaea音弧机制/蛇机制研究

2022年11月13日 06:24--浏览 · --喜欢 · --评论
粉丝:2722文章:6

声明

本文内容皆基于我根据实际现象和测试进行的总结和推理,游戏版本为4.1.3,并不保证百分百正确,也不一定符合实际代码内实现的逻辑,更不保证后续更新不会修改机制导致本文部分内容失效。若您发现本文内容有逻辑错误、自相矛盾或无法解释的现象,都望不吝赐教,在评论区或私信发表您的看法。如果您不想浪费时间看这么长的文章,只是想知道某个现象怎么解释、怎么解决,也可以告诉我,我会考虑加入到蛇谜百解章节里。

本文内容为了严谨,或许会使用一些不是很直观的描述方法,若造成您的阅读困难,我为自己拙劣的语言组织能力向您道歉,如果有一段怎么都看不懂可以直接问我。定义暂时看不懂可以略过,下面有具体分析。都不想看可以直接拖到最后蛇谜百解。


详细机制

一、蛇的定义

    1.1、本文的“蛇”若无特别说明,都是指一段连续的,头尾相接的蛇。

    1.2、一条蛇由若干条单元蛇头尾相接组成,单元蛇只有几种基本形状。

    1.3、作为一条蛇起点的单元蛇,称为起点蛇,其他的称为后续蛇。

    1.4、每条单元蛇会且仅会在第一次被判定到时发出一次按键音效,若不拆包查看谱面文件可通过音效判断单元蛇起点。

二、染色机制

    2.1、触点会被程序染色标记,每种颜色的触点同时最多出现一个,无色触点可以有很多。

    2.2、当一条蛇判定范围内存在一个无色触点时,触点会被染色成该蛇的颜色。

    2.3、若同时存在多个无色触点将要被染色,会按触点的出现顺序先后染色,即先接触到屏幕的触点先染色。

    2.4、若同时存在多条蛇将要对触点染色,会按当前单元蛇的出现顺序先后染色,若当前单元蛇同时出现,则顺序似乎是随机的。

三、判定机制

    3.1、蛇的判定范围内只要存在同色触点,即可成功判定。

    3.2、每条单元蛇可以有多个物量,其中每个物量都有一个判定的时间区间,判定区间内只要成功判定一次,该物量pure,否则该物量lost。

四、物量机制

    4.1、BPM会影响蛇与Hold的判定密度,基准为当前BPM下的8分音符长度,但若BPM>=255则BPM按一半计算。

    4.2、长度为0的单元蛇,物量为0。

    4.3、长度大于0小于4分音符的单元蛇,物量为1。

    4.4、长度大于等于4分音符的单元蛇,物量=长度÷8分音符-1,向下取整。若是后续蛇,则开头追加1额外物量。

    4.5、长度大于等于8分音符的后续蛇第一个物量判定区间只持续前16分。

五、防换手机制

    5.1、当某个颜色的触点离开屏幕时,该颜色进入染色冷却状态,最多持续一秒。

    5.2、当一条蛇结束时,会解除该蛇颜色的染色冷却,若还未进入,则阻止其进入下一次染色冷却。

    5.3、无色触点不能被染色为进入染色冷却的颜色,并且原本为该颜色的蛇无法被任何触点成功判定。

六、红蛇机制

    6.1、当蛇的判定范围内,不存在同色触点但有其他触点时,进入红蛇状态,最多持续一秒。

    6.2、红蛇状态本质上只有视觉效果,和染色冷却经常同时出现但并无机制上的关联,持续时间内该颜色的所有蛇都变成深红色。

    6.3、红蛇范围内出现同色触点后,红蛇状态会立刻中断。

    6.4、颜色未进入染色冷却的红蛇依然可以染色无色触点。

七、蛇相交机制

    7.1、当两条蛇距离过近时,这些蛇在逻辑上失去颜色,并且已染上它们颜色的触点都会失去颜色

    7.2、失去颜色的蛇范围内有任何触点都可成功判定。

    7.3、两条蛇距离拉开后,经过一小段保护时间,蛇恢复颜色,开始重新染色触点。


机制分析和举例

        接下来本文将对每个机制的存在意义和重点细节进行解释和分析。

        首先Arcaea的蛇存在特有的不许松手/换手的机制,因此一般来说我们都会把首尾相接的蛇作为整体来考虑,但有一些机制又和组成蛇的单元蛇息息相关,所以一、蛇的定义里首先要对蛇和单元蛇作出具体定义以便说明。


        二、染色机制是为了让玩家遵循左手蓝蛇、右手粉蛇的基础规则而设定的,否则直接一巴掌糊上去什么蛇都可以解决了,其中最重要的是2.2,它决定了蛇没有头判和尾判。2.3和2.4一般来说并不重要,可以忽略,但在引发某个特定bug时会起到巨大作用。

某个特定bug

        三、判定机制是为了让玩家有更大容错,因为若要求蛇全程都完美划到,那么某些高速大跨度蛇是人类几乎不可能完成的。而不同的蛇判定区间不一样,因此在保留玩家容错时,谱师依然可以写出弓蛇、碎蛇、高架桥等判定极为严格的配置,将宽松/严格的自主选择权交给了谱师。但这也导致了蛇会出现一些判定非常宽松的部分,很多谱面里都有一些可以放置逃课的蛇。并且也给玩家留下了一个漏洞:只要手指不离开屏幕,短时间划不到蛇并不会断连,可以利用这段时间绕圈规避反手。这个可以参考个人心目中Arcaea玩蛇艺术巅峰,三田杯里的Malb7mm的Corruption全程反接手元结尾的解法。这个邪道在qualia [BYD]、dropdead. [PRS]里都可以用到。

高速绕指

        四、物量机制里,BPM要看谱面文件里的数据而不是歌曲下面写的数字,一般来说当前BPM=基础BPM×当前流速÷默认流速,有的谱面包含一些低速段,这部分的当前BPM都是按流速比例变换的。但有一些低速谱面,比如Fallensquare、Altale,都是将基础BPM提高但实际BPM不变实现的,它们的当前BPM就是原本BPM而不会随着流速换算。

        最重要的是4.5这一条:长度大于等于8分音符的后续蛇第一个物量只持续前16分。这类单元蛇可以称为“头部严判蛇”。这个机制的目的在于凸显蛇拐点的判定,要求手指大体上是按着蛇的轨迹移动的,而不是乱糊一气都能全连,而4.4里的额外物量也是为了这条规则服务。因此连续蛇的要点就是严格滑到每一条比较长的后续蛇的起点物量,其他部分尤其是每一段的结尾都可以适当糊弄一下,借用LB的Arcaea整体技巧玩蛇篇的一句话:“由静到动不提早,由动到静不迟到,弓蛇划到每个拐点”,是非常贴切又实用的口诀。

        而长度小于8分的后续蛇一般都处于节奏很快、手移动频率很高的配置里,此时若要求太严则对玩家过于苛刻,因此这种蛇判定都是覆盖整条单元蛇的。而刚好等于8分的情况下,细心的玩家会发现有的判定很严,有的却是摸到就行。这是因为Arcaea代码里是按1ms为单位进行计算的,其中有一些8分蛇谱面里长度比阈值低了1ms,这种情况发生的原因有两种:

        1、8分音符长度不是1ms的整倍数,例如BPM180的谱,8分音符长度为166.67ms,那么8分蛇的起点终点都会进行取整,有的是166ms有的是167ms,此时只有167ms的后续蛇会成为头部严判蛇。

        2、谱师在写连续蛇时也有两种写法,有的是头尾完全相接,有的中间会空1ms。比如8分长度为100ms时三条首尾相接的单元蛇组成的折线蛇存在两种写法:0-100  100-200  200-300,0-99  100-199  200-300。前者后两条单元蛇都是毋庸置疑的“头部严判蛇”,而后者第二条单元蛇长度只有99ms,因此很可以漏掉头部只摸尾巴。具体用哪种写法看谱师心情,谱师想严就严想松就松。严的典型是Valhala:0的弓蛇,只要早一点迟一点就lost,松的典型是Avant Raze,大部分地方甚至可以完全放置,明明它们都同样是BPM200的8分弓蛇。而非直线的8分蛇,尤其是两条弧线蛇构成的小半圆,谱师通常都不会好心放你一马,因此必须严格摸到弧线顶点,典型例子就是Grievious Lady里纵连段的蛇。特别要注意的是即使是宽松写法,最后一条单元蛇长度也是足够的,通常都是头部严判蛇,因此Avant Raze前半段扭扭蛇如果放置逃课,最后收尾的单元蛇一定要伸过去摸。

        而16分弓蛇则都是看似很严,其实比较宽松,只要按节奏划到,略早略迟问题都不大。

        起点蛇通常都比较宽松,1物量起点蛇一般摸到头和尾都可以轻松判定,参照Lapis开头放置蛇、Glow尾段类色号配置的放置蛇。但太长的比如4分蛇就不行,参考堕楽の園中间段,至少要摸到中间,因为判定区间没那么宽。2物量的两段折线蛇全都可以在拐点放置,参照GIMME DA BLOODTestify [FTR]1:25、Pentiment [FTR]1:08、Löschen1:15和2:15、2:08的相关逃课手法。

刀削面蛇放置邪道

        五、防换手机制顾名思义,是为了防止玩家玩蛇的时候换手和松手。一旦玩蛇时松手造成染色冷却,那么短时间屏幕上没有该颜色触点又不能染色,蛇当然必掉无疑了。染色冷却的持续时间和当前BPM有关,应该也等于红蛇持续时间,具体感觉不重要就没测。其中5.2的存在意义是防止染色冷却串蛇:若有两条间隔很短的同色蛇,第一条蛇结束时松手造成了染色冷却,有可能会导致第二条蛇无法判定,因此每次蛇结束时都要清一次染色冷却让下一条蛇可以正常染色。虽然这个写法很聪明,但和2.2组合起来依然造成了一个严重的漏洞,即换手蛇魔法,这里不再赘述。并且它和下面会提到的蛇相交机制组合又造成另一个恶性bug,这里暂时按下不表。另外由于染色冷却最多只有一秒,因此对于极为稀疏的蛇,换手红蛇了依然可以判定上,比如SUPERNOVA中间段的超慢反手蛇。结尾那段则是由于前面有碎蛇,属于换手蛇魔法,并不会红蛇。


        六、红蛇机制其实只是提醒玩家蛇接错了,玩家红蛇时断连本质上都是机制五的染色冷却造成的,因此经常会出现“战术红蛇”,红了一瞬间但还是连上了。这是因为这些红蛇是触点离开了范围而另一个触点进了范围,但本来的触点没松开还是能划上。6.4则是为了下面的蛇相交机制服务。读者其实可以忽略红蛇机制,它真的很不重要。


        七、蛇相交机制是为了处理这种情况:当两条蛇距离非常近时,玩家手指也会很近甚至相撞,此时有可能设备只判定到一个触点导致程序认为玩家松手了,因此相交时不考虑颜色可以有效提升游戏体验。但这个机制也造成了一些问题,首先是蛇相交点可以换手甚至松手,比如经典的Corruption、緋纏いの宵扭蛇段双手换色,Essence of Twilight和Moon Heart [BYD]开头的换手逃课。其次是重叠的蛇可以单手接,因为重叠蛇都是无色,范围内有任何触点都能接,比如LAMIA前半段、Infinite Strife. [BYD]结尾。甚至还有Red and Blue一巴掌拍上去的迷惑手法1:50。其中最高端的应用当数005在BUCHiGiRE Berserker00:16处的放置逃课法。

        虽然这个机制为玩家带来了很多便利,但因为独特的蛇变色逻辑,成为了Arcaea的万虫之源,大部分蛇的邪道逃课方法都和它有关,并且还造成了两个严重影响游戏体验的恶性bug。

        玩过4.1.4新谱Free Myself的玩家想必都被523cb和549cb的红蛇恶心过,类似现象还出现在Red and Blue结尾、La'qryma of the Wasteland [FTR]开头,Redolent Shape 207cb和317cb。只要一条蛇在相交点结束,之后立刻出现一条同色蛇,这条蛇就绝对不能提前松手,否则红蛇,下一条蛇开头lost(废土之泪因为判定稀疏可以勉强接上)。原因就在于机制7.1和5.2。上面说到,机制5.2的存在就是为了防止染色冷却串蛇,但问题在于,两条蛇相交时,这条蛇失去颜色了!因此如果提前松手,该颜色进入染色冷却,而蛇结束在交汇点时却没有颜色,所以解除了无色的染色冷却!此时防止染色冷却串蛇的机制彻底失效了,下一条蛇当然划不上。解决方法是在蛇相交失去颜色之前绝对不能松手,不划到位也没关系,只要不触发5.1的染色冷却即可。只要等蛇相交后再松手,那么只有无色会进入染色冷却。衷心希望lowiro可以早日重视这个bug,要么别再写这种配置,要么铲一下这坨X山。

本游戏最大恶性bug

        顺带一提这个bug也是造成Infinite Strife. [BYD]高速交叉蛇红蛇的原因,本来就是为了防止手指太靠近,设备判定失误而设计的机制,结果真的需要它时它却被X山给埋住了。这种高速交叉蛇,建议都尽量迟一点划,等他无色之后手指相撞也不会发生问题了。

        另一个恶性bug就是Essence of Twilight中段的莫名红蛇,这里发生红蛇的原因是,蛇的判定范围比蛇相交范围要大一圈,在最后这里双蛇会靠近一次,但恰好没进入相交范围。并且好巧不巧的是,此时刚好上一次相交结束后的保护时间结束了,当两条蛇开始染色时发现,自己判定范围里都存在两个触点,此时双蛇会按2.3和2.4的规则进行染色。首先看2.4,染色时两条单元蛇是蓝色先出现粉色后出现,因此蓝色先染色。回过头来看蛇刚出现时,划这两条蛇的手指,如果是右手先点左手后点(就算是同时点也会有个细微的先后顺序),根据2.3蓝蛇会先染色右手,之后粉蛇染色左手,然后两蛇分离全都红蛇lost。而如果之前是左手先点右手后点,那么蓝色染左手粉色染右手,就不会出现问题。因此这里的解决方法就是,要么左手先点,要么蛇最后一次靠近时双手尽量分开,不要进入另一条蛇的判定范围,尤其是右手。好在此bug只在这里出现了一次,影响不算很大。


        总结一下通过以上机制可以发现的技巧和玩蛇时需要注意的点:

    1、时刻记住每个手指本身都有颜色,要用相应颜色的手指去划蛇。

    2、每个颜色触点只能有一个,如果想换手指接下一条同色蛇,及时松开上一个手指。

    3、1物量的起点蛇基本都很好糊,1物量的后续蛇只要摸到头就一定能糊上。

    4、8分以上的后续蛇都要小心,尽量摸到头,除非你确信他长度小于8分。

    5、由静到动不提早,由动到静不迟到,弓蛇划到每个拐点。

    6、蛇只要不中断,手指就不能松,除非蛇相交。

    7、不要在意红蛇,多注意松手造成的染色冷却。

    8、蛇只要太靠近就会失去颜色随便糊,分开之后可以当作两条新的蛇看待,可以随意换手、松手、多指糊。

    9、如果有蛇在相交点结束,那么不要提前松手,除非短时间内没有同色蛇出现。

    10、不要学换手蛇魔法,适当逃课可以帮你更轻松打歌,魔法会让你走火入魔,想提升音游水平还是多多练习,少走歪门邪道。


蛇谜百解

        最后用上面的理论解释一些官方谱面常见的逃课原理、奇异现象的原因和解决方法。

        

        Q:Corruption扭扭蛇为啥可以换手?

        A:蛇相交时失去颜色,可以换手。


        Q:Aegleseeker开头的那玩意为啥可以放置糊?

        A:太短,小于8分的蛇摸到任何地方都算整个判定成功。


单手糊同心结

        Q:Arcana Eden [FTR] 884combo为啥可以单手糊?

        A:上两问结合起来。


        Q:Essence of Twilight开头、Moon Heart [BYD]开头蛇没相交为啥可以换手?

        A:蛇靠得太近就算相交。


Red and Blue之如来神掌

        Q:Red and Blue 370combo那为啥可以一巴掌糊上去?

        A:蛇相交结束后有一小段保护时间依然是无色,等开始染色时已经进入手指的判定范围了。并且每段只有1物量,只要摸到前16分范围就行,可以理解为不断相交后换手。


光追小逃课

        Q:Aegleseeker 1208combo那,用单手双指糊蛇逃课反手时为啥后一条蛇会红?

        A:中指没松手,每个颜色触点最多只能有一个。


        Q:dropdead. [PRS] 和qualia [BYD] 反手蛇如果左右手接反了,手指为啥可以绕回来?

        A:只要手指不离开屏幕,短暂离开蛇问题不大,只要在蛇下一个物量结束之前再判定到就行。


        Q:Avant Raze那些蛇为啥可以放置?

        A:这些蛇每段长度都小于8分,因此摸到任何地方都算判定成功。


AR扭扭蛇放置逃课,最后的尾巴一定要去接一下

        Q:Avant Raze前半段蛇放置时,最后那下会Lost咋回事?

        A:最后一条单元蛇长度等于8分,是头部严判蛇,必须摸到开头16分区间。

        解决方法:最后手指稍微去接一下。


        Q:Avant Raze开头弓蛇和Valhala:0的弓蛇为啥一个判定松一个判定严?

        A:Avant Raze的弓蛇每段比8分短1ms,Valhala:0则刚好等于8分。长度大于等于8分的后续蛇,第一个物量只在前16分区间,必须摸到头,非常严格。至于为啥相同配置写的不一样?可能是Toaster与Nitro写谱习惯不同吧,我手里也没官谱文件,有能力和兴趣的读者可以自己看看他俩的谱是不是都这样。

        解决方案:蛇里的8分段判定严不严,最好实际测一下,不是确定的,但最后一段一般都严。


        Q:为啥BPM256的Garakuta Doll Play的蛇密度比BPM252的HIVEMIND低那么多?

        A:BPM大于等于255时密度减半。


        Q:Dreamin' Attraction中间折线蛇为啥有的是1物量有的是2物量?

        A:因为bpm是205,4分音符长度为292.68ms,因为要取整所以有些段长度为292ms,有些段是293ms,其中293ms的段因为是大于等于4分音的后续蛇,所以开头追加了额外1物量。因为长度大于等于8分,这个折线蛇不能正中间放置,很容易漏掉开头的物量。


        Q:Löschen 548、1102combo那些二段折线蛇,以及Tempestissimo [BYD] 中间那些三段折线蛇,为啥可以放置?

        A:只要放置在直的部分即可,斜的部分每段长度都小于等于8分。斜转直时斜的部分作为蛇的第一段摸到任何地方都可以判定到,直转斜时斜的部分也摸到了开头。


狂战士放置蛇

        Q:BUCHiGER Berserker的弓蛇为啥能三指放置?

        A:当双蛇在下面相交时,失去颜色,下面一个手指即可都判定到。当双蛇分开时,又重新对左手食指和右手中指染色,也可判定到。


        Q:Heavensdoor [BYD] 451combo那些蛇为啥可以双指放置?

        A:因为红蛇状态不影响判定,只有视觉效果。首先粉色蛇先把右手染成粉色成功判定,蓝色蛇遇到右手先会红蛇,但遇到左手时还是可以把左手染蓝,成功判定。


刀削面

        Q:Pentiment [FTR] 323combo、Moon Heart [BYD] 609combo、竹 870combo那为啥可以双指放置?

        A:上两问结合起来,并且蛇判定范围内只要有同色触点即可,不考虑是否有别的触点,此时蛇范围内同时有粉蓝双触点,依然可以判定。


经典漏洞配置

        Q:烈華RESONANCE 238combo、Grievious Lady 1248combo的天键,还有Tempestissimo [FTR] 4.0修正之前的类似配置为啥总是Lost?

        A:蛇没有头判,这些歌BPM太高,点蛇的时候同时判定到了下一个天键的-120ms~-100ms的Lost区间。

        解决方法:提前点蛇,或者蛇之前不松手。


        Q:换手蛇魔法的原理到底是啥?

        A:蛇防换手靠的是染色冷却机制,但只要有蛇结束,就会进入染色冷却保护,因此只要在蛇结束时手指不离开屏幕暂时不消耗这个保护,直接去划下一条蛇。再松手时之前存下来的染色冷却保护抵消了松手带来的染色冷却,新的触点也就可以立刻染色正常判定了。


        Q:SUPERNOVA 454combo那的蓝蛇换手为啥红蛇但不Lost?

        A:因为这段流速极低,当前BPM非常低,判定密度极为稀疏,染色冷却最多1秒还没覆盖到下一个物量判定结束。


       Q:SUPERNOVA 结尾那的粉蛇换手为啥不红蛇?

        A:因为之前有碎蛇满足了换手蛇魔法前置条件。


        Q:dropdead. [PRS] 为啥前半反手段换手不红蛇,后半反手段换手就红蛇?

        A:因为前半之前有碎蛇满足了换手蛇魔法,后半没有。


¿

        Q:Essence of Twilight 673combo那为啥总是红蛇?

        A:这之前双蛇刚相交过一次,到这相交刚好结束,但双蛇又靠得足够近,此时双蛇准备开始重新染色时左右手指都在蓝蛇判定范围内。如果之前接蛇时是右手先接的,根据机制2.3和2.4,蓝蛇先染色给右手,粉蛇再染色给左手,之后当然就红蛇了。此为蛇机制上的bug。

        解决方法:接蛇时左手先接触屏幕,或者673combo那里右手离蓝蛇远点。


Exs也学坏了,写这种bug蛇

        Q:Free Myself 526combo、Red and Blue结尾、Redolent Shape 209combo为啥总是红蛇?

        A:当一条蛇在和两蛇相交点结束时,因为蛇相交时会失去颜色,本应在蛇结束时进行染色冷却保护防止冷却串蛇时,保护到了错误的颜色——无色上了、因此只要提前松手触发了原本颜色的染色冷却,之后的新蛇就会红。此为机制上的恶性bug。

        解决方法:一旦有结束在相交点的蛇,一定注意不要提前松手,等到他相交失去颜色之后再松手。


¿?¿?¿?

        Q:Infinite Strife, [BYD] 的交叉蛇为啥总是红蛇?

        A:划早了,双手太快又太靠近有概率被判定成离开过屏幕,为预防此事发生而存在的蛇相交机制却被染色冷却机制妨碍了。蛇还没相交时手就相撞进了染色冷却,蛇分离后准备重新染色时,发现染不了。

        解决方法:用邪道,放置换色接蛇。或者迟点划,等到相交失去颜色之后即使触发染色冷却也无所谓了。


        Q:我阿卡伊蛇总是玩不好,研究透这些就能玩好蛇了吗?

        A:不能。对理解的透彻机制只会帮你快速发现一些小技巧,并且避免一些容易踩的坑,但音乐游戏的本质还是练习,光靠嘴是打不来音游的。

        解决方法:多练。


        Q:那你研究这些东西有什么意义?

        A:兴趣,我致力于把一切游戏玩成解谜游戏,推理蛇机制对我来说算是比Arcaea本身更好玩的游戏。而且实际上对机制的理解也的确帮我快速发现了很多实用邪道。


投诉或建议