Fever机制详解——如何触发Super Fever?【Project SEKAI攻略】
xfl03
编辑于 2021年06月19日 16:20
收录于文集
共43篇

        在Project SEKAI开服初期,我曾在《Live分数加成机制——Combo、Fever、技能》这篇文章中简单分析了Fever、Super Fever的触发条件与效果。随着对游戏理解的进一步深入,也借着1.7.0、1.8.0两次客户端更新Super Fever触发条件修改的时机,本文将详细说明在1.8.0版本下Fever的相关机制


结论

        为方便读者阅读,先将结论放在最前面:

  • Fever分为3个事件Fever Chance开始、Fever开始、Fever结束

  • Fever Chance开始到Fever开始的前90%时间纳入Fever达成率判定

  • 进行达成率判定时会排除已掉线或因BAD/MISS过半未进入Fever Chance的玩家

  • 打出PERFECT或GREAT判定不断Combo增加达成率

  • Super Fever的条件5人协力达成率为100%判定期间全员不断Combo

  • Fever的条件达成率达到70%

  • Fever开始到结束覆盖约10%的Note,期间提供50%额外分数加成

        针对Super Fever的情况,有一个易于描述的充分条件,满足此条件一定可以触发Super Fever,但Super Fever不一定要满足此条件:

Fever Chance前90%的时间5人均不断Combo

        Super Fever的充分必要条件如下(同时满足):

  • 协力房间需要有5个人

  • 至少有1位玩家满足未掉线且进入Fever Chance前BAD/MISS未过半

  • 满足上述条件的玩家在Fever Chance前90%的时间均不断Combo

        碍于字数限制,这些结论在边界问题与特殊情况上并非100%准确,用于定量分析时还请阅读下文。


Fever事件

        有3个Fever相关的事件,可以很简单地从游戏中观察到具体的时间:

  • Fever Chance开始:游戏显示“FEVER CHANCE”,并开始积累Fever进度

  • Fever开始:如果触发了Fever游戏显示“FEVER”,Super Fever同理,并展示Fever特效

  • Fever结束:结束显示Fever特效

        Fever事件与技能事件一样,并不与某一Note绑定,无论点击与否都会在固定时间触发

        其中,Fever Chance开始与Fever开始事件是在每首歌的谱面中写明发动的时间。而Fever结束事件并没有在谱面中写明,是怎么确定结束时间的呢?


Fever结束事件

        Fever结束事件的时间并非是预先声明好的,而是根据房主的谱面,动态计算出来的。详细过程如下:

  • 在Note列表中,取时间大于等于Fever开始时间的Note

  • 在新的Note列表中,取第“Note总数 / 10”(向下取整)个Note

  • 将这个Note的时间作为Fever结束事件的时间

        例如,假设1个谱面有59个Note,则与取Fever开始后的第5个Note的时间作为Fever结束时间:

        简而言之,Fever可以覆盖约10%的Note,以房主谱面为准。在Fever开始到结束的这段时间内,分数将会变为150%,与Combo、技能等加分效果通过累乘叠加


Fever段

        一般我们将从Fever Chance开始直到Fever开始这一段积累Fever进度的时间为“Fever段”。之前一直认为Fever段中的所有Note均纳入Fever计算,其实并不是这样,实际上只有Fever段前90%的时间(左闭右开)才会被纳入计算

        例如1个Fever段为10.0秒,则[0.0s,9.0s)区间内的Note纳入计算(下图黄键):

        简而言之,只看Fever段前90%的时间,下文简称“Fever判定段”。


FeverChance判定

        在说明Fever判定前,先来说明1个冷知识——Fever Chance有可能不触发,只有满足以下条件时,玩家的Fever Chance才会开始:

  • 在Fever Chance开始前,超过一半的Note获得了PERFECT/GREAT/GOOD判定

  • 换句话说,在此之前的BAD/MISS数量不能大于等于1/2

        这一判定每位玩家单独进行,我相信绝大多数玩家都能满足这一条件,不过为了文章的严谨性还是说明一下。


Fever判定

        Fever类型根据玩家的表现分为3种:无FeverFeverSuper Fever

        判定时会进行如下处理:

  • 获得当前未掉线、且进入Fever Chance的玩家列表

  • 统计这些玩家在“Fever判定段”获得PERFECT/GREAT判定的Note总数

  • 统计这些玩家在“Fever判定段”的Note总数

  • 先求和再做除法,计算Fever达成率

    

        计算出达成率以后,可以按以下顺序进行判定

  • 无人进入Fever Chance:无Fever

  • 5人协力达成率为100%Super Fever

  • 达成率大于等于70%Fever

  • 否则:无Fever


        本篇文章在编写过程中对Project SEKAI客户端进行了一定程度的逆向工程,感谢各位前辈制作与分享的各种工具。希望这篇文章能够把有关Fever的机制解释清楚,不再在细节上捉摸不定。