【osu!科普】osu!得分規(guī)則與參數(shù)細(xì)則[ScoreV1]【超詳細(xì)!】【破亞空bilibili】

osu!標(biāo)準(zhǔn)模式 得分規(guī)則

得分分值(ps:這里原文寫得很繁雜,而且有很多不嚴(yán)謹(jǐn)和錯(cuò)誤的地方,可以選擇跳過,不影響食用)

ps:這里我修補(bǔ)了大量的東西...但是還是很難閱讀

命中判定


Combo判定


分?jǐn)?shù)算法

英文原式:Score = Hit Value + (Hit Value * ((Combo multiplier * Difficulty multiplier * Mod multiplier) / 25))
補(bǔ)充:-------
combo倍率(Combo multiplier)
沒有圖片.jpg
假設(shè)現(xiàn)在是254combo,命中一個(gè)圈,然后combo變?yōu)?55,其中這個(gè)圈的獎(jiǎng)勵(lì)分combo倍率為254(命中前的combo大小x1.0)

難度倍率(Difficulty multiplier)

難度點(diǎn)數(shù) = CS + HP + OD(CS、HP、OD是什么?我寫在了文章末尾)

Mod倍率(Mod multiplier)

Mod系數(shù)(同樣沒有圖.jpg)
Easy【0.5】No-Fail【0.5】Half【0.3】
Hard Rock【1.06】Sudden Death / Perfect【1.0】Double / nightcore【1.12】Hidden【1.06】Flashlight【1.12】
Relax【0.0】Autopilot【0.0】Spin-out【0.9】Auto/Cinema【1.0】Score v2【N/A】

核心部分-分?jǐn)?shù)計(jì)算Scoring(原創(chuàng)內(nèi)容)
圓圈(Hit Circle)

圓圈的計(jì)算比較簡(jiǎn)單
像我們這里的三個(gè)圓圈(假設(shè)以Auto游玩,Mod倍率為1.0x,難度倍率為4.0x):
第一個(gè)分?jǐn)?shù)為 300 (300基礎(chǔ)得分 +?0獎(jiǎng)勵(lì)分[ 300?x 0 x 1.0 x 4.0 ÷ 25?]?)注意此時(shí)combo倍率為0,隨后才是combo + 1
第二個(gè)分?jǐn)?shù)為?348?(300基礎(chǔ)得分 +?48獎(jiǎng)勵(lì)分[ 300 x 1 x 1.0?x 4.0?÷ 25?])注意此時(shí)combo倍率為1,隨后才是combo?+?1
第三個(gè)分?jǐn)?shù)為?396?(300基礎(chǔ)得分 +?96獎(jiǎng)勵(lì)分[?300?x?2 x 1.0?x 4.0?÷ 25?])注意此時(shí)combo倍率為2,隨后才是combo?+?1
那么我們的結(jié)果是 總分【1044】combo【x3】

轉(zhuǎn)盤(spinner)

