1452 字
7 分钟
没读懂Milthm的完整新计分算法?来看看这里!

封面信息#

图片来源:Bilibili

画师:@nanakaria

创作链接:(https://b23.tv/UNw1jYr)

备注:Milthm开屏图片·早晨

(既然是介绍Milthm的内容,来点Mil元素应该没问题吧?)


前言#

Milthm官方最近在忙着4.0的更新,目前为止新的计分算法已经公布。不过帖子附在文后的算法使用了严格的数学语言定义,如果你还没有上完高考函数内容或者忘掉了高数内容,那么阅读起来会比较困难。

在这里,本文在忠实于定义的基础上给出计分算法相对(?)易懂的说明,希望可以帮到没看懂/不想看“论文”的朋友。

1.一些判定#

新的计分算法给出了以下的判定等级,每个判定等级对应一个时间段。

判定名称判定等级所在时间区间
Exact(大P)s0~±35ms
Prefect(小P)p±35ms~±70ms
Great(大G)g±70ms~±105ms
Good(小G)n±105ms~±140ms
Badb±140ms~±155ms
Missm>±155ms/没有击中

在每次敲击键位后,系统会给出判定的类型,并将判定等级记录为s,p,g,n,b,m的形式。等级将会组成一个序列。

2.Score V3计分公式#

一首歌的计分公式由三个部分组成,公式如下:

Sn=κn×ASn+CSn+APnS_n = κ_n × AS_n + CS_n + AP_n

其中,SnS_n是总得分。

κnκ_n: 连乘补正乘区(一个系数,0.4κn1.00.4 ≤ κ_n ≤ 1.0)。这是系统的核心与灵魂,它动态反映了你的连击质量。

ASnAS_n: 平均判定分。你的基础准确度。

CSnCS_n: 连击附加分。对你达成高连击的固定奖励。

APnAP_n: AP附加分。对当前所有判定都是完美(大小P)的固定奖励。

2.1 平均判定分#

我们假设一首歌只有一种判定,那么得分如下表所示。

判定名称得分
大P1,000,000
小P990,000
大G600,000
小G300,000
Bad150,000
Miss0

显然,一首歌一般不可能只有一种判定。我们假设一首歌有n个判定,那么ASnAS_n就是所有判定的平均值

2.2 连击补正乘区#

算法最复杂的部分,是ScoreV3的精髓。(这一部分由ds辅助总结)

它引入了一个名为 “连击分” 的概念,模拟了一个“虚拟连击值”的波动,而不是简单地计算连续成功的次数。

  • 连击分:这是一个从最大值开始,根据你的判定结果增加或减少的数值。

    • 判定增分 (aξ,Na_ξ,N): 每次判定后,连击分的变化值。
      • 大P: +2
      • 小P: +1
      • 其他: +0 (意味着一旦打出这些判定,连击分就会停滞或下降)
    • 上下限: 连击分被限制在每个判定等级对应的上下限内(例如,“大P”判定的上限是 min(0.24N, 192))。打出低判定会降低你的连击分上限,从而限制你的分数潜力。
  • 基础补正乘区 (κ^nκ̂_n): 最初的想法是:κ^nκ̂_n = (当前总连击分和) / (n × 理论最大连击分) 这个系数大致在 0.4 到 1.0 之间。但这里有个问题:在曲末打出坏判定比在曲初打出同样判定扣分更严重,因为后期没有机会把连击分“养”回来了。这对于有“尾杀”的曲子而言是一个大问题。

  • 补正乘区补差: 为了解决上述不公平问题,系统引入了连击分补偿序列 (θ̃_n)。它计算了因为“位于曲末无法回复连击分”而损失的分数量,并将其补偿回来。

    • 最终连击补正乘区κnκ_n = 0.4 + 0.6 × [ (当前总连击分和 - 补偿值) / (n × 理论最大连击分) ]

解读κnκ_n 是一个动态系数,它衡量的是你维持高质量连击(打出P)的能力

  • 一直打大P,你的 κnκ_n 会快速趋近于 1.0。
  • 打一个小P,κnκ_n 增长会慢一些。
  • 打出一个大G或更差的判定,κnκ_n 会立刻下降,并且因为它影响了连击分,需要后续连续打出多个P以上评价才能慢慢恢复。中途断连(Miss)会是灾难性的,如果可以请不要断。

2.3 连击附加分#

这是一个简单的奖励分,只与你的最高连击数有关。

连击计数:只有Good以上判定能续接连击(Bad与Miss会中断连击)。此分数公式如下:

CSn=5000×(n/N)CS_n = 5000 × (n/ N),其中n为当前最高连击数,N为总物量。

如果你全程没有断连(即FC),这一项就是 5000 分。

2.4 AP附加分#

如题,这是AP才可以拿到的分数,共计5000分。

只要爆Good,该项归零。(于是你就拿不到Milthm了。。。)

2.5 总分与理论值#

  • 总分:当完成所有 N 个物件后,最终得分 TS=SNTS = S_N
  • 理论值 (MAX):当且仅当所有判定都是大P时,得分最高。
    • ASNAS_N = 1,000,000
    • κNκ_N = 1.0
    • CSNCS_N = 5000 (因为FC了)
    • APNAP_N = 5000 (因为AP了)
    • TS=1.0×1,000,000+5000+5000=1,010,000TS = 1.0 × 1,000,000 + 5000 + 5000 = 1,010,000

3.Acc V2计分#

我们假设一首歌有n个判定,每一种判定计入Acc值(完成度)如下表,

判定名称完成度
大P100%
小P100%
大G60%
小G30%
Bad15%
Miss0%

那么,整首歌的Acc值为这n个判定Acc值的平均值。

4.结算评价(3.8更新)#

Milthm:1005000+

S:950000-1004999

A:900000-949999

B:850000-899999

C:800000-849999

F:0-799999

5.一些看法#

之前的计分算法(Score V2)的特征是:小P有概率只拿80%的分数,所以有时候AP了一首歌都不一定能上100万分。现在的V3确实把小P阴人的问题解决了,可是其他的判定要求更加高了。

以后“Milthm”几乎必须AP才可以获得(爆Good立刻少5000分),要求大大提升。

不过没关系,祝各位收歌开心,初见Milthm!

没读懂Milthm的完整新计分算法?来看看这里!
https://sprinkle.moe/posts/milthm-score-3/
作者
烁雨星辰
发布于
2025-08-30
许可协议
CC BY-NC-SA 4.0