見出し画像

(グルミク)楽曲のオリジナル譜面定数を作ろう!-第1回-

こんにちは!アウルです。

久々の投稿となりますが、今回からめちゃくちゃ真面目なシリーズを始動していきます。それはタイトルにもある通り…

グルミク楽曲でオリジナルの譜面定数を作りたい!!!

ということで今回、記念すべき第1回は以下のラインナップとなります。

ぜひ、最後まで読んでいただけると嬉しいです!

1.背景

まずはこのシリーズ投稿を始めるにあたって、「なぜこれをしようと思ったのか?」が気になると思うので、少しだけそのお話を。(そもそもこれがないと始める意味がない…)

現在、僕はグルミクのためだけに開発したアプリ「D4 Meter」の運営・保守を行っています。リリースからすでに2か月がたちましたが、今更こんなことを疑問に思い始めました。

これ、譜面定数を楽曲レベルに合わせているからテクニカルスコアだけでは差別化を図れないのでは?

実際そうなんです…。例えば、恋色マスタースパーク (DJ Genki Remix)FREEDOM DIVE↓ のテクニカルスコアが、どちらも最高の 1005000 (いわゆる、理論値) だったときの単曲レートが全く一緒なんです。

だったらそのレート計算式をいじれば良いじゃないかという人もいるかと思いますが、僕がオリジナルで作ったレート計算ロジックでは、単曲レートの変動がテクニカルスコアと譜面定数に依存しています。そのため、この2つの値が全く同じであれば単曲レートも全く一緒になってしまうのです。

僕が理想としているレートの変動は、テクニカルスコアが全く一緒でも単曲レートに差が生じるという精度が欲しいということです。それが叶えられればもう文句は言うまいと思っています。そうすると、今までの話から考えれば当然、譜面定数の統一性を無くすことがまず第一歩になると考えました。

さて、ここまでを振り返ると皆さんはこんなことが思い浮かぶはずです。

オリジナルの譜面定数なら、非公式で作ってるチームがあるじゃん。

そうです。グルミクには非公式で譜面定数を制作しているチームが存在します。実はこのチームには、アプリを開発するにあたってその譜面定数を使わせてもらえないか確認を取りました。

結果は…、今までの話とアプリの完成状況から察してください。

そういうわけで、当時はとにかくリリースに間に合わせることが最優先だったため、譜面定数をレベルに合わせることしかできませんでした。

しかし、リリースしてから2か月がたった今、運営・保守は基本一人で行っているため、どんな新機能を入れようが、どんな UI 改善を施そうが、いわばやりたい放題ってことなんですね。だったら今からやるしかねぇだろって意気込んで今に至るってわけであります。

以上が、オリジナルの譜面定数を作ろうと思った背景になります。

2.譜面定数を作り出すために必要な要素

ここからは、オリジナルの譜面定数を生み出すにはどんな要素が必要になるのかを自分なりに考えました。実際に(仮の)計算モデルなんかも作りながら色々と試していたら、なんか4日も時間が過ぎてました(笑)。

最終的に、これかな?と思った要素が以下の通りです。

  • ノーツ数

  • BPM

  • 演奏時間

  • 譜面傾向(全5種)

実際まだ計算モデルの検証が終わってないので未確定ではありますが、ひとまずはこの4つに落ち着きました。詳細はまた次回にお話ししますが、最初は上3つで試してみて、「なんか違う…」と思い、無意識にグルミクを開いて曲を眺めていた時に、譜面傾向のことを思い出して今はそれを試している最中です。

というわけで、現在はこの4つの要素をベースとして考えて計算モデルを作成中であります。その紹介は検証結果も踏まえて次回にできればなぁと思っていますが、多分、検証結果まで間に合わないかも…

まぁそれは置いといて…

では、なぜこの4つの要素が必要と考えたのか。これはあくまで僕の考えなので異論は認めます。まず、譜面傾向を思い出すまでは、ノーツ数、BPM、演奏時間の3つあれば、その譜面の難易度を間接的に測ることが出来ると考えたからです。例えば、先月行われたグルミク杯エキシビションマッチにて通常楽曲としては初のレベル 16 で登場した「燐華」の3つの要素はそれぞれ以下です。

ノーツ数:1872
BPM:256
演奏時間:2分46秒(166秒)

ざっと計算すると、1秒あたり約 11 ノーツ、1分あたり約 660 ノーツである。BPM 基準だと 166 秒間で約 708 ノーツなので、なんと 2.64 倍のノーツ数がこの 166 秒間で降ってくると考えると、めっちゃ恐ろしい…。

とまあこんな感じで、この3行に収まる数字を見てもらえればこの曲の難易度がいかほどのものなのかがよ~くわかると思います。だけど同時に、実際に他の曲を調べた時も、ほとんどの曲は BPM 基準の2倍以上のノーツ数があるので当然これだけでは譜面定数を決定することは難しいなとも思いました。

その詳細は次回話すとして…

そこから新たに、譜面傾向の存在を思い出して、これを使えばもっと難易度を可視化できるかも!?と考えました。皆さんもご存じかと思われますが、譜面傾向は以下の5つで成り立っています。

notes:譜面の数を表す。この項目の大きさと曲の難しさは直結するとは限らない。
danger:危険度を表す。この項目の大きさは難易度に直結する。
effect:スライダーに触れる量を表す。
scratch:スクラッチに触れる量を表す。ここでは、ホールドノーツもスクラッチとしてカウントする。
technic:通常ノーツ、ロングノーツ、スクラッチ、ホールドノーツ、スライダーの(瞬間的な)絡み度合いを表す。この項目が大きいとより複雑な動作が求められるような譜面となる。

これがあれば少しでも可能性を広げられるかなと考えていますが、公式ではこの5項目をレーダーチャートで表示しており、五角形の大きさでどのくらい難易度が高いかが直感的に分かるようになっています。例えばさきほどの燐華はこのような五角形になります。

画像
燐華(EXPERT)の譜面傾向

はい。見事に全て上限突破されてます(笑)。ただおそらく、これが全ての項目において MAX の形になるであろうと思っています。実際、めちゃくちゃ綺麗な五角形なので、今回はこれを基準にモデルを作成していく方針に決まりました。

一応、比較として Call of Artemis のインスト曲「Altar of Artemis」の譜面傾向はこんな感じです。

画像
Altar of Artemis(EXPERT)の譜面傾向

一目瞭然ですね。notes、technic、effect が明らかに燐華より小さいですね。他の曲も確認してみましたが、15 は大体みんなこんな感じです。(やはり 16 は次元が違う…)

というわけで、オリジナルの譜面定数を生み出すために必要な4つの要素とそれらが必要な理由をお話してきました。まだまだ調査が足りない部分が多いので、このお話の冒頭でも言った通り、全て使うかどうかはまだ未確定です。どれか使わなくなるかもしれないし、また新たに追加するかもしれないので、それはまた追々話していきます。

次回はいよいよ、これらの要素を含めたオリジナルの譜面定数を計算するモデルを紹介していきます。うまくいけば検証結果までお話できると思うので、こうご期待!

それでは、また次回お会いしましょう!!!


参考文献


いいなと思ったら応援しよう!

コメント

コメントするには、 ログイン または 会員登録 をお願いします。
買うたび 抽選 ※条件・上限あり \note クリエイター感謝祭ポイントバックキャンペーン/最大全額もどってくる! 12.1 月〜1.14 水 まで
(グルミク)楽曲のオリジナル譜面定数を作ろう!-第1回-|アウル
word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word word

mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1
mmMwWLliI0fiflO&1