輪盤得分也很簡(jiǎn)單,不過我們先介紹輪盤的兩個(gè)特點(diǎn)
第一個(gè)是大小。在旋轉(zhuǎn)輪盤時(shí),輪盤會(huì)不斷變大。直到輪盤不會(huì)再變大時(shí),說明已經(jīng)達(dá)到保底300了,這時(shí)輪盤會(huì)顯示Clear,并且發(fā)出白光
第二個(gè)是輪盤邊緣。輪盤邊緣和得分無關(guān),只不過它會(huì)越來越紅,意味著轉(zhuǎn)盤剩余的時(shí)間不多了。
轉(zhuǎn)盤得分計(jì)算非常簡(jiǎn)單
在Clear之前,每一圈將會(huì)得到100固定分
在Clear之后
當(dāng) OD?≤?8.02?(也就是轉(zhuǎn)盤難度 ≤ 6.51)第一圈、第二圈仍然會(huì)獲得100固定分,之后每完成一圈將獲得1100固定分
當(dāng) OD ≥ 8.03(也就是轉(zhuǎn)盤難度 ≥?6.51)?第一圈、第二圈仍然會(huì)獲得100固定分,之后每完成一圈將獲得1200固定分
(注意,我們獲得獎(jiǎng)勵(lì)都是在整數(shù)圈的位置,但Clear的位置并不一定是整數(shù))
(ps:要達(dá)到Clear的圈數(shù)和轉(zhuǎn)盤持續(xù)時(shí)間有關(guān),但是wiki并沒有提供具體公式)(然后我也懶得去測(cè)試了)
最后是轉(zhuǎn)盤結(jié)束
理論上
我們會(huì)得到一個(gè)300/100/50/0基礎(chǔ)分以及combo獎(jiǎng)勵(lì)分,然后combo+1
假設(shè)我們的combo為3,其他默認(rèn)(以Auto游玩,Mod倍率為1.0x,難度倍率為4.0x)
那么轉(zhuǎn)盤結(jié)束會(huì)獲得 444?(300基礎(chǔ)得分 + 144獎(jiǎng)勵(lì)分[ 300?x 3 x 1.0 x 4.0 ÷ 25?]?)此時(shí)combo倍率為3,隨后combo?+?1
但是
我實(shí)際測(cè)試過后,發(fā)現(xiàn)輪盤結(jié)束的分?jǐn)?shù)要偏低
假設(shè)我們的combo為3x,其他默認(rèn)(以Auto游玩,Mod倍率為1.0x,難度倍率為4.0x)
那么我們轉(zhuǎn)盤結(jié)束會(huì)獲得 396?(300基礎(chǔ)得分 + 96獎(jiǎng)勵(lì)分[ 300?x 2?x 1.0 x 4.0 ÷ 25?]?)
隨后combo + 1,combo變?yōu)?。
其中combo倍率只有2,在計(jì)算之前被?- 1 了。
也就是說
如果你combo為1(或0),完成轉(zhuǎn)盤的300都是沒有獎(jiǎng)勵(lì)得分的,因?yàn)榇藭r(shí)轉(zhuǎn)盤的combo倍率為0(不會(huì)為負(fù)數(shù))。而圓圈和滑條即使combo為1,依然有獎(jiǎng)勵(lì)得分。
這應(yīng)該是算法上的問題,不知道會(huì)不會(huì)修復(fù)

然后是最復(fù)雜的滑條(sliders)

滑條的計(jì)算比較復(fù)雜
以這三個(gè)拍的滑條做例子(假設(shè)以Auto游玩,Mod倍率為1.0x,難度倍率為4.0x):
第一個(gè)分?jǐn)?shù)為 30 (滑條頭部固定30分 + 沒有獎(jiǎng)勵(lì)分)注意此時(shí)combo倍率為0,隨后combo + 1
第一個(gè)分?jǐn)?shù)為 10 (滑條節(jié)點(diǎn)固定10分 + 沒有獎(jiǎng)勵(lì)分)注意此時(shí)combo倍率為1,隨后combo + 1
第三個(gè)分?jǐn)?shù)為?426(滑條尾部固定30分 + 300基礎(chǔ)得分 + 96獎(jiǎng)勵(lì)分[?300?x?2 x 1.0?x 4.0?÷ 25?])注意此時(shí)combo倍率為2,隨后combo + 1

那么我們的結(jié)果是 總分【466】combo【x3】
所以理論上短滑條反而能提供更多的分?jǐn)?shù)

核心部分-準(zhǔn)確度Accuracy(原創(chuàng)內(nèi)容)

你問我為什么沒有翻譯?
因?yàn)槲彝耆床欢谡f什么...
所以我們就干脆不管它了
直接來進(jìn)入我們的正文
準(zhǔn)確度的算法其實(shí)很簡(jiǎn)單
準(zhǔn)確度由我們的基礎(chǔ)得分決定,英文為Scoring Values,但是我覺得用分?jǐn)?shù)公式中的Hit Value會(huì)更加準(zhǔn)確一點(diǎn)
基礎(chǔ)得分是什么?那就是你屏幕上顯示的分值,300/100/50/miss/激/喝
我們什么時(shí)候會(huì)獲得基礎(chǔ)得分?
以下情況我們都會(huì)獲得一個(gè)基礎(chǔ)得分(+ combo獎(jiǎng)勵(lì)分)
完成一個(gè)圓圈(Hit circle)
完成一個(gè)滑條(Slider)
完成一個(gè)轉(zhuǎn)盤(Spinner)
可以看出來,每個(gè)圓圈/滑條/轉(zhuǎn)盤都算作一個(gè)物件,只會(huì)獲得一次基礎(chǔ)得分(和獎(jiǎng)勵(lì)分)
值得注意的是
“激”和“喝”實(shí)際上算作300和100,并且會(huì)被算入300/100的總數(shù)當(dāng)中

