User:Arcorann/DDR Scoring: Difference between revisions

From RemyWiki
Jump to navigation Jump to search
No edit summary
 
(13 intermediate revisions by the same user not shown)
Line 1: Line 1:
This is not intended to be article quality at the moment.
This is not intended to be article quality at the moment.
Also putting grading on this page.


== Arcade mixes ==
== Arcade mixes ==
Line 22: Line 24:


=== 4th/USA ===
=== 4th/USA ===
Official description of the scoring system: https://web.archive.org/web/20070204141156/http://www.konami.jp/bemani/ddr/jp/am/ddr4th/
Official description of the scoring system: https://web.archive.org/web/20130219110405fw_/http://www.konami.jp/bemani/ddr/jp/am/ddr4th/plan/score.html


:Step Score = J + 333 * C
:Step Score = J + 333 * C
Line 28: Line 30:
*C = combo count after step
*C = combo count after step
*J = 777 if Perfect, 555 if Great, 0 otherwise
*J = 777 if Perfect, 555 if Great, 0 otherwise
If the player has failed (life bar empty), replace C with 0.


Note that AC DDR USA uses this even though its interface is based on 3rdMIX!
Note that AC DDR USA uses this even though its interface is based on 3rdMIX!
Line 37: Line 41:
:Step Score = J * (K * U + Q)
:Step Score = J * (K * U + Q)
where
where
*B = 500000 * (1 + D)
*B = 500000 * (1 + D) if not a long version, 500000 * (1 + 2 * D) if a long version
*D = difficulty rating if not an edit, 7 if an edit
*D = difficulty rating if not an edit, 7 (or 14) if an edit
*S = N*(N+1)/2, N = number of steps in song
*S = N*(N+1)/2, N = number of steps in song
*U = floor(B / S)
*U = floor(B / S)
Line 45: Line 49:


