beatoraja icon indicating copy to clipboard operation
beatoraja copied to clipboard

機能要望:負数BPMの扱いについて

Open nasashiki opened this issue 8 months ago • 1 comments

主題の件につきまして、現在beatorajaでは負数BPM(-1以下のBPM)に関してサポートされていません。 今後この機能が実装される予定はあるのでしょうか?

「譜面が逆走して帰ってこない」という表現は、BMSの独自性の中でも唯一無二の立ち位置にあると考えています。 SCROLLでも疑似的に再現はできますが、「譜面が帰ってこずそのまま曲が終了する」という要素までは再現できないと考えています。 ギャグ要素や逆走オチのようにネタとして使われることが多いですが、作品の表現の一つとしても十分に活用できる要素です。 ex.My Most Meddling Maker / 暮狛 https://www.youtube.com/watch?v=Ly1U6QjjvDw

この機能を実装していただけると、いち譜面作者としても表現の幅が広がって助かります。 ご検討いただければ幸いです。よろしくお願いいたします。

nasashiki avatar Apr 14 '25 09:04 nasashiki

そもそもですが、負数BPMの挙動はBMS仕様書で定義されているものではなく、各BMSプレイヤーの実装依存となっています。 (hitkey様の記事より) なので、BMSの独自性ではなく、そのプレイヤー(LR2)の独自性というのが正しいです。

LR2の負数BPMの処理では定義直後のノーツが逆走するだけ、そのまま無限ループ演奏終了はESCのみの実装ですが、 例えばノーツ表示の時間軸進行をマイナスにする実装では過去の処理済ノーツまで含めて逆流する表現になるのが妥当ですし、 時間軸進行はそのままでスクロール方向だけ逆にする実装では小説戦の定義終了とともに演奏終了するのが妥当でしょう。 nasashikiさんはおそらくLR2と同じ挙動を望んでいるでしょうが、私としては他のプレイヤー(bemuse、raindrop等)でも 共通した挙動で足並みを揃えられるようなBMSの拡張定義を提案した方がよいと思います。

(例えば、演奏不要なダミーノーツ定義チャンネルを定義できる仕様を追加し、SCROLLと組み合わせるとか)

exch-bms2 avatar Sep 04 '25 15:09 exch-bms2