見出し画像

音楽ゲーム「BMS」の新しい実力推定手法の考案

この記事は TSG Advent Calendar 2021 および B4UT Advent Calendar 2021 の 21 日目の記事です。

こんにちは、ぷらてぃぱすです。今回はコンピューターで遊べる無料音楽ゲーム「BMS」の成績から実力を推定する新しい方法を紹介したいと思います。アドベントカレンダーの性質上、この記事を読んでくださる方の中には音楽ゲームになじみのない方もいらっしゃるかもしれないので、本記事を読むにあたって最低限必要な音楽ゲーム・BMS の知識を以下の「1. 音楽ゲーム、BMS の基礎知識」にまとめました。音楽ゲームや BMS をある程度遊んだことのある方は「2. 実力推定とは?」の項から読んでいただいて構いません。


1. 音楽ゲーム、BMS の基礎知識

音楽ゲーム (略して「音ゲー」) とは、「音楽に合わせてプレイヤーが何らかのアクションをとる」(*1) ゲーム全般を指す用語です。「何らかのアクション」の中身はゲームによりさまざまですが、多くの音楽ゲームではボタンを叩く、あるいはタッチパネルに触れる形式が採用されています。叩くボタン・タッチパネルの組み合わせや手順は、流れてくる音楽とともに画面上に表示されます。この画面上の情報のことは、音楽を演奏する手順を記していることから「譜面」と呼ばれます。音楽家が譜面を参考にして音楽を演奏するのと同様に、音楽ゲームのプレイヤーは「譜面」を見ながら手元のボタン・タッチパネルなどを叩くわけです。

BMS は音楽ゲームの一種で、もともとはコナミ製のアーケード音楽ゲーム「beatmania」シリーズのインターフェースの模倣を目指して作られたゲームです。(*2) 以下の画像は BMS の譜面の一例を示しています。

BMS の譜面

画像上では白・青・赤の印がたくさん散らばっていますが、これら一つ一つの印を「ノーツ」と呼びます。ノーツは画面上部から等速で降ってきますが、ちょうど画面下部のオレンジの線 (「判定ライン」と呼ぶ人が多いです) に重なった瞬間に対応するボタンを押します。(*3) 判定ラインぴったりにボタンを押せた場合は 2 点、ぴったりには押せなかったもののある程度良いタイミングで押せた場合は 1 点、かなり外れてしまったら 0 点を得ることができます。

点数とは違う概念として、「ゲージ」というものが存在します。ゲージはノーツを正しく叩くと回復し、間違ってしまうと減少します。点数とゲージは独立した概念なのですが、やや強めの正の相関関係がある、つまりたいていの場合点数が高ければ残っているゲージ量も多いことが普通です。また、ゲージにも種類があり、ミスしたときの減少量、正しくたたけた場合の増加量がゲージにより異なります。どの種類のゲージも、一定量以上残せた場合クリア扱いになります。

BMS のリザルトの一例(ゲージの増減、点数、ミス数などを確認できる)

どの音楽ゲームもそうですが、譜面により正しく叩ける難易度は異なります。一般的にはノーツの密度、つまり一定時間に降ってくるノーツの個数が多ければ多いほど難しいです。また、同じ密度でも配置の差異によっては大きく難易度が変わることがあります。

最後に、テクニカルな前提知識をいくつか追記します。「BMS」という言葉の正確な定義はあいまいですが、考案された当初は「BMS 形式」という、曲の音声データと譜面データをどのように記述するかというフォーマットのことを指していたようです。このような背景もあってか、 BMS 形式のデータを読み込んでゲームとして遊べる形にしたソフトウェアは幾種類も存在します。中でも「Lunatic Rave 2」(LR2) は 13 年以上の間たくさんのプレイヤーが使っているソフトであり、長年の稼働によりたくさんのリザルトが蓄積されたインターネットランキング (LR2IR) があることが特徴です。今回の記事の分析でもこの LR2IR のデータを活用させていただきました。

抽象的な話が続いたため、BMS を一度も遊んだことのない方にはいまいちピンとこない説明だったかもしれません。実際どのようなゲームなのか雰囲気をつかみたい方は、ぜひ以下のような BMS のプレイ動画をご覧ください。(YouTube で 「BMS 手元」などと検索するとたくさん出てきます)


2. 実力推定とは?

さて、本題の「実力推定手法」に話を移します。

