スクリーンショット
こんにちは、BMS化・譜面作成担当の「🟠L-Mys」です。
今回は、日々のBMSプレイをさらに熱く、そして楽しくするための専用インターネットランキングシステム「rianIR」を作ってみましたので、これを紹介してみようと思います。
リンク
rianIRの特徴と既存システムとの違い
自分が苦労して叩き出した自己ベストは、誰にとっても大切な記録ですよね。なので、安心して実力を競える環境ってすごく大事だなと思いまして。rianIRでは、送信されるスコアデータに暗号化された署名を付与して、不正なデータ改ざんをしっかり防ぐ仕組みを入れてみました。
また、ちょっと変わった仕様として、rianカスタムビルド版LR2oraja専用の「DX MODE」をオンにしたときにだけ成績がサーバーへ送られるようになっています。このDX MODEは、判定やゲージ仕様をできるだけ某ゲームに寄せたおまけモードです。すでに通常のbeatorajaやLR2oraja向けの立派なIRサイトはいくつか存在していますので、今回はあえてこういう尖った形にしてみました。
スマホからいつでもサクッと成績を見られるのもポイントです。Discordアカウントやパスキー認証でログインすれば、最近のプレイ履歴やコースの成績を布団の中で振り返れます。あと、BMSリザルトのレポート画像を作れるツールってすでに世にいくつかあるんですが、IRサイトを眺めるついでに、その日の成果をパッとSNSへシェアできたら便利だなと思って、デイリーレポート機能も組み込んでみました。
それから、IRサイト上でのちょっとした遊び心として、最近の音ゲーによくある「言葉遊びができる称号システム」も入れてます。特定の難易度表にこだわらず、色々な譜面を遊ぶことで取得できる称号パーツをあちこちに散りばめました。普段触らないような曲をプレイするきっかけになれば嬉しいな、という狙いもあったりします。
オリジナルのレーティング機能もありますよ。譜面の平均密度と演奏時間を計算式に使い、なるべく公平なものに仕上げています。通常八段の私で10000を少し超えるくらい、発狂皆伝あたりの方ですと30000を目指せるくらいのバランスになっている…と思います。
そして個人的に一番おすすめしたいのが、「譜面の難易度レビュー機能」です。BMSの難易度表記ってどうしても作者さんの主観になりがちで、後から変えられないじゃないですか。そこで、mocha-repositoryさんにすでにある機能を参考にさせていただき、実際にプレイした人の体感難易度を投稿・共有できるようにしました。未知の譜面を遊ぶときの指標にしたり、ライバルの成績を見つけて「明日はこの曲で絶対に勝つ!」と闘志を燃やしたりと、色々な楽しみ方をしていただければと思います。
導入・起動方法
対応jarクライアントをダウンロードし、「ir」フォルダに展開してください。
LR2orajaをダブルクリックすることで起動し、ランチャーのその他タブから「DX MODE」を有効にし、IRタブからrianIRのアカウント情報を入力することでスコア送信が有効になります。
※スコアを送信するには、事前にrianIRウェブサイトでのユーザー登録が必要です。
開発のきっかけと込めた思い
最初は「自分専用のスコアリポジトリが欲しいな~」というちょっと変わった個人的な思いからスタートした開発だったんですが、あれやこれやと機能を入れ込むうちに「これ、複数人でも遊べるのでは?」という機構が出来上がっていき、試しに公開してみよう!と思い立ったわけです。
ただ、いざWebアプリとして公開するとなると、どうしても気になるのがセキュリティ面ですよね。これについては、おちあPの指導のもと、なるべく気を配って設計してみました。
今回ゼロからIRサーバーを構築してみて、長年BMS界隈のランキングシステムを維持・提供し続けてくださっている既存のIR運営者の方々へ、改めて本当にすごいなと、深い敬意が芽生えました。
PCの前にいない時間でもBMSのモチベーションを高められる場所があったらいいなと。布団の中でスマホを見ながら今日のスコアを振り返って、見知らぬライバルのスコアを見て闘志を燃やす…そんな体験を提供したくて、色々と詰め込んで形にしてみました。皆さんのBMSを遊ぶ日々が少しでも豊かになれば嬉しいです。カスタムビルド版LR2orajaとあわせて、ぜひとも使ってやってくださいませ。
コメント
コメントを投稿