【音ツツ】SDVX VF計算ツール 【音ゲーツールを作ろう】#007
[2024/10/23]
またもや久しぶりのこのカテゴリの記事ですね。
今回は、VOLFORCEの計算ツールの作成をしたのでそのお話です。
VOLFORCE逆算ツール(早見表)
曲のレベル、クリアやスコアを入力することでVOLFORCEを計算してくれるツールを公開していました。
一方でBEMANIwikiやSNSでは、目標のVOLFORCEを達成するために必要な曲のレベルやクリア、スコアが分かる早見表というものがありました。
この早見表をツール化したものが欲しいと考えていました。
簡単に逆算できない
VOLFORCEの計算式は、大まかにいうと曲のレベルやクリアマーク、スコア(グレード)を掛け算した計算式になっています。
掛け算なんだから割り算すればいいだけだろって思っていました。
例えば目標VF(50曲)が18.000だった場合、必要な単曲VFは36.0になります。
レベル19でEF.COMPの時に必要なスコアを計算すると、スコア9,699,999の時は単曲VF35.7になり、9,700,000の時は単曲VF36.8となってしまい、ピッタリ36.0になることはありません。
この例でみれば36.0以上なんだから9,700,000が結果として表示されるのが正しい動作となる訳ですが、逆算だと36.0ピッタリがないため正しく計算できません。これが簡単に逆算ができない理由です。
ではどうしたのかというと結論としては、総当たりです。とはいえ、ある程度のスコアの範囲は絞りこめるので、完全に総当たりという訳でもありませんが。
VOLFORCEの仕様
当たり前のことですが、UC→EX.COMP→EF.COMP→CRASHとクリアマークが下になればなるほど必要なスコアは上がります。
ところがEX.COMPとEF.COMPで同じスコアになることがあります。
例えば単曲VF 33.0をレベル16で達成するには、EF.COMP スコア9,900,000でVF 33.2、EX.COMP スコア9,900,000でVF33.9となります。クリアマークが違っても達成するために必要なスコアは一緒なんですね。
上に書いた逆算できないのと理由は一緒で、EX.COMP スコア9,899,999だと32.9になってしまいスコア1点差でVFが大きく上がるためです。
一見すると間違ってるように見えますが仕様です。
ちなみにPUCは、10,000,000点以外にPUCになることはないため必ず10,000,000点が表示されます。
さいごに

とりあえずで作成したけど、だいたい合ってるはず。
あとは使用してるフレームワークやライブラリの違いでUIデザインが異なってたりするけど気にしない。