そもそも音楽ゲームの実力とは何でしょうか?一般的に、何かの実力がある状態のこと、つまり「上手い」という概念は定量化できない場合が多いですが、幸い、音楽ゲームはリザルトから数値としての情報を多く得られます。特に、BMS においては以下のような情報を一回の曲プレイごとに得ることができます。

  • クリアの種類 (未クリア / イージークリア / ノーマルクリア / ハードクリア / フルコンボ の5段階)

  • スコア (理論値との比率 %)

  • ミス判定 (Bad / Poor) になったノーツの個数 (BP数)

  • 何番目のノーツをどの判定で取れたかの配列 (リザルト画面での閲覧は不可能だが、インターネットランキング LR2IR にはこのデータが送信されている)

実は、この中でも「クリアの種類」を用いた実力推定方法はすでに考案されています。
リコメンド」という名前のツールであり、その名の通り自分の成績から算出された実力値レート)をもとに、どの譜面をどれほどの確率でクリアできるかを降順でソートし、まだクリアしていないがクリアできそうなおすすめ譜面を表示する機能がついています。

リコメンドは、「ロジスティック回帰」という手法を用いてレーティングを計算しています。この手法では、ある曲を難易度 $${a}$$ と「個人差度」 $${b}$$ の二つの値で表し、レーティング $${r}$$ を保持しているプレイヤーがこの曲をクリアする確率を、とある関数 $${p}$$ を用いて $${p(r, a, b)}$$ と表します。パラメーター $${a, b}$$ を決定するためには、計算されたこの確率と実際の結果のズレが最小となるように最尤推定を行っているようです。
さらに詳しい説明はリコメンドサイトの FAQ ページに載っておりますので、興味のある方はぜひご参照ください。

3.「リコメンド」の特徴

リコメンドで用いられている計算モデルはシンプルながら理にかなっており、非常に完成度が高いサービスです。
また、プレイヤー個々人の実力を表しているレーティング(リコメンド値)の意味がわかりやすいこともあり、BMS をやりこんでいる多くのユーザーが利用しています。(注3)
ですが、クリアランプを実力推定に使っているが故の限界もあると考えられます。

  • 二人のプレイヤーが同じある曲のクリアランプを保持していたとしても、実力に大きな差が生じている場合がある。特に、ハードクリアとフルコンボクリアの間の差はとても大きいため、同じハードクリアでもぎりぎりクリアの場合とフルコンボ一歩手前の場合で実力に非常に大きな差が生まれている。

  • 曲によってはハードクリアのほうが一つ下のノーマルクリアより簡単な場合がある(「ハード逃げ」などと呼ばれる現象)。だが、ハードクリアはノーマルクリアを上書きするという LR2 の仕様上、無条件でノーマルクリアの難易度よりハードクリアの難易度のほうが高く計算されてしまう。

  • クリアランプの段階は離散的なため、コンディションによっては何日もクリアランプが更新できず、レートが上がらない日々が続くことがある。(→スランプに陥った時のモチベーション維持が難しい?)

これらの問題は、ひとえにクリアランプの種類の少なさ、つまりクリアランプの持つ情報量の少なさに起因していると考えられます。そこで、クリアランプの代わりにミスの回数 (Bad と Poor の個数 = BP 数) を使ってみるとどうなるでしょうか?

  • 二人のプレイヤーが同じ曲に対して同じ BP 数を取ったにもかかわらず、実力に大きな差が生じることは少ないと思われる。(両者とも BP が 0 の場合のみ、実力に差が生じる可能性あり)

  • BP が少なければ少ないほど実力があるとみなしてよい(クリアランプと違い、難易度と BP の順序性が保たれている)

  • クリアランプに比べると BP は持っている情報量が多いため、リザルトの更新が起きる可能性が高い。

どれも思考実験の範疇を超えないものですが、BP を使うとよりきめ細かい実力推定ができそうな気がしませんか?というわけで、実際に BP を利用してレーティングを計算し、実力推定をしてみましょう!

補足:なぜスコアを使わなかったのか

リザルトを構成するもう一つの大きな要素として「スコア」がありますが、今回はスコアを実力推定に使いませんでした。こちらもクリアランプと比べて連続的な数値であり、実力を反映する一つの指標であることには間違いありません。しかし、BP と比べて以下のような違いがあると考えられます。

  • BMS の文化として、「とにかく難しい譜面に特攻してクリアランプを付ける」というプレイスタイルを取っている人が多い。

  • 「上位のクリアランプを狙う ≒ 少ない BP 数を狙う」なのに対し、「上位のクリアランプを狙う ≠ 高いスコアを狙う」という肌感覚がある。