At the end of the stage a bonus is applied:
At the end of the stage a bonus is applied:
* Grade Bonus = 10000000 for AAA, divide by 10 for each lower rating down to 100 for D, 0 for E
* Dance Level Bonus = 10000000 for AAA, divide by 10 for each lower rating down to 100 for D, 0 for E (only applied for "new songs", non-edits and songs that haven't been played already in the current session)
* Combo Bonus is accumulated per step:
* Combo Bonus is accumulated per step:
: Step Combo Bonus = C * J'
: Step Combo Bonus = C * J'
where
where
*C = combo count after step if life bar not empty, 0 otherwise
*C = combo count after step if life bar not empty, 0 otherwise
*J = 55 if Perfect, 33 if Great, 0 otherwise
*J' = 55 if Perfect, 33 if Great, 0 otherwise


=== DDRMAX ===
=== DDRMAX ===
Line 58: Line 62:
:Step Score = J * (K * U + Q)
:Step Score = J * (K * U + Q)
where
where
*K = ordinal position of current step (not freeze; freezes are not scored during the song counted in the Groove Radar bonus)
*B = 5000000
*B = 5000000
*S = N*(N+1)/2, N = number of steps in song (not freezes)
*S = N*(N+1)/2, N = number of steps in song (not freezes)
Line 66: Line 71:
At the end of the stage a bonus is applied for each Groove Radar category.
At the end of the stage a bonus is applied for each Groove Radar category.


Define:
* F_s = Perfects / total steps
* F_v = max combo / song maximum combo
* F_a = Perfects on jumps / total jumps
* F_c = DP / maximum DP
* F_f = OK / total freezes
Let
* B_s = 20000000
* B_v = B_a = B_c = B_f = 10000000
* G_x = the song groove radar value in category x.
* M_x = the theoretical maximum value in category x:
** M_s = 374
** M_v = 640
** M_a = 67
** M_c = 3832
** M_f = 8000
* P_x = round(floor(128 * B_x / M_x) * G_x / 128)
Then:
* V_x = floor((floor(F_x * 100) * P_x / 100) is the bonus for radar category x.


=== DDRMAX2/Extreme ===
=== DDRMAX2/Extreme ===
Scoring system: http://web.archive.org/web/20130411085205fw_/http://www.konami.jp/bemani/ddr/jp/am/ddrmax2/score.html (normal), http://web.archive.org/web/20130411085821fw_/http://www.konami.jp/bemani/ddr/jp/am/ddrmax2/score_oni.html (MAX2 oni), https://web.archive.org/web/20070112062754fw_/http://www.konami.jp/bemani/ddr/jp/am/extreme/score.html (Extreme)
Scoring system: http://web.archive.org/web/20130411085205fw_/http://www.konami.jp/bemani/ddr/jp/am/ddrmax2/score.html (MAX2 normal), https://web.archive.org/web/20070112062754fw_/http://www.konami.jp/bemani/ddr/jp/am/extreme/score.html (Extreme)


Variant of 3rd with difficulty multiplier.
Variant of 3rd with difficulty multiplier.
:Step Score = J * (K * U + Q)
:Step Score = J * (K * U + Q)
where
where
*K = ordinal position of current step or freeze (as judged; if a freeze ends at the same time as a step then it's possible that the ordinal position can change depending on if the step was early or late)
*B = 1000000 * D
*B = 1000000 * D
*D = difficulty rating if not an edit, 5 if an edit
*D = difficulty rating if not an edit, 5 if an edit
*S = N*(N+1)/2, N = number of steps plus freezes in song
*S = N*(N+1)/2, N = number of steps plus freezes in song
*U = floor(B / S)
*U = floor(B / S)
*J = 10 if Perfect, 5 if Great, 0 otherwise
*J = 10 if Perfect or OK, 5 if Great, 0 otherwise
*Q = B - U*S if the last step, 0 otherwise
*Q = B - U*S if the last step, 0 otherwise
If the player has failed, replace (K * U + Q) with 1.


=== SuperNOVA ===
=== SuperNOVA ===
Line 92: Line 121:
=== SuperNOVA2 to 2014 ===
=== SuperNOVA2 to 2014 ===
:Step Score =  
:Step Score =  
:* U if Marvelous
:* U if Marvelous or OK
:* U - 10 if Perfect
:* U - 10 if Perfect
:* U/2 - 10 if Great
:* U/2 - 10 if Great
Line 98: Line 127:
where
where
*U = 1000000 / N
*U = 1000000 / N
*N = number of steps plus freezes in song
*N = number of steps plus freezes plus shock arrows in song


Score is rounded down to nearest 10 for output but fractions are retained internally.
Score is rounded down to nearest 10 for output but fractions are retained internally.
Line 104: Line 133:
=== A onwards ===
=== A onwards ===
:Step Score =  
:Step Score =  
:* U if Marvelous
:* U if Marvelous or OK
:* U - 10 if Perfect
:* U - 10 if Perfect
:* U * 0.6 - 10 if Great
:* U * 0.6 - 10 if Great
Line 111: Line 140:
where
where
*U = 1000000 / N
*U = 1000000 / N
*N = number of steps plus freezes in song
*N = number of steps plus freezes plus shock arrows in song


Score is rounded down to nearest 10 for output but fractions are retained internally.
Score is rounded down to nearest 10 for output but fractions are retained internally.
Line 127: Line 156:
AC scoring systems were unified for all non-exclusive releases after SuperNOVA 2.
AC scoring systems were unified for all non-exclusive releases after SuperNOVA 2.
*Kids (has a grade but not a numerical score)
*Kids (has a grade but not a numerical score)
*true Kiss Destination (only appears at end of song; 9 digit scores possible; same as )
*true Kiss Destination (only appears at end of song; 9 digit scores possible; likely same as 1st/2nd/Club)
*DREAMS COME TRUE (only appears at end of song; appears to be same as TKD)
*DREAMS COME TRUE (only appears at end of song; appears to be same as TKD)
*Disney's RAVE (no numerical score, grade shown ingame and updated in realtime)
*Disney's RAVE (no numerical score, grade shown ingame and updated in realtime)
Line 137: Line 166:
*1st Asia (likely same as 1st/2nd)
*1st Asia (likely same as 1st/2nd)


== Console and home mixes ==
=== Special modes ===
 
==== 3rd Nonstop ====
 
Probably same as normal with B replaced by (1000000 * stage number), but unverified.
 
==== MAX2 Oni ====
Scoring system: http://web.archive.org/web/20130411085821fw_/http://www.konami.jp/bemani/ddr/jp/am/ddrmax2/score_oni.html
:Step Score = 2 if Perfect or OK, 1 if Great, 0 otherwise
 
Divide the score by max score to get percentage, round down to nearest 0.1%.
 
==== Extreme Nonstop ====
Incorporates Marvelous and stage count.
:Step Score = J * (K * U + Q)
where
*K = ordinal position of current step or freeze (as judged; if a freeze ends at the same time as a step then it's possible that the ordinal position can change depending on if the step was early or late)
*B = 10000000 * stage number
*S = N*(N+1)/2, N = number of steps plus freezes in song
*U = floor(B / S)
*J = 10 if Marvelous or OK, 9 if Perfect, 5 if Great, 0 otherwise
*Q = B - U*S if the last step, 0 otherwise
 
==== Extreme Challenge ====
 
:Step Score = 3 if Marvelous or OK, 2 if Perfect, 1 if Great, 0 otherwise
 
This is also used as the EX Score in later games.
 
==== SuperNOVA Nonstop/Challenge ====
 
:Step Score = 10000000 * J / (3*N)
where
*J = 3 if Marvelous or OK, 2 if Perfect, 1 if Great, 0 otherwise
*N = number of steps plus freezes in course
 
Score is rounded down to nearest integer for output but fractions are retained internally.
 
==== SuperNOVA2 to X3 Courses (Nonstop/Challenge) ====
 
:Step Score = 1000000 * (J + floor((S - 1) / 2)) / Z
where:
*J = 3 if Marvelous or OK, 2 if Perfect, 1 if Great, 0 otherwise
*S = stage number
*Z = the sum of ((3 + floor((S - 1) / 2)) * number of steps in stage S) across all stages
 
Score is rounded down to nearest integer for output but fractions are retained internally.
 
==== A20/A3 Courses (Nonstop/Dan) ====
Same as in regular modes, but counted across the whole course.
 
:Step Score =
:* U if Marvelous or OK
:* U - 10 if Perfect
:* U * 0.6 - 10 if Great
:* U * 0.2 - 10 if Good
:* 0 otherwise
where
*U = 1000000 / N
*N = number of steps plus freezes plus shock arrows total in course.
 
Score is rounded down to nearest 10 for output but fractions are retained internally.
 
== Console and home mixes, regular ==
=== Same as AC mixes ===
=== Same as AC mixes ===


Line 150: Line 242:
* SuperNOVA:
* SuperNOVA:
**  
**  
* SN2 to 2014:
* SN2:
* A to present:
* A:
** GRAND PRIX
** GRAND PRIX
=== Extreme US ===
Ref: http://aaronin.jp/boards/viewtopic.php?t=1230
Also seen in CS Festival and AC Fusion among others. Rounding not confirmed.
Ingame score is as follows:
:Step Score = 7000000 * J / (2*N)
where
*J = 2 if Perfect/OK, 1 if Great, 0 otherwise
*N = number of steps plus freezes in song
Song bonus is as follows (needs more research):
:Bonus Step Score = 3000000 * J / (2*N)
where
*J = 2 if Perfect/OK, 1 if Great, 0 if Good/NG, -1 if Boo, -2 if Miss.
*N = number of steps plus freezes in song
Then:
*If total bonus is negative, replace with 0.
*If combined total score including bonus is less than or equal to 9,200,000 or the song was not a full combo, subtract 800,000 from bonus (needs more research)
=== V ===
Same as A but with -100 instead of -10.
:Step Score =
:* U if Marvelous or OK
:* U - 100 if Perfect
:* U * 0.6 - 100 if Great
:* U * 0.2 - 100 if Good
:* 0 otherwise
where
*U = 1000000 / N
*N = number of steps plus freezes plus shock arrows in song
Score is rounded down to nearest 10 for output but fractions are retained internally.
=== PS3 ===
Rounding not confirmed. Decimals appear to be retained internally and the score rounded down for display, except when they aren't.
Steps within jumps etc. are counted separately.
:Step Score = U / 4 * J
where
* J = 4 if Perfect (non-freeze), 3 if Great, 2 if Perfect freeze
* U = 1000000 / (steps + freezes * 0.5)
If the arrow is a bonus arrow, add
:Bonus Step Score = floor(U / 4) * J (rounding not confirmed)


=== Pending ===
=== Pending ===


Those known not to correspond with any (preceding) AC release include:
Those known not to correspond with any (preceding) AC release include:
*Extreme US
* Ultramix series (1, 2 and 3 are different, 4 might be the same as 3)
*Ultramix series (1, 2 and 3 are different, 4 might be the same as 3)
*V (uses A but with -100 instead of -10, IIRC)
* Hottest Party series (incl. MUSIC FIT and Winx Club) (similar to MAX2/Extreme but max score doesn't match)
* Hottest Party series (incl. MUSIC FIT and Winx Club) (similar to MAX2/Extreme but max score doesn't match)
* UNIVERSE series:
* UNIVERSE series:
Line 168: Line 308:
* US PC (appears to be same as 4th, need confirmation)
* US PC (appears to be same as 4th, need confirmation)


=== Special modes ===
 
 
=== Console and home mixes, special ===
 


Same as main mode:
Same as main mode:
Line 176: Line 319:
* MAX2 Endless (needs checks)
* MAX2 Endless (needs checks)
* Extreme Endless (needs checks)
* Extreme Endless (needs checks)
* SuperNOVA Endless
* Extreme 2 Course (and those with the same system)
* SuperNOVA2 Endless
* X Endless (conjecture available, needs checks)
* X2 Endless
* X2 Endless


==== 3rdMIX Endless ====
=== 3rdMIX Endless ===


Let C' be the adjusted combo count after step:
Let C' be the adjusted combo count after step:
: If C = combo count after step and C'' = value of C' on previous step, C' = :
: If C = combo count after step and C'_p = value of C' on previous step, C' = :
:* max(C'', C) if Perfect or Great
:* max(C'_p, C) if Perfect or Great
:* floor(C'' / 2) otherwise
:* floor(C'_p / 2) otherwise


Then,  
Then,  
Line 203: Line 344:
*mod(S + 15, 32) + 1 if S > 16
*mod(S + 15, 32) + 1 if S > 16


Yes, this means the score per step can go down when crossing stage boundaries, e.g. if S goes from 272 to 273.
Note that this means the score per step can go down when crossing stage boundaries, e.g. if S goes from 272 to 273.
 
Internal combo cap is 999999, but score cap will be hit before combo cap anyway.


==== 4thMIX Endless ====
=== 4thMIX Endless ===


:Step Score = J + (floor(C/4) * L)^2
:Step Score = J + (floor(C/4) * L)^2
Line 221: Line 364:


Note that if not Perfect or Great C will be 0 and thus step score will be 0.
Note that if not Perfect or Great C will be 0 and thus step score will be 0.
Internal combo cap is 999999, though the max combo displayed is 9999. Score cap will be hit before combo cap anyway.
=== Extreme US Endless ===
According to my notes, the same system is used in Extreme US and its derivatives, along with SuperNOVA and SuperNOVA2. None of this has been fully verified, though.
What we have:
If Good or lower, Step Score = 0. Otherwise:
If C <= 10000,
:Step Score = int((C^2 + B*C + B*D + C*D)/1000)
If C > 10000,
:Step Score = floor((step score at C = 10000) + (C-10000)*(10 + D/1000))
where:
* N = steps plus freezes in song
* D = ??00 if on Beginner, 1000 if on Basic, 1200 if on Difficult, 1400 if on Expert, ??00 if on Challenge.
* C = combo after (?) step
* B = floor(100000000 / N)
* J = 5 if Marvelous or OK, 4 if Perfect, 3 if Great
What we need:
* How does J affect the score? It's not a straight multiplier, but on low combo and state counts it's close
* Rounding
* Values of D
=== X Endless ===
Not fully verified.
Let:
* N be the total number of notes hit so far. (how do we define a "hit", clarify)
* M be the total number of Marvelouses so far.
* N' = N - P, where
** P is a penalty defined as follows: Every time a combo-breaking judgement occurs, floor(C/4) is added to P, where C is the stage combo before the note (i.e. the current combo, but only counted from the start of the stage if it began in a previous stage).
* S = current stage number.
* L = 2*S^3 if on Level 1, and floor(S^3/D) + 1 otherwise, where
** D = 3 if on Level 2, 6 if on Level 3, 8 if on Level 4 and 10 if on All.
Then the step score is:
* Marvelous: 3 * (N' + M) * L
* Perfect/OK: 2 * N' * L
* Great: N' * L
There may be rounding errors involved.
Strictly speaking, the formula for L is actually 2*min(S^3,2^31 - 1) for Level 1 and floor(min(S,1600)^3/D)+1 for other levels, but the caps aren't expected to be reached before the score cap (10^16 - 1).


== Mobile mixes ==
== Mobile mixes ==
Line 230: Line 419:
where
where
*J = 2 if Marvelous/Perfect/OK, 1 if Great, 0 otherwise
*J = 2 if Marvelous/Perfect/OK, 1 if Great, 0 otherwise
== Grading systems ==
=== 1st ===
Derived by me, not yet checked on AC.
Possible grades are S, A, B, C, D.
* If (bad + miss) == 0 and (max combo >= 100 or perfects >= 0.75 * total steps) then S.
* Otherwise:
** Set provisional grade to A if (max combo >= 50 or perfects >= 0.5 * total steps) and B otherwise
** Deduct one grade if (bad + miss) > 0.05 * total steps
** Deduct another grade if (bad + miss) > 0.15 * total steps.
=== 2nd ===
Found on AIJ.
Possible grades are SS, S, A, B, C, D.
Let S be the total number of steps and C be the max combo. Define the following thresholds:
* C_1 = min( 0.9 * S, 100)
* C_2 = min( 0.5 * S, 60)
* C_3 = min( 0.5 * S, 20)
Let:
* GP = (C == S) + (C >= C_1) + (C >= C_2) + (C >= C_3)
** i.e. if C == S then GP = 4, else if C >= C_1, GP = 3, etc.
* MT = 4 - GP.
Then:
* Provisional grade is SS if GP == 4, S if GP == 3, A if GP == 2, B if GP == 1, C if GP == 0.
* Deduct one grade if either (misses > MT) or (perfects < greats).
=== 3rd ===
Possible grades are SSS, SS, S, A, B, C, D, E.
Assign DP per judgement:
* 2 for Perfect
* 1 for Great
* 0 for Good
* -4 for Boo
* -5 for Miss
Then:
* If failed (empty life bar at some point), assign E.
* If all Perfects, assign SSS.
* Else, if all Great or Perfects, assign SS if (perfects >= 0.8 * total steps) and S otherwise.
* Else, check DP / Max DP:
** If >= 0.8, assign A
** If >= 0.64, assign B
** If >= 0.5, assign C
** Else, assign D.
=== 4th ===
Possible grades are AA, A, B, C, D.
Assign DP per judgement as in 3rd.
Then:
* If failed (empty life bar at some point), assign D.
* If all Perfects, assign AA.
* Else, if all Great or Perfects, assign A.
* Else, check DP / Max DP:
** If >= 0.64, assign B
** Else, assign C.
=== 5th ===
Possible grades are AAA, AA, A, B, C, D, E. Very similar to 3rd.
Assign DP per judgement as in 3rd.
Then:
* If failed (empty life bar at some point), assign E.
* If all Perfects, assign AAA.
* Else, if all Great or Perfects, assign AA.
* Else, check DP / Max DP:
** If >= 0.8, assign A
** If >= 0.64, assign B
** If >= 0.5, assign C
** Else, assign D.
Note that A, B, C and D are the same as 3rd's A, B, C and D. In fact, we can do a simple conversion table for 3rd, 4th and 5th:
{| class="wikitable"
|-
| 3rd
| 4th
| 5th
|-
| SSS || AA || AAA
|-
| SS || A || AA
|-
| S || A || AA
|-
|A || B || A
|-
|B || B || B
|-
|C || C || C
|-
|D || C || D
|}
=== MAX to Extreme ===
Possible grades are AAA, AA, A, B, C, D, E.
Assign DP per judgement:
* 2 for Perfect
* 1 for Great
* 0 for Good
* -4 for Boo
* -8 for Miss
* 6 for OK
* 0 for NG
Then:
* If failed (empty life bar at some point), assign E.
* Else, check DP / Max DP:
** If DP = max DP, assign AAA
** If >= 0.93, assign AA
** If >= 0.80, assign A
** If >= 0.65, assign B
** If >= 0.45, assign C
** Else, assign D.
=== SuperNOVA ===
Based on machine score. AIJ also mentions a DP system?
{| class="wikitable"
|-
|10,000,000 || AAA
|-
|9,500,000 || AA
|-
|8,100,000 || A
|-
|6,500,000 || B
|-
|5,400,000 || C
|-
|<5,400,000 || D
|-
|Failed || E
|}
=== SuperNOVA 2 to 2014 ===
Based on machine score.
{| class="wikitable"
|-
|Grade || Beginner/Basic || Difficult || Expert/Challenge
|-
|AAA ||colspan="3"| 990,000
|-
|AA ||colspan="3"| 950,000
|-
|A || 800,000 || 850,000 || 900,000
|-
|B || 700,000 || 750,000 || 800,000
|-
|C || 500,000 || 600,000 || 700,000
|-
|D ||colspan="3"| Lower
|-
|E ||colspan="3"| Failed
|}
=== A onwards ===
Based on machine score.
{| class="wikitable"
|-
|Grade || Score
|-
|AAA || 990,000
|-
|AA || 900,000
|-
|AA- || 890,000
|-
|A+ || 850,000
|-
|A || 800,000
|-
|A- || 790,000
|-
|B+ || 750,000
|-
|B || 700,000
|-
|B- || 690,000
|-
|C+ || 650,000
|-
|C || 600,000
|-
|C- || 590,000
|-
|D+ || 550,000
|-
|D || Lower
|}
=== Pending ===
* Solo (Bassmix and 2000)
* V (apparently AA just disappeared? did that include AA-)
* etc.

Latest revision as of 02:57, 4 October 2024

This is not intended to be article quality at the moment.

Also putting grading on this page.

Arcade mixes

1st/2nd/Club

Step Score = J * (floor(C/4)^2 + 1)

where

  • C = combo count after step
  • J = 300 if Perfect, 100 if Great, 0 otherwise

3rd

Official description of the scoring system: https://web.archive.org/web/20080604023941fw_/http://www.konami.jp/bemani/ddr/jp/am/ddr3rd/plan/score.html

Then for the kth step,

Step Score = J * (K * U + Q)

where

  • B = 1000000
  • S = N*(N+1)/2, N = number of steps in song
  • U = floor(B / S)
  • J = 10 if Perfect, 5 if Great, 0 otherwise
  • Q = B - U*S if the last step, 0 otherwise

4th/USA

Official description of the scoring system: https://web.archive.org/web/20130219110405fw_/http://www.konami.jp/bemani/ddr/jp/am/ddr4th/plan/score.html

Step Score = J + 333 * C

where

  • C = combo count after step
  • J = 777 if Perfect, 555 if Great, 0 otherwise

If the player has failed (life bar empty), replace C with 0.

Note that AC DDR USA uses this even though its interface is based on 3rdMIX!

5th

Scoring system: http://web.archive.org/web/20090511010714fw_/http://www.konami.jp/bemani/ddr/jp/am/ddr5th/plan/score.html (mind the frame)

Variant of 3rd with difficulty multiplier and end of song grade and combo bonuses.

Step Score = J * (K * U + Q)

where

  • B = 500000 * (1 + D) if not a long version, 500000 * (1 + 2 * D) if a long version
  • D = difficulty rating if not an edit, 7 (or 14) if an edit
  • S = N*(N+1)/2, N = number of steps in song
  • U = floor(B / S)
  • J = 10 if Perfect, 5 if Great, 0 otherwise
  • Q = B - U*S if the last step, 0 otherwise

At the end of the stage a bonus is applied:

  • Dance Level Bonus = 10000000 for AAA, divide by 10 for each lower rating down to 100 for D, 0 for E (only applied for "new songs", non-edits and songs that haven't been played already in the current session)
  • Combo Bonus is accumulated per step:
Step Combo Bonus = C * J'

where

  • C = combo count after step if life bar not empty, 0 otherwise
  • J' = 55 if Perfect, 33 if Great, 0 otherwise

DDRMAX

Scoring system: http://web.archive.org/web/20130411085012fw_/http://www.konami.jp/bemani/ddr/jp/am/ddrmax/sec/score.html and http://web.archive.org/web/20090523210619fw_/http://www.konami.jp/bemani/ddr/jp/am/ddrmax/sec/score2.html

Variant of 3rd with groove radar bonuses.

Step Score = J * (K * U + Q)

where

  • K = ordinal position of current step (not freeze; freezes are not scored during the song counted in the Groove Radar bonus)
  • B = 5000000
  • S = N*(N+1)/2, N = number of steps in song (not freezes)
  • U = floor(B / S)
  • J = 10 if Perfect, 5 if Great, 0 otherwise
  • Q = B - U*S if the last step, 0 otherwise

At the end of the stage a bonus is applied for each Groove Radar category.

Define:

  • F_s = Perfects / total steps
  • F_v = max combo / song maximum combo
  • F_a = Perfects on jumps / total jumps
  • F_c = DP / maximum DP
  • F_f = OK / total freezes

Let

  • B_s = 20000000
  • B_v = B_a = B_c = B_f = 10000000
  • G_x = the song groove radar value in category x.
  • M_x = the theoretical maximum value in category x:
    • M_s = 374
    • M_v = 640
    • M_a = 67
    • M_c = 3832
    • M_f = 8000
  • P_x = round(floor(128 * B_x / M_x) * G_x / 128)

Then:

  • V_x = floor((floor(F_x * 100) * P_x / 100) is the bonus for radar category x.

DDRMAX2/Extreme

Scoring system: http://web.archive.org/web/20130411085205fw_/http://www.konami.jp/bemani/ddr/jp/am/ddrmax2/score.html (MAX2 normal), https://web.archive.org/web/20070112062754fw_/http://www.konami.jp/bemani/ddr/jp/am/extreme/score.html (Extreme)

Variant of 3rd with difficulty multiplier.

Step Score = J * (K * U + Q)

where

  • K = ordinal position of current step or freeze (as judged; if a freeze ends at the same time as a step then it's possible that the ordinal position can change depending on if the step was early or late)
  • B = 1000000 * D
  • D = difficulty rating if not an edit, 5 if an edit
  • S = N*(N+1)/2, N = number of steps plus freezes in song
  • U = floor(B / S)
  • J = 10 if Perfect or OK, 5 if Great, 0 otherwise
  • Q = B - U*S if the last step, 0 otherwise

If the player has failed, replace (K * U + Q) with 1.

SuperNOVA

Scoring system: http://web.archive.org/web/20130219115342fw_/http://www.konami.jp/bemani/ddr/jp/am/sn/secret/secret_02.html

Step Score = 10000000 * J / (2*N)

where

  • J = 2 if Perfect/OK, 1 if Great, 0 otherwise
  • N = number of steps plus freezes in song

Score is rounded down to nearest integer for output but fractions are retained internally.

SuperNOVA2 to 2014

Step Score =
  • U if Marvelous or OK
  • U - 10 if Perfect
  • U/2 - 10 if Great
  • 0 otherwise

where

  • U = 1000000 / N
  • N = number of steps plus freezes plus shock arrows in song

Score is rounded down to nearest 10 for output but fractions are retained internally.

A onwards

Step Score =
  • U if Marvelous or OK
  • U - 10 if Perfect
  • U * 0.6 - 10 if Great
  • U * 0.2 - 10 if Good
  • 0 otherwise

where

  • U = 1000000 / N
  • N = number of steps plus freezes plus shock arrows in song

Score is rounded down to nearest 10 for output but fractions are retained internally.

Solo Bass Mix/Solo 2000

Scores are tallied up at the end of the song:

  • Perfect: 500 per Perfect
  • Great: 300 per Great
  • Good: 100 per Good
  • Max Combo: 400 * Max Combo
  • Max Perfect Combo: 100 * Max Perfect Combo

Pending

AC scoring systems were unified for all non-exclusive releases after SuperNOVA 2.

  • Kids (has a grade but not a numerical score)
  • true Kiss Destination (only appears at end of song; 9 digit scores possible; likely same as 1st/2nd/Club)
  • DREAMS COME TRUE (only appears at end of song; appears to be same as TKD)
  • Disney's RAVE (no numerical score, grade shown ingame and updated in realtime)
  • 1st US (likely same as 1st/2nd)
  • DS (likely same as 1st/2nd, unchecked)
  • EuroMIX (looks like 3rd)
  • EuroMIX2 (looks similar to MAX2)
  • Fusion (likely same as Extreme US)
  • 1st Asia (likely same as 1st/2nd)

Special modes

3rd Nonstop

Probably same as normal with B replaced by (1000000 * stage number), but unverified.

MAX2 Oni

Scoring system: http://web.archive.org/web/20130411085821fw_/http://www.konami.jp/bemani/ddr/jp/am/ddrmax2/score_oni.html

Step Score = 2 if Perfect or OK, 1 if Great, 0 otherwise

Divide the score by max score to get percentage, round down to nearest 0.1%.

Extreme Nonstop

Incorporates Marvelous and stage count.

Step Score = J * (K * U + Q)

where

  • K = ordinal position of current step or freeze (as judged; if a freeze ends at the same time as a step then it's possible that the ordinal position can change depending on if the step was early or late)
  • B = 10000000 * stage number
  • S = N*(N+1)/2, N = number of steps plus freezes in song
  • U = floor(B / S)
  • J = 10 if Marvelous or OK, 9 if Perfect, 5 if Great, 0 otherwise
  • Q = B - U*S if the last step, 0 otherwise

Extreme Challenge

Step Score = 3 if Marvelous or OK, 2 if Perfect, 1 if Great, 0 otherwise

This is also used as the EX Score in later games.

SuperNOVA Nonstop/Challenge

Step Score = 10000000 * J / (3*N)

where

  • J = 3 if Marvelous or OK, 2 if Perfect, 1 if Great, 0 otherwise
  • N = number of steps plus freezes in course

Score is rounded down to nearest integer for output but fractions are retained internally.

SuperNOVA2 to X3 Courses (Nonstop/Challenge)

Step Score = 1000000 * (J + floor((S - 1) / 2)) / Z

where:

  • J = 3 if Marvelous or OK, 2 if Perfect, 1 if Great, 0 otherwise
  • S = stage number
  • Z = the sum of ((3 + floor((S - 1) / 2)) * number of steps in stage S) across all stages

Score is rounded down to nearest integer for output but fractions are retained internally.

A20/A3 Courses (Nonstop/Dan)

Same as in regular modes, but counted across the whole course.

Step Score =
  • U if Marvelous or OK
  • U - 10 if Perfect
  • U * 0.6 - 10 if Great
  • U * 0.2 - 10 if Good
  • 0 otherwise

where

  • U = 1000000 / N
  • N = number of steps plus freezes plus shock arrows total in course.

Score is rounded down to nearest 10 for output but fractions are retained internally.

Console and home mixes, regular

Same as AC mixes

  • 1st/2nd/Club:
    • DDR 1st JP
    • 2ndReMIX
  • 3rd:
  • 4th:
  • 5th:
  • MAX:
  • MAX2/Extreme:
  • SuperNOVA:
  • SN2:
  • A:
    • GRAND PRIX

Extreme US

Ref: http://aaronin.jp/boards/viewtopic.php?t=1230

Also seen in CS Festival and AC Fusion among others. Rounding not confirmed.

Ingame score is as follows:

Step Score = 7000000 * J / (2*N)

where

  • J = 2 if Perfect/OK, 1 if Great, 0 otherwise
  • N = number of steps plus freezes in song

Song bonus is as follows (needs more research):

Bonus Step Score = 3000000 * J / (2*N)

where

  • J = 2 if Perfect/OK, 1 if Great, 0 if Good/NG, -1 if Boo, -2 if Miss.
  • N = number of steps plus freezes in song

Then:

  • If total bonus is negative, replace with 0.
  • If combined total score including bonus is less than or equal to 9,200,000 or the song was not a full combo, subtract 800,000 from bonus (needs more research)

V

Same as A but with -100 instead of -10.

Step Score =
  • U if Marvelous or OK
  • U - 100 if Perfect
  • U * 0.6 - 100 if Great
  • U * 0.2 - 100 if Good
  • 0 otherwise

where

  • U = 1000000 / N
  • N = number of steps plus freezes plus shock arrows in song

Score is rounded down to nearest 10 for output but fractions are retained internally.

PS3

Rounding not confirmed. Decimals appear to be retained internally and the score rounded down for display, except when they aren't.

Steps within jumps etc. are counted separately.

Step Score = U / 4 * J

where

  • J = 4 if Perfect (non-freeze), 3 if Great, 2 if Perfect freeze
  • U = 1000000 / (steps + freezes * 0.5)

If the arrow is a bonus arrow, add

Bonus Step Score = floor(U / 4) * J (rounding not confirmed)

Pending

Those known not to correspond with any (preceding) AC release include:

  • Ultramix series (1, 2 and 3 are different, 4 might be the same as 3)
  • Hottest Party series (incl. MUSIC FIT and Winx Club) (similar to MAX2/Extreme but max score doesn't match)
  • UNIVERSE series:
    • 1 and 2 similar to MAX2/Extreme but max score is 100,000,000?
    • 3 similar to SN2 but doesn't appear to round to 10s

Other unchecked (partial):

  • GB series (same as 1st/2nd? score only at end)
  • US PC (appears to be same as 4th, need confirmation)


Console and home mixes, special

Same as main mode:

  • 2ndReMIX Endless

Pending writeup (partial):

  • MAX2 Endless (needs checks)
  • Extreme Endless (needs checks)
  • Extreme 2 Course (and those with the same system)
  • X2 Endless

3rdMIX Endless

Let C' be the adjusted combo count after step:

If C = combo count after step and C'_p = value of C' on previous step, C' = :
  • max(C'_p, C) if Perfect or Great
  • floor(C'_p / 2) otherwise

Then,

Step Score = J * (floor(C'/4)^E + 1) * L_1 * L_2

where

  • J = 300 if Perfect, 100 if Great, 0 otherwise
  • E = min(6, floor(1 + (S - 1) / 8))
  • L_1 = 1 + floor(N / 256)^floor(1 + (S - 1) / 32)
  • L_2 = S^min(9, floor(1 + (S + 15)/32)) * (S - max(0, S - mod(S + 15, 32) - 1))
  • N = cumulative step count across all stages so far after step
  • S = current stage number

The term (S - max(0, S - mod(S + 15, 32) - 1)) can also be expressed as:

  • S, if S <= 16
  • mod(S + 15, 32) + 1 if S > 16

Note that this means the score per step can go down when crossing stage boundaries, e.g. if S goes from 272 to 273.

Internal combo cap is 999999, but score cap will be hit before combo cap anyway.

4thMIX Endless

Step Score = J + (floor(C/4) * L)^2

where

  • C = combo count after step
  • J = 301 if Perfect, 101 if Great, 0 otherwise
  • L = max(1, S - 5) * max(1, floor(2^E * (S - 16 * (E + 3)) - 1))
  • E = min(11, floor(S / 16) - 4)
  • S = current stage number

Alternatively, if we let L = max(1, S - 5) * L_2 and L_2(S) be a function of S, then we can define it as a recurrence:

  • L_2(S) = 1, S <= 16
  • L_2(S) = L_2(S - 1) + 1 * (mod(S, 2 ^ (4 - floor(S / 16)) == 0), 17 <= S <= 64
  • L_2(S) = L_2(S - 1) + 2 ^ min(11, floor(S / 16) - 4), S >= 65.

Note that if not Perfect or Great C will be 0 and thus step score will be 0.

Internal combo cap is 999999, though the max combo displayed is 9999. Score cap will be hit before combo cap anyway.

Extreme US Endless

According to my notes, the same system is used in Extreme US and its derivatives, along with SuperNOVA and SuperNOVA2. None of this has been fully verified, though.

What we have:

If Good or lower, Step Score = 0. Otherwise: If C <= 10000,

Step Score = int((C^2 + B*C + B*D + C*D)/1000)

If C > 10000,

Step Score = floor((step score at C = 10000) + (C-10000)*(10 + D/1000))

where:

  • N = steps plus freezes in song
  • D = ??00 if on Beginner, 1000 if on Basic, 1200 if on Difficult, 1400 if on Expert, ??00 if on Challenge.
  • C = combo after (?) step
  • B = floor(100000000 / N)
  • J = 5 if Marvelous or OK, 4 if Perfect, 3 if Great

What we need:

  • How does J affect the score? It's not a straight multiplier, but on low combo and state counts it's close
  • Rounding
  • Values of D

X Endless

Not fully verified.

Let:

  • N be the total number of notes hit so far. (how do we define a "hit", clarify)
  • M be the total number of Marvelouses so far.
  • N' = N - P, where
    • P is a penalty defined as follows: Every time a combo-breaking judgement occurs, floor(C/4) is added to P, where C is the stage combo before the note (i.e. the current combo, but only counted from the start of the stage if it began in a previous stage).
  • S = current stage number.
  • L = 2*S^3 if on Level 1, and floor(S^3/D) + 1 otherwise, where
    • D = 3 if on Level 2, 6 if on Level 3, 8 if on Level 4 and 10 if on All.

Then the step score is:

  • Marvelous: 3 * (N' + M) * L
  • Perfect/OK: 2 * N' * L
  • Great: N' * L

There may be rounding errors involved.

Strictly speaking, the formula for L is actually 2*min(S^3,2^31 - 1) for Level 1 and floor(min(S,1600)^3/D)+1 for other levels, but the caps aren't expected to be reached before the score cap (10^16 - 1).

Mobile mixes

DDR S/S+

Despite having a UI based on X the scoring system is closer to that of SN than SN2.

Step Score = 1000000 * J / (2*N)

where

  • J = 2 if Marvelous/Perfect/OK, 1 if Great, 0 otherwise


Grading systems

1st

Derived by me, not yet checked on AC.

Possible grades are S, A, B, C, D.

  • If (bad + miss) == 0 and (max combo >= 100 or perfects >= 0.75 * total steps) then S.
  • Otherwise:
    • Set provisional grade to A if (max combo >= 50 or perfects >= 0.5 * total steps) and B otherwise
    • Deduct one grade if (bad + miss) > 0.05 * total steps
    • Deduct another grade if (bad + miss) > 0.15 * total steps.

2nd

Found on AIJ.

Possible grades are SS, S, A, B, C, D.

Let S be the total number of steps and C be the max combo. Define the following thresholds:

  • C_1 = min( 0.9 * S, 100)
  • C_2 = min( 0.5 * S, 60)
  • C_3 = min( 0.5 * S, 20)

Let:

  • GP = (C == S) + (C >= C_1) + (C >= C_2) + (C >= C_3)
    • i.e. if C == S then GP = 4, else if C >= C_1, GP = 3, etc.
  • MT = 4 - GP.

Then:

  • Provisional grade is SS if GP == 4, S if GP == 3, A if GP == 2, B if GP == 1, C if GP == 0.
  • Deduct one grade if either (misses > MT) or (perfects < greats).

3rd

Possible grades are SSS, SS, S, A, B, C, D, E.

Assign DP per judgement:

  • 2 for Perfect
  • 1 for Great
  • 0 for Good
  • -4 for Boo
  • -5 for Miss

Then:

  • If failed (empty life bar at some point), assign E.
  • If all Perfects, assign SSS.
  • Else, if all Great or Perfects, assign SS if (perfects >= 0.8 * total steps) and S otherwise.
  • Else, check DP / Max DP:
    • If >= 0.8, assign A
    • If >= 0.64, assign B
    • If >= 0.5, assign C
    • Else, assign D.

4th

Possible grades are AA, A, B, C, D.

Assign DP per judgement as in 3rd.

Then:

  • If failed (empty life bar at some point), assign D.
  • If all Perfects, assign AA.
  • Else, if all Great or Perfects, assign A.
  • Else, check DP / Max DP:
    • If >= 0.64, assign B
    • Else, assign C.


5th

Possible grades are AAA, AA, A, B, C, D, E. Very similar to 3rd.

Assign DP per judgement as in 3rd.

Then:

  • If failed (empty life bar at some point), assign E.
  • If all Perfects, assign AAA.
  • Else, if all Great or Perfects, assign AA.
  • Else, check DP / Max DP:
    • If >= 0.8, assign A
    • If >= 0.64, assign B
    • If >= 0.5, assign C
    • Else, assign D.

Note that A, B, C and D are the same as 3rd's A, B, C and D. In fact, we can do a simple conversion table for 3rd, 4th and 5th:

3rd 4th 5th
SSS AA AAA
SS A AA
S A AA
A B A
B B B
C C C
D C D

MAX to Extreme

Possible grades are AAA, AA, A, B, C, D, E.

Assign DP per judgement:

  • 2 for Perfect
  • 1 for Great
  • 0 for Good
  • -4 for Boo
  • -8 for Miss
  • 6 for OK
  • 0 for NG

Then:

  • If failed (empty life bar at some point), assign E.
  • Else, check DP / Max DP:
    • If DP = max DP, assign AAA
    • If >= 0.93, assign AA
    • If >= 0.80, assign A
    • If >= 0.65, assign B
    • If >= 0.45, assign C
    • Else, assign D.

SuperNOVA

Based on machine score. AIJ also mentions a DP system?

10,000,000 AAA
9,500,000 AA
8,100,000 A
6,500,000 B
5,400,000 C
<5,400,000 D
Failed E


SuperNOVA 2 to 2014

Based on machine score.

Grade Beginner/Basic Difficult Expert/Challenge
AAA 990,000
AA 950,000
A 800,000 850,000 900,000
B 700,000 750,000 800,000
C 500,000 600,000 700,000
D Lower
E Failed

A onwards

Based on machine score.

Grade Score
AAA 990,000
AA 900,000
AA- 890,000
A+ 850,000
A 800,000
A- 790,000
B+ 750,000
B 700,000
B- 690,000
C+ 650,000
C 600,000
C- 590,000
D+ 550,000
D Lower

Pending

  • Solo (Bassmix and 2000)
  • V (apparently AA just disappeared? did that include AA-)
  • etc.