User:Arcorann/DDR Scoring: Difference between revisions

(Created page with "This is not intended to be article quality at the moment. == 1st/2nd/Club == == 3rd == == 4th == == 5th == == DDRMAX == == DDRMAX2/Extreme == == SuperNOVA == == SuperN...")
 
 
(27 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.


== 1st/2nd/Club ==
Also putting grading on this page.


== 3rd ==
== Arcade mixes ==


== 4th ==
=== 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


== 5th ==
=== 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


== DDRMAX ==
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


== DDRMAX2/Extreme ==
=== 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


== SuperNOVA ==
:Step Score = J + 333 * C
where
*C = combo count after step
*J = 777 if Perfect, 555 if Great, 0 otherwise


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


== A ==
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 ==
=== 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.
 
=== 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)
 
 
 
=== Special modes ===
 
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:
 
{| 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.
40

edits