これもまた明確な根拠のない主張になってしまうのですが、上に挙げた二つの理由から、クリアランプを狙っているプレイヤーの人口に比べ、スコアを狙っているプレイヤーはどちらかというと少数だと思っています。以上の理由により、今回は実力推定にスコア情報ではなく BP 情報を使うことにしました。

4. 計算モデルの決定

まずはレーティングのために必要な入力を定式化します。
今回の対象データは「発狂難易度表」に含まれている 1035 譜面のリザルトとしました。「発狂難易度表」は、難易度☆12 (通常使われている難易度区分のなかで最高難易度) を細分化する目的で有志により作られた譜面集合で、最もプレイ人口の多い難易度表の一つです。

次に、入力をもとにした計算方法を考えます。と言っても、計算方法はありとあらゆる統計的手法が想定されます。そこで、類似のサービスをいくつか調査したうえで、以下の二種類の計算手法に分類しました。

「プレイヤー vs 曲」型

すべてのリザルトを、「プレイヤーと曲が戦った結果」とみなす手法を「プレイヤー vs 曲」型と名付けました。この方式には「プレイヤーの実力レート」だけではなく、「曲の実力レート」なるパラメーターも登場します。プレイヤーの実力レートが曲の実力レートに比べて高い場合はよいリザルトが発生し、逆の場合は悪いリザルトが生まれる、という仮定のもと回帰学習(数値計算によるレートの算出)を行います。

この方式は、「リコメンド」などのほか、「BPI」という、beatmania IIDX の実力推定ツールにも使われています (*4)。

「プレイヤー vs プレイヤー」型

任意の二人のプレイヤー同士を、双方が保持しているリザルトによって対戦させる手法を「プレイヤー vs プレイヤー」型と名付けました。

例えば、全プレイヤーを総当たりで「対戦」(本当に対戦させるのではなく、お互いが持っているリザルトを比較)させ、各プレイヤーのレーティングを勝率から決定する方法が考えられます。これだけではプレイヤーのみの実力値であって、曲との関連性がありません。そのため、成績の大まかな予測もしたい場合は、BP と レーティングを適当な手法(例えば線形回帰)などで関連付ける必要があります。この方式は、「CPI」という、クリアランプを基準にした beatmania IIDX の実力推定ツールで導入されています。

「プレイヤー vs 曲」型の計算を行うには、「プレイヤーの実力値」と「曲の実力値」から取りうる BP 数を "求められそう" なモデル (関数) を思いつく必要があります。しかし、クリアランプの時はランプがつく・つかないの二択だったのに対し、今回は BP という幅を持った値を類推する必要が出てくるので、データにぴったり当てはまるようなモデルを思いつくことは難しいかもしれません。(*5)

一方、「プレイヤー vs プレイヤー」型は、プレイヤー同士の対戦方法さえ策定すればレーティングは求まります。また、人同士の対戦結果からレーティングを得ることについては、音楽ゲーム以外でも広く使われている手法なので先行研究がたくさんあります。そのため、今回は後者の「プレイヤー vs プレイヤー」型の推定方法を採用することにしました。

5. レーティングの計算

まずは、インターネットランキング (LR2IR) から必要なデータを持ってきましょう。IR からデータを収集する上で、「リコメンド」製作者の nakt さんが公開している lr2irscraper を利用しました。

収集の結果、7249099 件のリザルトが得られました。このうち、何らかの不具合によって整合性が取れないものを除いた 7248380 件を有効なリザルトとして保存しました。

さらにここから「十分に BMS をプレイしている」と判断できるプレイヤーのリザルトのみを抽出します。

  • 対象曲を 10 曲以上遊んでいる

  • 少なくとも一つの曲の BP が 100 以下である

の二条件を両方満たす方を対象としました。これによって、32193 名、7137592 件のリザルトを得ることができました。

ちなみに、これらの 32193 名が、1035 曲のうち何曲のリザルトを IR に登録しているかの集計は以下のようになりました。

横軸 = プレイ譜面数、縦軸 = 人口 のヒストグラム

プレイ曲数が 0 ~ 40 回の人がダントツで一番多く、そこから右へは人数が単調減少していることが分かります。一番右側の部分のみ増加していますが、これは 1035 曲全部を遊んでいる熱心なプレイヤー層がいるからでしょう。

