Exploring the Algorithm Behind MaiMai DX's Scoring and DX Rating Computation

A player asked about a weird phenomenon where they up-scored from 99.8056 (SS+) to 99.9999 (SS+) which shouldn't raise your DX Rating but for some reason it did by 5 points. Why does it do that?

The case of two SS+

Image credit by kaito

The short answer: The reason why they got an additional 5 points is because there are two multipliers for SS+. One at 99.5%-99.9998%, and another at 99.9999%. Go skip to the end where I show the exact formula if you're interested.

Keep on reading for the long answer. We'll go into each relevant info and finally the formula with examples.

Chart Constants and Levels

Every MaiMai chart has a hidden decimal number that's supposed to more accurately reflect the difficulty of a chart; compared to the usual 13, 13+, 14, 14+ that the player sees. This number is commonly referred to as a chart constants (CCs), or level constants, and they might change on version change as a form of rebalancing.

For example, in MaiMai DX Festival the Master DX chart for Oshama Scramble! is a level 13 with a chart constant of 13.6. While in Festival+ the Master DX chart is rerated to a level 13+ with a chart constant of 13.7.

The threshold that a chart's level gets appended with a plus (+) is when the fractional part of the chart constant is greater than or equal to .7.

Achievement

Achievement is the score you'll usually come across in MaiMai. It is in terms of percentage with an additional 1 percent for break bonus. So the maximum achievement that you can get in the game is 101%.

If you think this is a bit weird, in pre-DX versions the break bonus percentage is unbounded. So you can easily go beyond 101%.

Here are the number of points awarded for each note type and judgement:

Note type Good Great Low Great Mid Great High Perfect Low Perfect High Critical
Tap 250 400 400 400 500 500 500
Hold 500 800 800 800 1000 1000 1000
Slide 750 1200 1200 1200 1500 1500 1500
Break Base 1000 1250 1500 2000 2500 2500 2500
Break Bonus 30 40 40 40 50 75 100

To get the base achievement, get all total points not including break bonus. Then divide the total base points by the maximum total base points and multiply by 100. To get the bonus achievement, get all total break bonus points. Then divide the total break bonus points by the maximum total break bonus points; do NOT multiply it by 100. Add the two together and you have your achievement.

Let's do an example:

Our chart has the following note statistics:

  • 50 tap notes
  • 10 break tap notes
  • 4 slide notes
  • 2 break slide notes
  • 20 touch tap notes
  • 9 hold notes

And our player's performance is as follows:

  • Tap notes
    • 1 miss
    • 49 perfect
  • Break tap notes
    • 1 great high
    • 1 perfect low
    • 2 perfect high
    • 6 critical perfect
  • Slide notes
    • 4 perfect
  • Break slide notes
    • 2 critical perfect
  • Hold notes
    • 1 great
    • 8 perfect

Our base achievement points would be:

  • Tap notes: 49 * 500 = 24,500
  • Break tap notes: 1 * 2000 + 9 * 2500 = 24,500
  • Slide notes: 4 * 1500 = 6,000
  • Break slide notes: 2 * 2500 = 5,000
  • Hold notes: 1 * 800 + 8 * 1000 = 8,800 Total: 68,800 points

While the max achievement points would be:

  • Tap notes: 50 * 500 = 25,000
  • Break tap notes: 10 * 2500 = 25,000
  • Slide notes: 4 * 1500 = 6,000
  • Break slide notes: 2 * 2500 = 5,000
  • Hold notes: 9 * 1000 = 9,000 Total: 70,000 points

The base achievement is 68800/70000 * 100 = 98.28571%

Our bonus achievement points would be:

  • Break tap notes: 1 * 40 + 1 * 50 + 2 * 75 + 6 * 100 = 840
  • Break slide notes: 2 * 100 = 200 Total: 1040 points

The max bonus achievement points would be:

  • Break tap notes: 10 * 100 = 1000
  • Break slide notes: 2 * 100 = 200 Total: 1200 points

The bonus achievement is 1040 / 1200 = 0.86667%

Therefore our total achievement is 98.28571% + 0.86667% = 99.15238%. We truncate on the 4th decimal place, therefore the real achievement is 99.1523%

DX Rating

Now that we have covered the pre-requisites, we can now begin to explain the phenomenon at the beginning. DX Rating gives an approximation to the skill of a player. Every play gives some number of points that is dependent on the song's chart constant and the player's performance.

The formula for the points the game gives every play is:

DX rating points = Chart constant * Achievement * Score multiplier

Score multiplier is a small multiplier that is based on achievement.