因?yàn)?00和100中已經(jīng)包含了“激”和“喝”
所以實(shí)際上“激”和“喝”是額外獨(dú)立的統(tǒng)計(jì),可以直接無視掉
計(jì)算準(zhǔn)確度我們只看300/100/50/miss就可以了
那么基礎(chǔ)得分是怎么影響我們的精準(zhǔn)度的呢?
請(qǐng)看這張成績圖(捂臉

其中有300[89]、100[2]、50[1]、miss[1]
我們有兩種算法
其中osu!wiki中的算法是這樣的(官方算法):
精確度 = 基礎(chǔ)得分總分 ÷ (基礎(chǔ)得分?jǐn)?shù)量 x 300)
實(shí)踐的話就是這樣
首先 基礎(chǔ)得分總分 26950 = 89 x 300 + 2 x 100 + 1 x 50 + 1 x 0
然后 基礎(chǔ)得分?jǐn)?shù)量 93 = 89 + 2 + 1 + 1
精確度 96.59% = 26950?÷ 27900[93 x 300]
然后是個(gè)人覺得比較直觀的另一種算法(個(gè)人算法):
beatmap精確度 = 總精確度 ÷ 基礎(chǔ)得分?jǐn)?shù)量
其中
300的精確度為100%
100的精確度為33.34%(近似值)
50的精確度為16.67%(近似值)
實(shí)踐的話就是這樣
首先 總精確度 8982% ≈?100% x 89 + 33% x 2 + 16% x 1 + 0% x 1
然后 基礎(chǔ)得分?jǐn)?shù)量 = 93
精確度 96.59% ≈ 8982% ÷ 93?
這種算法會(huì)比較直觀一點(diǎn)

評(píng)級(jí)

ps:值得注意的是DB[Doubld]/NC[Nightcore]雖然Mod系數(shù)為1.12x,但結(jié)算依然是普通的S

其他參數(shù)(CS、OD、HP)(還有AR)
CS 圓圈尺寸(Circle size)

具體參數(shù)未知
秉承著科學(xué)技術(shù)是第一生產(chǎn)力的馬克思主義思想,我特意為CS去做了幾個(gè)測(cè)試,然后下面是結(jié)果

(其中計(jì)算出來的斜率近似值為﹣4.48196721,后面就懶得算了,應(yīng)該不是十進(jìn)制的數(shù))
順帶一提
轉(zhuǎn)盤尺寸是固定的,所以不會(huì)受影響
如何修改CS的值?
在 osu!/song/歌曲名字 的文件夾,看到一個(gè)后綴名為.osu的文件,然后直接用記事本打開,就可以看到CS、AR、OD、HP的值,然后直接修改就可以了


HP,準(zhǔn)確來說是HP下降速率(Health Point Drain Rate)

順帶提一下血條的判定