次に、32193 名のデータをもとに総当たり対戦を行い、勝率を計算しましょう。勝ち負けの判断基準は、おおざっぱに「BP 数が少ないほうが勝ち」という法則が満たされていれば大丈夫そうですが、今回は「CPI」でも採用されている以下の基準を勝敗判定に使おうと思います。

  • 双方がプレイ済の譜面について、BP が少ないほうに 1pt を与える。(BP 数が同じ場合や、片方が未プレイの場合は何もしない)

  • すべての曲について上の基準でポイントを振り分け、合計 pt 数が多いほうを勝ち、そうでないほうを負けとする。(合計 pt 数が等しい場合は引き分けとする)

  • 自分以外のすべての人間と対戦を行い、全 32192 戦の中で勝ち数 $${W}$$ と引き分け数 $${T}$$ について $${\displaystyle \left(W + \frac{T}{2} \right) \div 32192}$$ を勝率とする。

この勝敗判定の特徴として、

  • 簡単な曲の未プレイが多く、難しい曲ばかりのリザルトを持っていたとしても、未プレイを不戦敗とする方式に比べ、実力が正しく反映される可能性が高い

  • 実力の格差がとても大きい場合も、僅差の場合も、等しく一勝とカウントされる

があります。一つ目の特徴は、プレイヤーのうち半数以上が曲全体の 10% も遊んでいない実情からしてもメリットですし、二つ目の特徴は、対戦ゲームにおいてレーティングシステムを安定させるために必要です。

勝率の分布をグラフにすると以下のようになりました。

横軸 = 勝率、縦軸 = 人口 のグラフ

勝率からレーティングへの変換はイロレーティングの式(勝率を $${W}$$ とした場合、$${\log_{10} \frac{W}{1-W}}$$)で計算します。すると、プレイヤーのレートによる分布は以下のようになりました。

横軸 = レーティング、縦軸 = 人口 のグラフ

大まかに $${0}$$ (勝率 50%)を中心とした山型の分布になりました!これでひとまず、任意のプレイヤーのレーティングの計算ができました。

6. レーティングと BP の関係

次に、求めたレーティングと BP の関係を見てみましょう。よいレーティングの計算方法ならば、レーティングが高いほど BP の数が低くなっている、つまりこれら二つの値が負の相関関係になっているはずです。とりあえず適当な曲を選び、その曲に対する全リザルトについて、プレイヤーのレートと BP を軸にしてプロットしてみます。

横軸 = レート、縦軸 = BP の散布図
(譜面は「★1 星の器~STAR OF ANDROMEDA」)

見ての通り、あまり強い相関関係があるように見えません。これは、曲をプレイ中に放棄したり、ゲージが 0% になって強制終了したなどの理由で、それ以降の未プレイのノーツがすべてミス扱いになってしまっているリザルトが混入してしまっているからでしょう。

こういった外れケースを取り除くために、一律で BP が 100 未満 (=全ノーツ数の 5% 未満) のリザルトのみを抽出し、同じ方法でもう一度プロットしなおしてみます。

横軸 = レート、縦軸 = BP の散布図
(BP < 100 のリザルトのみ)

前よりはなんとなく関係性がありそうなグラフが出てきました!データ数が多すぎて点同士が重なってしまっているので、カラーマップとして描画してみます。

横軸 = レート、縦軸 = BP の分布図
(色の濃淡は点の密度を示す)

左上から右下に伸びている濃い青色の帯が見えます!点がごちゃごちゃしていた散布図ではわかりにくかったですが、実は多くのリザルトは真ん中の濃い青の領域に密集していたのです。これで、我々が計算したレーティングはある程度 BP との相関関係があることが視覚的にわかりました。 

ここからは線形回帰を使います。といっても、普通の単純線形回帰、つまりレーティング値の一次式で BP を表す方法を使うことはしません。

濃い青の部分は直線ではなく、若干左下に凹んだカーブを描いているように見えます。直線というより、下に凸の曲線を引きたい気持ちです。また、このグラフに直線を引いてしまったら、BP が負の領域にも線が到達してしまいます。原理上 BP 数 0 は理論値でありそれ未満は取りえないので、これはおかしいです。線形回帰を行う前に、ここで縦軸領域を何かしらの関数で変換するべきでしょう。

いくつかの関数 (*6) を試したところ、関数 $${f(\mathrm{BP}) = \log(\mathrm{BP}+0.5)}$$ を使うとデータのズレ(回帰直線とデータの二乗誤差)が少ないことがわかりました。この関数による縦軸の変換を施したうえで、最小二乗法による線形回帰をしたところ、以下のような線を引くことができました。