Achievement Rank Score multiplier
100.5% SSS+ 0.224
100.4999% SSS 0.222
100% SSS 0.216
99.9999% SS+ 0.214
99.5% SS+ 0.211
99% SS 0.208
98.9999% S+ 0.206
98% S+ 0.203
97% S 0.2
96.9999% AAA 0.176
94% AAA 0.168
90% AA 0.152
80% A 0.136
79.9999% BBB 0.128
75% BBB 0.120
70% BB 0.112
60% B 0.096
50% C 0.08
40% D 0.064
30% D 0.048
20% D 0.032
10% D 0.016

For our example, we'll use the scenario in the beginning. Yurushite's Master chart constant is 14.4. So for the old score, 99.8056%, the DX rating points would be:

14.4 * 99.8056 * 0.211 = 303.25

Rounding it down we get: 303

For the new score, 99.9999%, we get:

14.4 * 99.9999 * 0.214 = 308.16

Rounding it down we get: 308. So we indeed have a rate-up of 5 points. Mystery solved!

Conclusion

We've learned not just how MaiMai gives scores on each play but also on how it gives DX rating points based on the player's performance. If you're still interested in more facts related to what I just discussed, keep on reading until the end.

Next post will hopefully be something different than yet another MaiMai trivia. Until then, see you on the next one.

Appendix

Here are some bonus trivia that's loosely related to scoring and ratings.

DX Rating Revisited

One thing that I have omitted from the main content above is how MaiMai DX computes the player's DX Rating. This computation is done every time a player up-scores so it is impossible for a player's DX rating to go down with one major exception, which we'll discuss.

DX rating doesn't grow unbounded because it only considers the top plays from 50 charts; 15 charts released in the latest version and 35 from older versions. Whenever a player set a new record for a chart, the game computes the number of points for their play then does the following checks:

  • If the chart played is new, operate on the list for new charts. Otherwise, operate on the list for old charts.
  • If the list already contains the chart played, replace the old rating.
  • Else if the list is not yet full, append the rating to the list.
  • Else find a chart play rating lower than our latest chart play rating and replace it if it exists.

A player's DX rating is just the sum of all individual chart play ratings on both the old and new version list. On version update, we keep only the best 35 chart play ratings on both new and old version list then empty the new version list.

Full Combo Tiers

There are four tiers of full combos in MaiMai DX:

  • All Perfect Plus: All break notes have Critical Perfect judgement and everything else has at least Perfect judgement.
  • All Perfect: All notes has at least Perfect judgement.
  • Full Combo Plus: All notes has at least Great judgement.
  • Full Combo: All notes has at least Good judgement.

Achievement Rank

Like other rhythm games, your achievement will come with some letter grading. The table below shows the conversion.

Achievement Rank
100.5% SSS+
100% SSS
99.5% SS+
99% SS
98% S+
97% S
94% AAA
90% AA
80% A
75% BBB
70% BB
60% B
50% C
0% D

If our achievement is 99.1523, the highest rank whose achievement is lower or equal to our achievement would be SS.

DX Score

DX score gives a simple metric on the accuracy of a player, and is equivalent to EX score on BEMANI games. DX score computation disregards the modifiers of all note types and gives values solely on the judge of a note. Note that this still uses the timing windows of each note type. Below is a table of the points given for each judgement.

Judgement Points
Critical Perfect 3
Perfect 2
Great 1
Good & Miss 0

At the result screen, you might notice stars together with your DX score. The amount of stars depends on the your DX score percentage.

Percentage Number of stars
97% 5
95% 4
93% 3
90% 2
85% 1
85% below 0

So for example if the max DX score is 350 to get:

  • 5 DX stars, you need at least 340 DX score
  • 4 DX stars, you need at least 333 DX score
  • 3 DX stars, you need at least 326 DX score
  • 2 DX stars, you need at least 315 DX score
  • 1 DX star, you need at least 298 DX score

Sync

If you play with another person, the game will judge the performance of the two of you and, depending on how good you two are, will give you a sync medal.

Medal Requirements
Full Sync DX Plus Both of you got at least All Perfect on the same difficulty
Full Sync DX Both of you got at least Full Combo Plus on the same difficulty
Full Sync Plus Both of you got a full combo on the same difficulty
Full Sync Both of you got a full combo

This also applies even for 4 player sessions in which case the game will compare your performance with 3 others then award you the best medal. For example, you're playing solo then played with a pair via cab-to-cab matching. You got a Full Sync Plus with one player and a Full Sync DX Plus with another. The game will award you the better sync medal which is Full Sync DX Plus.


You'll only receive email when they publish something new.

More from donmai
All posts