本ページではDDRにおけるΔMAXのBPM変化が実際には1拍ごとに1上昇となっていないことについて説明する。
前提知識
ΔMAXのBPM変化が1拍ごとに1上昇でないことの根拠としてグルーヴレーダーのCHAOS値を使用するため、CHAOS値についての計算式を掲載する。
また、グルーヴレーダーの各値の計算式において「曲の長さ」や「譜面の長さ」という指定があった場合、1人でその譜面をプレーをした場合のHERE WE GOと表示されてからCLEAREDと表示されるまでの時間を指す。
(MAX360など、譜面によって表示タイミングが異なることがあるため)
CHAOS値の計算式について
CHAOS基本値について
BPM変化や曲の長さによらない、純粋な矢印の配置データのみから得られる数値。
最初にノートごとにNOTEを使用した際に何色で表示されるか、直前の矢印との距離、その行に置かれている矢印の数からノート別基本値を計算する。
ノート別基本値をすべて足したものがCHAOS基本値となる。
ノート別基本値の計算方法は以下の通り。
ノート別基本値 = 直前矢印との距離 * NOTE使用時の矢印の色 * その行での矢印の配置数
直前矢印との距離
k分音符がn個分の距離の時、k/n。
4分音符1個分の距離なら4、8分音符1個分の距離なら8といった具合。
距離が短いほど数値が大きくなる。
NOTE使用時の矢印の色
その行での矢印の配置数
見た目通りの矢印が横に何個並んでいるか。
同時押しなら2個、ショックアローなら4個または5個または8個。
計算例
←___ 赤
___→ 黄 …… 直前の矢印との間隔は16分1個なので 16 / 1 = 16
____
___→ 黄 …… 直前の矢印との間隔は16分2個なので 16 / 2 = 8
_↓__ 赤
____
← ↑_ 青 …… 直前の矢印との間隔は8分1個なので (8 / 1) * (1 / 2) = 4 ですが、
同時踏みであるため 4 * 2 = 8
BPM変化補正について
まずは譜面のBPM変化量の合計値を計算する。
BPM変化がある場合、直前のBPMとの差の絶対値を加算し、停止がある場合は停止後のBPMを加算する。
停止なしでBPM変化のみの例
『PARANOiA ~HADES~』のBPM推移300-75-150-300を例にすると、
( 300 - 75 ) + (150 - 75) + (300 - 150) = 450となる。
BPM変化なしで停止のみの例
『SUPER SAMURAI』停止が6回あるので
170 + 170 + 170 + 170 + 170 + 170 = 1020となる。
停止前後でBPMが異なる場合の例
『Trim』のBPM推移 170-85-(停止)-340-170を例にすると、
(170 - 85) + 340 + (340 - 170) = 595となる。
BPM変化量の合計が分かったら、次は分間BPM変化量を計算する。
BPM変化量の合計値 * ( 60 / 曲の長さ[秒] )
最後に、ようやくBPM変化補正を計算する。
BPM変化補正 = 1 + ( 分間BPM変化量 / 1500 )
CHAOS値の計算式
まずはCHAOS要素値を計算する。
CHAOS要素値 = CHAOS基本値 * BPM変化補正
曲の長さによる有利不利をなくすため100秒当たりの値にする。
100秒当たりのCHAOS要素値 = 「CHAOS要素値 * ( 100 / 曲の長さ[秒] ) 」の小数点以下切り捨て
この100秒あたりのCHAOS要素値が
2000以下のとき:CHAOS値 = 100秒あたりのCHAOS要素値 / 20
2000以上のとき:CHAOS値 = (100秒あたりのCHAOS要素値 - 2000) / ( 25413 - 2000 ) * 100 + 100
※2000以上の計算式で登場する25413というマジックナンバーはCHAOSのSP-CHALLENGE譜面の100秒あたりのCHAOS要素値の近似値。
ここまでが前提知識である。
本題
ΔMAXの譜面のCHAOS値を計算してみよう。
SP-DIFFICULT譜面はNOTE使用時には赤色と青色のノートしかなく、青色のノートも86個あるだけなのでCHAOS基本値を手作業で数えやすい。
実際に数えてみるとCHAOS基本値は255.333……となる。
もしもΔMAXのBPM変化が1拍ごとに1ずつ上昇しているだけであるならば、BPM変化量は473になるはずである。
(101-100)+(102-101)……(572-571)+(573-572) = 573-100 = 473
ΔMAXはおおよそ2分であるため、分間BPM変化量は
473 * ( 60 / 120 ) = 236.5
となる。
BPM変化補正値は
1 + ( 236.5 / 1500 ) = 1.157……
となる。
CHAOS要素値を計算すると
255.33 * 1.16 = 220.1121
となり100秒当たりのCHAOS要素値は
FLOOR( 220.1121 * ( 100 / 120[秒] ) ) = 183
となる。
2000以下なので20で割った値がCHAOS値となる。
よって多少の誤差はあれど9.15程度になるはずである。
しかし、DDR A以降に確認してみると22となっている。
このように計算が合わないため「1拍ごとに1上昇しているわけではない」とわかる。
実際のBPM変化
実際には次のように増えたり減ったりしているとされている。
要するにBPMを上げたり下げたりして位置を調整していることだけ把握していればよく、ちゃんと読む必要はない。
100-101.124-102.273-104.651-105.882-107.143-108.434-109.756-111.111-112.5-113.924-115.385-116.883-118.421-120-121.622-123.288-125-126.761-128.571-130.435-132.353-134.328-136.364-138.462-140.625-142.857-145.161-147.541-150-152.542-155.172-157.895-160.714-163.636-166.667-163.636-169.811-166.667-169.811-173.077-176.471-180-183.673-187.5-183.673-191.489-187.5-191.489-187.5-195.652-191.489-195.652-191.489-195.652-200-195.652-200-204.545-200-204.545-209.302-204.545-209.302-214.286-219.512-214.286-219.512-225-219.512-225-230.769-225-230.769-236.842-230.769-236.842-243.243-236.842-243.243-250-243.243-250-243.243-250-257.143-250-257.143-250-257.143-264.706-257.143-264.706-257.143-264.706-272.727-264.706-272.727-281.25-272.727-281.25-272.727-281.25-290.323-281.25-290.323-281.25-290.323-300-290.323-300-290.323-300-310.345-300-310.345-300-310.345-321.429-310.345-321.429-310.345-321.429-310.345-333.333-321.429-333.333-321.429-333.333-321.429-333.333-346.154-333.333-346.154-333.333-346.154-360-346.154-360-346.154-360-346.154-360-375-360-375-360-375-360-375-391.304-375-391.304-375-391.304-375-391.304-409.091-391.304-409.091-391.304-409.091-391.304-409.091-391.304-409.091-428.571-409.091-428.571-409.091-428.571-409.091-428.571-409.091-428.571-450-428.571-450-428.571-450-428.571-450-428.571-450-428.571-450-473.684-450-473.684-450-473.684-450-473.684-450-473.684-450-473.684-450-473.684-500-473.684-500-473.684-500-473.684-500-473.684-500-473.684-500-473.684-500-529.412-500-529.412-500-529.412-500-529.412-500-529.412-500-529.412-500-529.412-500-529.412-562.5-529.412-562.5-529.412-562.5-529.412-562.5-529.412-562.5-529.412-562.5-529.412-562.5-529.412-562.5-529.412-562.5-600-562.5-573.451
※あまりにも上の1行にまとめたやつだと読みづらすぎるので表にしました。
+
ここをクリックして表示
何回目のBPM変化かと、そのタイミングでのムービー上での表示も併記しました。
赤文字だと表示より大きく、青文字だと表示より小さいです。
完全に同じなのは100と300のときだけです。
BPM変化回数
ムービーの表示
実際のBPM
0
100
100
1
101
101.124
2
102
102.273
3
104
104.651
4
106
105.882
5
107
107.143
6
108
108.434
7
110
109.756
8
111
111.111
9
112
112.5
10
114
113.924
11
115
115.385
12
117
116.883
13
118
118.421
14
119
120
15
122
121.622
16
123
123.288
17
124
125
18
127
126.761
19
128
128.571
20
130
130.435
21
132
132.353
22
133
134.328
23
136
136.364
24
138
138.462
25
140
140.625
26
143
142.857
27
144
145.161
28
147
147.541
29
149
150
30
152
152.542
31
154
155.172
32
157
157.895
33
160
160.714
34
163
163.636
35
165
166.667
36
166
163.636
37
167
169.811
38
168
166.667
39
169
169.811
40
172
173.077
41
175
176.471
42
179
180
43
182
183.673
44
186
187.5
45
187
183.673
46
188
191.489
47
189
187.5
48
190
191.489
49
191
187.5
50
192
195.652
51
193
191.489
52
194
195.652
53
195
191.489
54
196
195.652
55
197
200
56
198
195.652
57
199
200
58
202
204.545
59
203
200
60
204
204.545
61
206
209.302
62
207
204.545
63
208
209.302
64
212
214.286
65
217
219.512
66
218
214.286
67
219
219.512
68
221
225
69
222
219.512
70
223
225
71
228
230.769
72
229
225
73
230
230.769
74
233
236.842
75
234
230.769
76
235
236.842
77
240
243.243
78
242
236.842
79
243
243.243
80
244
250
81
245
243.243
82
247
250
83
248
243.243
84
249
250
85
252
257.143
86
253
250
87
254
257.143
88
255
250
89
256
257.143
90
259
264.706
91
260
257.143
92
261
264.706
93
262
257.143
94
263
264.706
95
268
272.727
96
269
264.706
97
270
272.727
98
276
281.25
99
277
272.727
100
278
281.25
101
279
272.727
102
280
281.25
103
283
290.323
104
284
281.25
105
286
290.323
106
287
281.25
107
288
290.323
108
293
300
109
294
290.323
110
296
300
111
299
290.323
112
300
300
113
301
310.345
114
302
300
115
305
310.345
116
306
300
117
307
310.345
118
314
321.429
119
315
310.345
120
316
321.429
121
317
310.345
122
318
321.429
123
321
310.345
124
322
333.333
125
323
321.429
126
326
333.333
127
327
321.429
128
328
333.333
129
329
321.429
130
330
333.333
131
338
346.154
132
339
333.333
133
340
346.154
134
341
333.333
135
342
346.154
136
351
360
137
352
346.154
138
353
360
139
354
346.154
140
355
360
141
356
346.154
142
357
360
143
364
375
144
365
360
145
367
375
146
368
360
147
369
375
148
372
360
149
373
375
150
378
391.304
151
379
375
152
382
391.304
153
383
375
154
384
391.304
155
386
375
156
387
391.304
157
397
409.091
158
398
391.304
159
399
409.091
160
400
391.304
161
401
409.091
162
402
391.304
163
403
409.091
164
405
391.304
165
406
409.091
166
413
428.571
167
414
409.091
168
417
428.571
169
418
409.091
170
419
428.571
171
420
409.091
172
421
428.571
173
423
409.091
174
424
428.571
175
434
450
176
435
428.571
177
437
450
178
438
428.571
179
439
450
180
440
428.571
181
441
450
182
442
428.571
183
443
450
184
447
428.571
185
448
450
186
453
473.684
187
454
450
188
458
473.684
189
459
450
190
460
473.684
191
461
450
192
462
473.684
193
463
450
194
464
473.684
195
465
450
196
466
473.684
197
469
450
198
470
473.684
199
478
500
200
479
473.684
201
482
500
202
483
473.684
203
485
500
204
486
473.684
205
487
500
206
488
473.684
207
489
500
208
491
473.684
209
492
500
210
495
473.684
211
496
500
212
505
529.412
213
506
500
214
509
529.412
215
510
500
216
512
529.412
217
513
500
218
514
529.412
219
515
500
220
516
529.412
221
517
500
222
518
529.412
223
520
500
224
521
529.412
225
524
500
226
525
529.412
227
535
562.5
228
536
529.412
229
539
562.5
230
540
529.412
231
542
562.5
232
543
529.412
233
544
562.5
234
545
529.412
235
546
562.5
236
547
529.412
237
548
562.5
238
549
529.412
239
550
562.5
240
552
529.412
241
553
562.5
242
556
529.412
243
557
562.5
244
569
600
245
570
562.5
246
573
573.451
この場合のBPM変化量の合計値は3452.357となり、BPM変化補正値は2.150……となる。
この値を使ってCHAOS値を計算すると22.85となるため、これが本当のBPM変化であると考えられている。
CHAOS要素値:255.33 * 2.15 = 548.9595
100秒当たりのCHAOS要素値:FLOOR( 548.9595 * ( 100 / 120[秒] ) ) = 457
CHAOS値:457 / 20 = 22.85
どうして本来と異なる形となっているのかは不明であるが、一応考察をしてみる。
上記のBPM変化回数は(最初の100は0回目としてカウントすると)246回である。
なんとなく8ビットの最大値である255に近い数だとは思われる。
もしかすると、DDRの譜面データではギミックに関するデータは固定長で持っており、255個または256個までしかBPM変化情報を持てなかったのこのような形になったのではないだろうか。
信じるか信じないかはあなた次第です。
近似がどれくらいあってるのか
1歩目からの経過時間を「ムービーに表示されている通りにBPM推移していた場合」と「正しいとされているBPM変化の場合」をExcelで計算し、
同一の拍での「正しいとされているBPM変化の場合」から「ムービー通り」の値を引くことで誤差を計算した。
その結果を図にしたものが以下。(クリックで拡大)
BPM150~180地帯はヤバいということと、220以降は基本的に「遅れていた分を取り戻すような形で近似している」ということが分かる。
(おそらく)制限があった中でBPM調整を行ったスタッフの苦労が偲ばれる。
補足
オリジナルのStepManiaバージョンではちゃんと1拍ごとにBPMが1上昇するようになっている。
なので、元からこのような奇妙なBPM変化はしていたわけではない。
また、オリジナル版での背景のBPMはLuaで行っている。
2024年06月12日より稼働したDDR WORLDではプレー中にスクロール速度が表示されるようになった。
その結果、BPMが1拍ごとに1上昇とはなっていないことの証明が為された。
つまり、本記事のアイデンティティが消失した。
最終更新:(2024/06/13)
最終更新:2024年06月13日 16:41