線形回帰の結果
(色の濃い部分に赤い線が沿っている)

ついでに、引いた線の周りにどれくらいの誤差があるのかも確かめましょう。中央 68% / 95% の予測区間もプロットすると、以下の図のようになりました。

線形回帰の結果
(予測区間付き)

上の図において、二つの赤い曲線の中に全体の 68% のリザルトが、黄色い曲線の間に 95% のリザルトが含まれていることが示されています。

この予測区間の広さも有用な統計量です。音楽ゲームの譜面を評価するときによく引き合いに出されるのが「個人差」という概念です。プレイヤーの腕前にかかわらない、事前知識などの外部要因によってリザルトに差が出る譜面は「個人差譜面」と呼ばれます。一方、順当に上手いプレイヤーが得意である、腕前に左右される譜面のことは「地力譜面」と呼ばれます。
今回の予測区間の幅は、広ければ「個人差譜面」、狭ければ「地力譜面」という評価に結び付けることができるでしょう。(もちろん、我々の計算モデルによるずれも発生してしまうので、一概に予測区間の大きさを譜面のせいにはできませんが……)

ここまでの計算で、プレイヤーのレーティングおよび譜面の難易度と「個人差度」を求めることができました。同様にすべての譜面についてこの計算を行えば、全プレイヤーと全譜面について実力・難易度を表すパラメーターを手に入れることができます!

7. BP に基づいた譜面の難易度表

全 1035 譜面について上記の計算を行い、曲の難易度と個人差度をまとめました。

まずは難易度評価の上位・下位 10 曲を見てみましょう。

最も簡単と評価された 10 曲

難易度評価で最下位となった譜面は 「★4 Liberte-SuperSaw Epic mix- -ANOTHER-」でした。クリア基準の難易度表では 25 段階中の ★4 なのですが、実はクリアが難しい理由がゲージ設定の異様な厳しさにあり、譜面自体は一番簡単と言われています。クリアランプから譜面難易度を推定する「リコメンド」サイトによると、この譜面はフルコンボ難易度が最も低いのだそうです。納得の一位と言えるでしょう。

最も難しいと評価された 10 曲

逆に、難易度評価で一位になった譜面は「★??? la noche (end of mix)」でした。こちらは、クリア難易度表ではめずらしい「★???」がつけられています。この難易度は、あまりにも癖が強く難易度の評価が下されなかった譜面に付与されるようです。(*7) この譜面の特徴は、「Liberte-SuperSaw Epic mix- -ANOTHER-」と正反対、つまり譜面は異常に難しいが、ゲージの設定が全譜面中一番と言っていいほど軽いことにあります。また、そもそも「★???」譜面を好んで遊ぶ人が割と少なく、母集団が少ないことも難易度評価を押し上げている一因なのかもしれません。

次に個人差度の上位・下位 10 曲を見てみましょう。

難易度評価の「ずれ」が最も少なかった 10 曲 

個人差度が最も低い譜面は「★8 ZENITHALIZE -LUMINOUS-」でした。この譜面含め、下位にランクインしている譜面は総じてプレイヤー数が多いです。また、自分の記憶の限りでは、どの譜面もこれといった極端な特徴がなく、地力譜面であることは間違いないと思います。

難易度評価の「ずれ」が最も大きかった 10 曲 

逆に、個人差度が最も高い譜面は「★25 FREEDOM DiVE [FOUR DIMENSIONS]」でした。この譜面は、1000 曲以上の中でたった 2 曲しかない最上位の★25 と評価されている通り、非常に難しいです。BP 数での足切りもあり、集計したリザルトはわずか 117 件(全譜面中最小)でした。ほかにも上位にランクインしているのは★23 以上の超高難度譜面や★??? の譜面で、個人差度はサンプル数の少なさの影響を強く受けているようです。 

今回の結果をまとめた難易度表全体は以下のスプレッドシートからアクセスできます。興味のある方はぜひご参照ください。

8. BP 数の予測

今までは BP 数とレーティングから曲のパラメーターを計算してきましたが、逆に曲のパラメーターとレーティングが分かっていれば対応する BP 数を逆算することができます。これを応用すれば、プレイヤーのレートをもとに、まだプレイヤーが遊んでいない曲の BP の予測もできるようになるはずです。
最後に、この逆算の手順をたどってみましょう。

