A Complete Description of the In-game Scoring Algorithm
A Complete Description of the In-game Scoring Algorithm
A brief caveat first: Everything described in this post is extrapolated from a limited set of observed data.
Here are some quick facts for those not really interested in the nitty-gritty details:
- In general, an S-Perfect note has score approximately 4 times that of a Good note; a Perfect note approximately 3 times; and a Great note approximately 2 times.
- In general, a note’s score increments by 1 once every 10-note combo.
- The first two fevers boost a note’s score significantly, while the 3rd and later fevers don’t change a note’s score.
Now we delve into the details. First, we give two terms, whose names are found in the game files.
Judgment and Fever
- Each note has a judgment, which may be Good, Great, Perfect, or S-Perfect.
- A fever happens when the reddish bars below the HP bar and the score bar are full.
The precise algorithm by which a note’s judgment is determined is yet to be discovered. Roughly, of course, it’s a measurement of how accurately the note is hit, and more accuracy is required in each step from Good to Great to Perfect to S-Perfect.
The precise algorithm of when a fever happens is also to be discovered, but it is roughly determined by the judgments of the previous notes in that a fever happens sooner just as the previous notes have better judgments.
In one combo sequence, the 1st fever happens around the 60th combo note, the 2nd around the 180th, and later ones approximately each every 180-note combo—that is, the 3rd fever happens around the 360th combo note, the 4th around the 540th, the 5th around the 720th, and so on.
Now we introduce the main body of the scoring algorithm. To facilitate understanding, we make a distinction between a note’s expected score, which is the score obtained after the first step of the calculation, and a note’s actual score, which is the final score produced by the calculation.
A Note’s Expected Score
Three factors determine a note’s expected score:
- the next fever in the note’s combo sequence,
- the note’s judgment, and
- the note’s combo number.
We give each judgment a multiplier: 1 for Good, 2 for Great, 3 for Perfect, and 4 for S-Perfect. Call the multiplier of the current note’s judgment m. Also call the current note’s combo number c. Then the current note’s expected score is calculated as follows (the pair of symbols ⌊⌋ rounds down the value inside to the nearest whole number):
- before the 1st fever: 50.5 × m + ⌊(c - 1) / 10⌋
- on or after the 1st fever and before the 2nd fever: 151.5 × m + ⌊(c - 1) / 10⌋
- on or after the 2nd fever: 202 × m + ⌊(c - 1) / 10⌋
Some examples are shown below. In each example we bold the relevant parts and the calculated expected score.
- The 1st combo note with S-Perfect judgment, which can only happen before the 1st fever, has expected score
50.5 × 4 + ⌊(1 - 1) / 10⌋ = 202 + 0 = 202. - The 10th combo note with S-Perfect judgment, which again can only happen before the 1st fever, has expected score
50.5 × 4 + ⌊(10 - 1) / 10⌋ = 202 + 0 = 202. - The 11th combo note with S-Perfect judgment, necessarily before the 1st fever, has expected score
50.5 × 4 + ⌊(11 - 1) / 10⌋ = 202 + 1 = 203. - The 11th combo note with Great judgment has expected score
50.5 × 2 + ⌊(11 - 1) / 10⌋ = 101 + 1 = 102. - The 11th combo note with Perfect judgment has expected score
50.5 × 3 + ⌊(11 - 1) / 10⌋ = 151.5 + 1 = 152.5. - The 11th combo note with Good judgment has expected score
50.5 × 1 + ⌊(11 - 1) / 10⌋ = 50.5 + 1 = 51.5. - The 120th combo note with S-Perfect judgment, necessarily after the 1st fever and before the 2nd fever, has expected score
151.5 × 4 + ⌊(120 - 1) / 10⌋ = 606 + 11 = 617. - The 120th combo note with Great judgment has expected score
151.5 × 2 + ⌊(120 - 1) / 10⌋ = 303 + 11 = 314. - The 120th combo note with Perfect judgment has expected score
151.5 × 3 + ⌊(120 - 1) / 10⌋ = 454.5 + 11 = 465.5. - The 120th combo note with Good judgment has expected score
151.5 × 1 + ⌊(120 - 1) / 10⌋ = 151.5 + 11 = 162.5. - The 271st combo note with Perfect judgment, necessarily after the 2nd fever, has expected score
202 × 3 + ⌊(271 - 1) / 10⌋ = 606 + 27 = 633. - The 540th combo note with Good judgment, necessarily after the 2nd fever, has expected score
202 × 1 + ⌊(540 - 1) / 10⌋ = 202 + 53 = 255.
A nontrivial step of conversion from a note’s expected score to its actual score is made necessary by the fact that, as shown in the examples above, a Perfect or Good note before the 2nd fever has fractional expected score, while final scores must be whole numbers. The conversion step is described in the next section.
A Note’s Actual Score
We set up an even–odd bit, which starts with the value even and which, in the course of a game, is flipped (i.e., even changed to odd and odd changed to even) whenever a fractional expected score is encountered. If, after flipping, this bit has value even, then the fractional expected score just encountered is rounded down to obtain the actual score; if, after flipping, the bit has value odd, then the expected score is rounded up to obtain the actual score.
For a whole-number expected score, this step does nothing and the actual score is the expected score.
Because only Perfect and Good notes before the 2nd fever has fractional values, the even–odd bit described above may be understood as a counter that counts the number of Perfect and Good notes before the 2nd fever in the course of a game, and if the counter has an even value then the score is rounded down, and rounded up if it has an odd value.
Examples:
- The 1st combo note with Perfect judgment has expected score 151.5.
- It then has actual score 152 if before this note there are an even number of Perfect or Good, before-the-2nd-fever notes, which includes the case that this note is the 1st hit note in the entire game.
- It has actual score 151 if before this note there are an odd number of Perfect or Good, before-the-2nd-fever notes: for example, if this note is the 2nd hit note after 1 Perfect or Good note and an indefinite amount of missed notes.
- The 11th combo note with Good judgment has expected score 51.5.
- It has actual score 52 if before this note there are an even number of Perfect or Good, before-the-2nd-fever notes: for example, if the current combo sequence is the first combo sequence in the game, and there are 2 Perfect notes in the first 10 notes.
- It has actual score 51 if before this note there are an odd number of Perfect or Good, before-the-2nd-fever notes: for example, if the current combo sequence is the second combo sequence, in the previous combo sequence there is 1 Perfect note before the 2nd fever, and in the first 10 notes of the current combo sequence there are 2 Good notes.
An Example of a Game
Suppose a game consists of the following notes in that order:
- Perfect
- S-Perfect
- Perfect
- Perfect
- Good
- Great
- S-Perfect
- Good
- Perfect
- S-Perfect
- S-Perfect
- Good
- Great
- Perfect
- Good
- one or more missed notes
- Perfect
- Good
- Great
- S-Perfect
The calculation of the score of each note is shown below. For each note we bold some parts of the calculation and the final score for clarity.
- Perfect: expected score 50.5 × 3 + 0 = 151.5; actual score rounded up to 152.
- S-Perfect: expected score 50.5 × 4 + 0 = 202, also actual score.
- Perfect: expected score 50.5 × 3 + 0 = 151.5; actual score rounded down to 151.
- Perfect: expected score 50.5 × 3 + 0 = 151.5; actual score rounded up to 152.
- Good: expected score 50.5 × 1 + 0 = 50.5; actual score rounded down to 50.
- Great: expected score 50.5 × 2 + 0 = 101, also actual score.
- S-Perfect: expected score 50.5 × 4 + 0 = 202, also actual score.
- Good: expected score 50.5 × 1 + 0 = 50.5; actual score rounded up to 51.
- Perfect: expected score 50.5 × 3 + 0 = 151.5; actual score rounded down to 151.
- S-Perfect: expected score 50.5 × 4 + 0 = 202, also actual score.
- S-Perfect: expected score 50.5 × 4 + 1 = 203, also actual score.
- Good: expected score 50.5 × 1 + 1 = 51.5; actual score rounded up to 52.
- Great: expected score 50.5 × 2 + 1 = 102, also actual score.
- Perfect: expected score 50.5 × 3 + 1 = 152.5; actual score rounded down to 152.
- Perfect: expected score 50.5 × 3 + 1 = 152.5; actual score rounded up to 153.
- one or more missed notes
- Perfect: expected score 50.5 × 3 + 0 = 151.5; actual score rounded down to 151.
- Good: expected score 50.5 × 1 + 0 = 50.5; actual score rounded up to 51.
- Great: expected score 50.5 × 2 + 0 = 101, also actual score.
- S-Perfect: expected score 50.5 × 4 + 0 = 202, also actual score.
So far we have completed a description of the scoring algorithm in the absence of cards. The way cards influence scores is fairly straightforward, which is briefly described next.
Cards
If a card is present when a note is hit, the card’s influence divided by 5 rounded down to the nearest whole number is added to the note’s base score calculated according to the algorithm above.
The group influence—5% for all Rank 3, 10% for all Rank 5, and so on—is added to the total score after a game has ended.
So the final total score is the sum of each note’s base score, calculated according to the algorithm in the previous sections, and each note’s card-influence score, and then plus the group influence.
Posted Nov 11, 2017, 9:29 PM UTC · edited