具體參數(shù)未知(你別看我,我也不知道啊,我也很絕望?。?/span>

OD整體難度(Overall Difficulty)

beatmap的作者可以設(shè)置11種OD,看起來很多,實(shí)際上這11個(gè)值有很明顯的關(guān)系

300的初始值為79.5,每次OD + 1,判定時(shí)間 -?6ms
100的初始值為139.5,每次OD?+?1,判定時(shí)間?- 8ms
50的初始值為199.5,每次OD?+?1,判定時(shí)間?- 10ms
(順帶一提,滑條Slider是用的50的判定時(shí)間,轉(zhuǎn)盤沒有判定時(shí)間)
這樣可以很簡(jiǎn)單的推導(dǎo)出公式

值得注意的是
一個(gè)完整的判定區(qū)域是-50 -100 -300 +300 +100 +50(其中負(fù)數(shù)表示提前命中,正數(shù)表示延遲命中)

所以我們實(shí)際的判定時(shí)間要乘以二

像是我們的OD 7,滿分對(duì)應(yīng)37.5ms,實(shí)際上是 +﹣37.5ms,也就是75ms的完整判定時(shí)間

還有就是一些Mod會(huì)影響OD(或者判定時(shí)間)

osu!wiki 還很貼心地制作了一個(gè)超大的表格

實(shí)際上除了第一行其他的都能推導(dǎo)出來(笑
ps:看得眼睛都快花了

縮圈速率AR(Approach Rate)

beatmap的作者可以設(shè)置11種AR,范圍從AR0(1800ms)到AR10(450ms)

其中
1800ms,當(dāng) 0 ≤ AR ≤ 5 時(shí),每次 AR + 1,顯示時(shí)間?-120ms
1200ms,當(dāng) 5 ≤ AR?≤ 10 時(shí),每次 AR + 1,顯示時(shí)間?-150ms

值得注意的是有一些Mod會(huì)影響AR(或者物件顯示總時(shí)間)

重要的事說兩遍:
因?yàn)槲锛谄聊簧系淖畲箫@示時(shí)間(從出現(xiàn)到miss)為 AR + OD[50],改變AR只改變了前半段的持續(xù)時(shí)間,而改變OD只改變了后半段的持續(xù)時(shí)間。而DT和HT改變了整個(gè)物件持續(xù)時(shí)間。
順帶一提osu!wiki 還很貼心地又制作了一個(gè)超大的表格

同樣的,實(shí)際上除了中間的默認(rèn)值,其他的都能推導(dǎo)出來

轉(zhuǎn)盤難度(Spinner Difficulty)(原創(chuàng)內(nèi)容)

轉(zhuǎn)盤難度只會(huì)受 OD 影響
在Clear之前,每一圈將會(huì)得到100固定分
在Clear之后
當(dāng)?OD?≤?8.02?(也就是轉(zhuǎn)盤難度?≤ 6.51)第一圈、第二圈仍然會(huì)獲得100固定分,之后每完成一圈將獲得1100固定分
當(dāng) OD ≥ 8.03(也就是轉(zhuǎn)盤難度 ≥ 6.51)?第一圈、第二圈仍然會(huì)獲得100固定分,之后每完成一圈將獲得1200固定分

BPM(每分鐘節(jié)拍數(shù))(原創(chuàng)內(nèi)容)
BPM表示的是音樂 的每分鐘節(jié)拍數(shù) 或者說?每分鐘拍子數(shù)
像是一個(gè)120BPM的音樂,意思是一分鐘有120個(gè)拍子
算下來一個(gè)拍為0.5秒
實(shí)際上在一個(gè)樂譜中,BPM并不是固定的。演奏者可以選擇自己喜歡的拍子時(shí)長,來演奏樂譜,得到的曲子才會(huì)有BPM,所以樂譜本身是沒有BPM的。
由于在一個(gè)樂譜中,音符數(shù)和拍子數(shù)都是固定的,當(dāng)演奏者確定了一個(gè)拍子的時(shí)長,我們就可以得到整個(gè)曲子的時(shí)長以及BPM了
值得注意的是,一個(gè)完整音符可以進(jìn)行細(xì)分,變?yōu)槎忠舴⑺姆忠舴?,甚至是十六分音符,如果我們不參考樂譜,我們并不能知道演奏者演奏的一拍子是一個(gè)音符還是半個(gè)音符。以一拍兩個(gè)音符進(jìn)行演奏的120BPM的歌,相當(dāng)于以一拍一個(gè)音符進(jìn)行演奏的240BPM的歌。
說那么多
BPM只是在樂譜演奏中,決定曲子時(shí)長、曲子速度的數(shù)值。(通過修改樂譜,可以在不影響曲子的情況下將BPM翻一倍)
不少曲子BPM和譜面速度不成正比,是因?yàn)樵趏su!中分別有以一拍、半拍、四分之一拍(甚至更小)進(jìn)行設(shè)計(jì)的譜面。所以實(shí)際上決定譜面速度的應(yīng)該是每分鐘物件數(shù)NPM,而不應(yīng)該是BPM。

然后
就沒有然后啦

這篇文章就到這里結(jié)束了
全部的知識(shí)點(diǎn)都已經(jīng)教給你們了(除了某些wiki沒有提供的,而我又懶得測(cè)的)
所以,你已經(jīng)學(xué)會(huì)osu的得分規(guī)則了,快去試一下拿個(gè)銀色SS吧
制作這篇文章花了我不少精力_(xз」∠)_

如果你喜歡這篇文章的話,請(qǐng)給我充點(diǎn)電吧=w=


其他
參考資料:
https://osu.ppy.sh/help/wiki/Game_Modes/osu!
https://osu.ppy.sh/help/wiki/Score/#osu
https://osu.ppy.sh/help/wiki/Beatmap_Editor/Song_Setup
原作者:ppy
CC許可協(xié)議:https://github.com/ppy/osu-wiki/blob/master/LICENCE.md
翻譯整理制作:
破亞空【https://space.bilibili.com/2253572】
其他文章:
https://www.bilibili.com/read/readlist/rl132402

- 破亞空 2019.9.11 -?