
JBSL-Webの進化(2023)
この記事は Beat Saber Advent Calendar 2023 の 3 日目の記事なります。
第 6 回 JBSL(Japan Beat Saber League)が終わりました。皆さま、お疲れ様でした。
今回も、私が管理しているサイト JBSL-Web が大活躍してくれましたので、その紹介とか、去年と比べて何が変わったのかという点を書いていきたいと思います。最近 BeatSaber を始めたり、JBSL に参加した人の中には、JBSL-Web って何? という方も多いと思うので、こういう機会に周知をしたく。
なお、この Web サービスを作った経緯についての詳細は去年のアドカレ記事に、また、細かい変更点については fanbox の方に書いております。
大事な点
まず、重要な点として、
JBSL(Japan Beat Saber League)はイベントの名前
JBSL-Web は Web サイトの名前
で、JBSL-Web は私 hibit が個人的に管理している Web サービスであり、プレイリストの編集やリーグの開催ができます。これは別に JBSL(イベント)に何も関係ないものでも、登録ユーザーが自由に利用しても大丈夫です。この点だけは伝えたかった。(じゃあもっと用途が広そうな名前にしろと思ったそこのあなた、去年のアドカレ記事で歴史的な経緯をチェック!)
オーバーレイシステム
第 4 回までの大会は、本戦の譜面情報を配信に乗せる(オーバーレイ)ために、配信ホスト(配信を行い、試合状況に合わせて OBS ソースをあれこれ切り替える人、主にせおちゃん)の OBS にソースを乗せて、それを手動で切り替えるという方式でやっていました。

これは冷静に考えて、ホストが大変であり、高確率でヒューマンエラーを招きます。長期的にはやっていけないと判断したので、この手間を分散化させるために、オーバーレイの操作を分担する仕組みを考えました。
具体的には、JBSL-Web 上に試合情報を反映してオーバーレイに動的に反映させるためのページを作成しました。コーディネーターは JBSL-Web 上で試合情報を編集することができ、それが自動的にホストの OBS に反映されます。


皆さま(視聴者)が見ている試合情報は、実はこんな設定画面があり、それをコーディネーターが操作していたのです。
これでかなり配信のオペレーションが安定したと思います。まだまだ、さらなる平準化や安定性確保が必要な部分もあると思いますが、無理のない範囲で改善していこうと思います。
V3 譜面の対応
アークノーツやチェインノーツがある譜面を V3 譜面といいます。これは新しく出てきたフォーマットであり、ScoreSaber の対応が遅れている状況でした。JBSL-Web は、ScoreSaber のデータを基準に譜面やスコアを登録しており、大元が対応していないため、 V3 譜面の譜面を登録できないという状態が続いていました。

そこで、既に V3 対応していた BeatLeader からデータを取ることにより、V3 譜面を対応させました。第 6 回 JBSL でも、試験的に一部 V3 譜面を採用しました。
最近ビーセイを始めた人からすると、最初から全部 BeatLeader に準拠すればよかったじゃん、と思う人もいるかもしれませんが、Web サービスを始めた当時はこんなに BeatLeader が発展するとは考えられなかったし、全部 BeatLeader に依存するのはそれはそれで別の問題もあったりします(スコアの一貫性とか)。
ちなみに、このような対応が終わった後、ちょうどこの記事を書いている直前ぐらいに、ScoreSaber が V3 譜面に対応しました。今更 BeatLeader との並列体制を崩すのも新たなバグを生み出しそうですが、統一できそうなら統一していきたいと思います。
環境は変わっていくもの。盛者必衰の理、万物は流転する、行く川の流れは絶えずしてしかも元の水にあらず。どのような状況になろうとも、それを受け入れて対応していくしかない。それが BeatSaber、それが人生……。
ジャンルの決定
BeatSaber の大会では、マッププールごとに、その中のどのマップがどんなジャンルかを指定することが一般的です。Acc とか Tech とか。今までもなんとなくは決めていたのですが、同じ名称でも解釈の幅があったり、求めるものに違いがあったりするのが現状でした。
JBSL でも、プレイヤーにマッププールを提供したり、運営として応募譜面を添削(モッディング)する際には、そのあたりのズレは極力少なくしたいので、ジャンルの基準を定めることにしました。
JBSL-Web もこれに対応し、プレイリストを作る時にジャンルも指定できるようにしました。

ジャンルについては、以下の点を絶対に聞かれると思うので、考え方を示しておきます。
Q、プレイヤーの力量が違えばジャンルも変わるのでは?
J4 プレイヤーに取っての Balanced 譜面が、J1 プレイヤーに取っては Acc 譜面、みたいなことは普通に有り得ます。なので、万人にとって絶対のジャンルは原理上ありえません。
なので、ジャンルというのはマッププール内での相対的な立ち位置を示すものであると考えます。
Q、サブジャンルの違いがよくわからない
Acc、Tech、Concept についてはサブジャンルを定めています。
しかし、ぶっちゃけ「ジャンル基準を見てもサブジャンルの違いがようわからん」というのが正直なところではないでしょうか。また、システム上でも、敢えてこのサブジャンルまでを定めるようにはしていません。
これは何故かというと、
ルールを細かく決めるとマッピングの不合理な縛りになってしまう
マッププーリングの負担が大きくなってしまう
という理由によります。
例えば、HighTech については「135 度以上の手首の回転が~」といった明確な基準を設けることも考えましたが、そんなものは角度だけでは何とも言えないだろうということで、ファジーな表現にしました。
また、マッププーリングをサブジャンルまで含めて決めようとすると、現状ただでさえ大変なマッププーリングが、更に大変なものになるのは目に見えています。もちろん、プーラーの中で「なんとなくこのサブジャンル」というのはあったと思いますが、大会運営上、敢えてそこまでは明文化しなかった、ということになります。
じゃあ、なんでサブジャンルを設けたのかというと、ニュアンスを伝えるための便宜的な用語して使われるのが良いと思ったためです。例えば、モッディングの際に、モッダーとマッパーの間で共通の認識を持つために使われるなど。特に、Acc とか Tech は解釈の不一致が大きくなりがちなので。
このあたりは、今後、マッピングの文化が成熟して、よりよい表現が見つかったり、各ジャンル・サブジャンルに対してプレイヤーが求めるイメージが明確化していったりしたら、より適切かつ明確な運用が見つかるかもしれません。
サポートのお願い
今年も、一応触れずにはいられない話。Web サービスを公開・維持すると、当然ながらサーバー代がかかります。
あまり生々しい話をするのもあれですが、Web サーバーとデータベースの維持に月 16 $かかっています。
さすがにこれを赤字で維持し続けるのは財布も心もつらいので、サービスの長期維持の観点からも、JBSL-Web の存続を願う方であったり、当サービスに †価値† を見出していただける方は、有料のサポーター登録をお願いしています。
なお、非常にありがたいことに、現在はサーバー代をペイできる程度のご支援をいただいておりますが、現在サポート中の方が途切れてしまったり、そもそも Web サーバーの値上げが入る可能性とかは十分考えられますので。
サポーター特典としては、去年までは、JBSL-Web 上で名前の色を変えられるのがメインなのでマジでお布施代わりでしたが、今回からは! なんと! 先程紹介したオーバーレイシステムをあなたのために特別にカスタマイズします。

試合形式は 5 試合 3 先がデフォになりますが、もし本当に使用したい方がいたら最大限カスタマイズに対応します。
サポーターになっていただける方は、こちらからよろしくお願いします! 一ヶ月 190 円のプランからお気軽にどうぞ!