当記事ではDDRにおけるノートの表示時間についてざっくりと計算する。
お断り:この記事では小数第三位を四捨五入します。有効数字は適当です。
理由としては、めんどくさかったからです。気が向いたら厳密に書き直すかもしれません。
また「何パーセントか」を算出している箇所においてはパーセント表記を基準にして小数第三位で四捨五入をしていますので、そこについては実質的には小数第五位を四捨五入となります。
お詫び:texを使って数式を読みやすくしようとしましたが、アットウィキの仕様で表示がいい感じになりませんでした。おまけとして扱ってください。
計算式とかどうでもいい人向けの表
「こまかい計算式とかどうでもいいからDDR WORLDで追加されるCONSTANTオプションをどれくらいに合わせるといいか知りたい」という場合にお使いいただけます。
ただし、計算はかなり雑であることと、10ミリ秒単位なのでピッタリに合わせることは出来ないことはご留意ください。
また、CONSTANTの設定時間はフェードイン中(半透明になっているとき)も含めた時間となっているようなので、これに数十ミリ秒は足した方がよさそうです。
矢印の表示時間を100ミリ秒~3000ミリ秒の間で10ミリ秒刻みで設定します。
デフォルト設定は1000ミリ秒(1秒)です。
ちなみに、最小値の100ミリ秒はサドプラ無しだとBPM*ハイスピの結果が3750くらいのときの値です。
東北に3.5倍かけてラストのノーツを目押しできる人向けです。
BPM*ハイスピ |
SUD+なし |
SUD+5回分 |
SUD+10回分 |
100 |
3750 |
3525 |
3300 |
120 |
3125 |
2937 |
2750 |
140 |
2678 |
2517 |
2357 |
160 |
2343 |
2203 |
2062 |
180 |
2083 |
1958 |
1833 |
200 |
1875 |
1762 |
1650 |
220 |
1704 |
1602 |
1500 |
240 |
1562 |
1468 |
1375 |
260 |
1442 |
1355 |
1269 |
280 |
1339 |
1258 |
1178 |
300 |
1250 |
1175 |
1100 |
320 |
1171 |
1101 |
1031 |
340 |
1102 |
1036 |
970 |
360 |
1041 |
979 |
916 |
380 |
986 |
927 |
868 |
400 |
937 |
881 |
825 |
420 |
892 |
839 |
785 |
440 |
852 |
801 |
750 |
460 |
815 |
766 |
717 |
480 |
781 |
734 |
687 |
500 |
750 |
705 |
660 |
BPM*ハイスピ |
SUD+なし |
SUD+5回分 |
SUD+10回分 |
510 |
735 |
691 |
647 |
520 |
721 |
677 |
634 |
530 |
707 |
665 |
622 |
540 |
694 |
652 |
611 |
550 |
681 |
640 |
600 |
560 |
669 |
629 |
589 |
570 |
657 |
618 |
578 |
580 |
646 |
607 |
568 |
590 |
635 |
597 |
559 |
600 |
625 |
587 |
550 |
610 |
614 |
577 |
540 |
620 |
604 |
568 |
532 |
630 |
595 |
559 |
523 |
640 |
585 |
550 |
515 |
650 |
576 |
542 |
507 |
660 |
568 |
534 |
500 |
670 |
559 |
526 |
492 |
680 |
551 |
518 |
485 |
690 |
543 |
510 |
478 |
700 |
535 |
503 |
471 |
710 |
528 |
496 |
464 |
720 |
520 |
489 |
458 |
730 |
513 |
482 |
452 |
740 |
506 |
476 |
445 |
750 |
500 |
470 |
440 |
760 |
493 |
463 |
434 |
770 |
487 |
457 |
428 |
780 |
480 |
451 |
423 |
790 |
474 |
446 |
417 |
800 |
468 |
440 |
412 |
BPM*ハイスピ |
SUD+なし |
SUD+5回分 |
SUD+10回分 |
事前知識
beatmaniaIIDXでは緑数字と呼ばれる数値がある。
PS2用ソフト『beatmaniaIIDX 14 GOLD』で初めて導入され、アーケード版では『beatmaniaIIDX16 EMPRESS』から導入された。
174800*(1-白数字の合計値/1000)/(BPM*ハイスピード設定) という計算式によって算出され、この計算結果は60fpsで考えたときに表示フレーム数の10倍となる。
たとえばBPM150の楽曲を等速かつ白数字の合計が0という状況なら1165.33……となる。
60fpsで116フレームといえば1.933……であるから、この条件では約1.93秒間表示されるということになる。
この記事の目的
DDRシリーズは2010年に稼働開始したX2でHidden+、Sudden+が導入され、ノートの表示時間の調整がかなり柔軟にできるようになった。
にもかかわらず、2022年に稼働開始したA3においてもノートの表示時間が数値で表示されたりはしないため、プレイヤーの多くは感覚でオプションの調整をしている。
本記事の目的はオプション調整を感覚ではなく計算によって行えるようにすることである。
後述の文章を読むための事前知識
- Hidden+やSudden+を調整する際に短く1回上下ボタンを押すと、レーンカバーは画面全体の縦幅1%ぶんだけ移動する。
- 画面外にまで追いやってから100回ボタンを押すことで画面全体を覆うようにできる。
- HIDDENSUDDEN+については上下のそれぞれが1%ずつ動くため、50回で画面全体を覆うようになる。
- あくまで「画面全体に対して1%ずつ」であり、IIDXの「レーン部分に対する割合」とは異なる。
- あるノートが表示された、表示が終了したと判定する瞬間はノートの中心を基準とする。
- ノートの中心とは小節線表示をCenterにした際に小節線が表示される縦方向の位置のことを指す。
- Q:なんで中心が基準なの?見えた瞬間を基準にしたらいいじゃん。
A:ノートサイズMediumとかSmallとかDotとかサイズ違いがあり、人によって先頭の基準が異なるため。
ノートの中心を基準とした緑数字
レーン長の調査
画像はDDR GPを用いてDROP THE BOMBを等速でプレーした時の画像である。なお、画面サイズは1280*720である。
この時の判定エリアは画面下端から602pxの位置にあるため、レーン長は602pxとする。
判定エリアに重なった矢印を0番目とすると6番目の矢印と16分矢印1個分ほど表示されるため、
矢印6.25個分とみてもよい。
ただし、スコア表示(リバース時はライフゲージ表示)によって隠される場所もあるため、有効範囲はもう少し短いと考えてもよい。
どう判断するかは読者次第ではあるが、そのあたりを言い出すと判定文字やコンボ表記に隠れることの考慮が面倒であるため、レーン長は見たままの602pxとする。
被除数の調査
Hidden、Sudden系オプションを使わずにDDRをプレーし録画を行った。
レーン長の調査と同条件でプレーしたところ、あるノートが表示されてから判定エリアに重なるまでは150フレームであった。
(DROP THE BOMBはBPM150)
緑数字の計算式を考える場合、
X / ( BPM * ハイスピード設定 ) = 表示フレーム数 * 10
であるので、
X / ( 150 * 1 ) = 150 * 10
X / 150 = 1500
X = 225000
となる。
ミリ秒単位での値が欲しい場合
60フレームで1秒であるので、ミリ秒に直すなら1000倍してから60で割ればよい。
X / ( BPM * ハイスピード設定 ) = 表示フレーム数 * 1000 / 60
であるので
X / ( 150 * 1 ) = 150 * 1000 / 60
X / 150 = 2500
X = 375000
※60fpsで録画してはいるが、ドロップフレーム等については特に考慮してはいない。
より厳密に測定したいのであれば120FPSで動作・録画できるハイスペックな環境を用いて行うべきである。
Sudden+によるレーン長変更の効果
Sudden+を調整する際に短く1回上下ボタンを押すと、レーンカバーは画面全体の縦幅1%ぶんだけ移動する。
つまり、1回押すごとに7.2px移動する。
レーン部分は602pxであったから、7.2/600*100=1.196……で約1.2%レーン長が短くなっていく事になる。
関連項目
DDRにおけるノート中心基準の緑数字の計算式
225000 * ( 1 - ( 0.012 * SUDDEN+でボタンを押した回数 ) ) / ( BPM * ハイスピード値) = &color(#00DD00){&bold(){表示フレーム数の10倍}}
375000 * ( 1 - ( 0.012 * SUDDEN+でボタンを押した回数 ) ) / ( BPM * ハイスピード値) = ミリ秒単位の表示時間
計算例
- BPM360の楽曲を等速かつSUD+なしでプレーした。
225000 * ( 1 - ( 0.012 * 0 ) ) / ( 360 * 1)
= 225000 / 360
= 625
62.5フレームは1.04秒。
375000 * ( 1 - ( 0.012 * 0 ) ) / ( 360 * 1)
= 37500 / 360
= 1041.667
1041ミリ秒なので1.041秒。
- BPM400の楽曲を1.25倍でプレーし、SUD+は画面端から5回押した状態でプレーした。
225000 * ( 1 - ( 0.012 * 5 ) ) / ( 400 * 1.25)
= 211500 / 500
= 423
42.3フレームは0.705秒。
375000 * ( 1 - ( 0.012 * 5 ) ) / ( 400 * 1.25)
= 352500 / 500
= 705
705ミリ秒は0.705秒。
ノートの先頭を基準とした緑数字
中心基準で調べたデータをもとに暫定的に記載します。
レーン長の調査
644px
判定エリアの一番外側の白枠の内側までの距離とした。
被除数の調査
中心基準における被除数の調査で「BPM150の時、602pxを150フレームかけて移動した」ということが分かっている。
よってノートの上端は644/(602/150)=160.465……フレーム表示されるはずである。
小数点以下を切り捨てて160フレームとすれば
X/(150*1)=160*10
X=240000
となる。
(補足)
小数点以下を切り捨てず、
X/(150*1)=644/(602/150)*10
として計算した場合、X=240697.67……となる。
Sudden+によるレーン長変更の効果
レーン部分は644pxであったから、7.2/600*100=1.118……で約1.12%レーン長が短くなっていく事になる。
DDRにおけるノート中心基準の緑数字の計算式
240000 * ( 1 - ( 0.0112 * SUDDEN+でボタンを押した回数 ) ) / ( BPM * ハイスピード値) = 表示フレーム数の10倍
計算例
- BPM360の楽曲を等速かつSUD+なしでプレーした。
240000 * ( 1 - ( 0.0112 * 0 ) ) / ( 360 * 1)
= 240000 / 360
= 666.66……
66.7フレームは1.11秒。
- BPM400の楽曲を1.25倍でプレーし、SUD+は画面端から5回押した状態でプレーした。
240000 * ( 1 - ( 0.0112 * 5 ) ) / ( 400 * 1.25)
= 226560 / 500
= 453.12
45.3フレームは0.755秒。
最終更新:(2024/06/11)
最終更新:2024年06月11日 14:29