本当は各段位 (*8) に区分し、曲を多くプレイしている人たちの中からランダムに選んで予測を行いたかったのですが、記事公開一週間ほど前に LR2IR サーバーが諸事情により停止してしまったようで、現在アクセスできなくなっています。プレイヤーの段位までは事前に取得していなかったため、高度な予測はできそうにありません。そこで、今回は代替措置として、自分の BMS の成績を使って BP の予測を試してみようと思います。

(ちなみに、自分は普段 beatoraja という LR2 とは違う BMS プレイヤーで遊んでいるため、LR2IR にリザルトは上がっていません。判定の仕様も微妙に異なるようなので、前提からして正確な予測ではなくなってしまうのですが、ご容赦ください。)

自分のセーブデータからプレイ済の 496 曲の BP を抽出し、LR2IR 上の 32193 名のリザルトと対戦させます。勝率を割り出した後はイロレーティングの式によってレーティングを計算します。レートが判明した後は、各曲のパラメーターに自分のレートを代入し、予測 BP を求めます。

以上の計算の結果、実際の BP予測 BP の差が小さかった上位 10 曲は以下のようになりました。

実際の BP と予想 BP の差が少なかった曲

どれも予測値とのずれが 1 未満と、ほぼぴったり BP を予測できています。さすがにこれほどの精度の予測は想定外でした。

一方で、実際の BP と予測 BP のずれが大きかった上位 10 曲は以下のようになりました。

実際の BP と予想 BP の差が多かった曲

途中でプレイをあきらめた曲が二つありますが、三つ目以降はどれも予測値を多い方向に外しています。実力に比べて難易度が高い譜面の予測は精度が悪いことがわかります。

また、線形回帰の時に計算した 68% 予測区間も併せて計算し、自分の BP がその予測区間に入ったかを各曲について集計しました。その結果、以下のようになりました。

予測 BP と実際の BP との差
(-1 ~ 1: 68% 予測区間、-2 ~ 2: 95% 予測区間)

黒い部分が 68% 予測区間に入っているリザルト、周りの灰色の部分が予測区間から外れているリザルトを示しています。黒い部分の面積は全リザルト中の 63% だったため、予測は想定より悪いことが判明しました。予測区間の計算方法についてはあまり考えずに決めてしまったので、もう少し詰める必要があるのかもしれません。

9. まとめ

今回の記事では以下の項目について取り上げました。

  • BMS の実力推定方法として BP 数を使いたい動機

  • プレイヤーのレーティングの計算方法

  • レーティングと BP 間の回帰方法

  • BP 数に基づいた難易度表の生成

  • レーティングから逆算することによる BP の予測

個人的に、今まで世の中で出回っている難易度表はクリア or スコア基準が中心であったところを、ミス数という新たな着眼点で難易度表を作ることができ、興味深い結果が得られたと感じています。ただ一方、クリアランプに比べて連続的である BP 数の予測はやはり難しいことが分かりました。今後も類似の分析を続け、また面白い結果が得られたら記事にしようと思っています。

ここまで長い記事でしたが、読んでいただきありがとうございました。引き続き TSG および B4UT のアドベントカレンダーをお楽しみください。

(*1) Wikipedia の記事 より

(*2) ニコニコ大百科の記事 より

(*3) BMS はコンピューターゲームですから、キーボードで遊ぶこともできれば、好きなゲームコントローラーで遊ぶこともできますので、「対応するボタン」は人により違います。ですが、大まかにキーボードで遊ぶ人と、前述した beatmania の専用コントローラーを使う人の二つのプレイスタイルが主流のようです。

(*4) BPI は、 「全皆伝取得者の平均スコア」と「全世界一位のスコア」を曲の「実力」と定め、後付けでレーティングををアドホックな手法で計算しています。正確にはここでのモデルとは手法が異なりますが、曲とプレイヤーを対比して計算している構造は一緒であることから同じ分類としました。

(*5) 例えば線形関数だと求める BP 数が負になってしまいますし、だからと言って適当に $${\exp}$$ 関数などでごまかすとこれもまた非常にずれた結果となってしまいました。(この失敗談はまた別の記事の話題にしようと思います。)

(*6) といっても $${\log(\mathrm{BP}+0.5)}$$ や $${1/({\mathrm{BP} + 0.5})}$$ くらいしか思いつきませんでしたが……

(*7) 難易度評価が下されていないのに難易度表にあるのはどうしてなんでしょうね……

(*8) BMS には段位認定という腕前を試すモードがあります。初段~皆伝までの 11 段階で区分されている「発狂段位認定」が一番有名です。


この記事が気に入ったらサポートをしてみませんか?