BMSチュートリアル

←前のページへ

上達を目指すために

スキンの設定

 beatorajaはスキン設定を変更することで初期設定では出ていない情報を表示したり、全く違うデザインに変えたりなんてことができます。
 コンフィグの「スキン」タブを開いてみましょう。


 判定タイミング表示は便利そうですね。表示位置もある程度動かすことが出来るのでじゃまにならない位置を探すといいでしょう。
 ホイールを回せばまだまだたくさんの設定項目があります。
 ゲージを隠して緊張せずプレイできるようにしたり、キービームの長さを変えてより目立つようにしたり、ボムをParty Parrotにしたりとカスタマイズの余地はまだまだあります。

 ちょっとしたカスタマイズに留まらず、表示そのものをガラリと変えてしまうことも出来ます。

 デフォルトのスキンとは雰囲気が違うので気分を変えてプレイが出来ます。
 スキンデータは自作することも可能ですが、誰かが配布しているものを使わせてもらうのが楽でしょう。

 スキンデータをダウンロードしてきたら、「skin」フォルダに解凍しましょう。全体を書くと「D:\BMS player\beatoraja(バージョン)\skin」ですね。
 解凍できたらbeatorajaを起動して、コンフィグの「スキン」タブを開きましょう。

「ModernChicPlay」と書かれた部分をクリックして「スキン」のリストを開くと、ダウンロードしてあるスキンの一覧が見られます。
「ModernChicPlay」以外にも「beatoraja default(lua)」、ダウンロードしているなら「Social Skin」などが表示されるはずです。

 今度は「7KEYS」と書かれた部分をクリックして「スキン種類」のリストを開きましょう。
「MUSIC SELECT」「DECIDE」「RESULT」「COURSE RESULT」といった様々な場面の設定へと切り替えられます。
 選曲画面はSocialSkin、プレイ画面はModernChicといったように、場面ごとに別のスキンをセットすることが可能なためです。


難易度表の導入

 BMSでは膨大な曲数をプレイできますが、いかんせん個人が作ったものなのでクオリティにバラツキがあります。
 曲のクオリティもそうですし、譜面の難易度表記の基準もグチャグチャです。
 beatorajaではノーツ分布を示すグラフが表示できるので難易度の割に物量が多い/少ない譜面には気付けるわけですが、いちいち確認するのも面倒です。
 有志が作った難易度表には同じぐらいの難易度の譜面がリスト化されているので、ここから自分に合った難易度の譜面をプレイするのが上達の早道でしょう。

 コンフィグを起動して、「リソース」タブの下半分を見てみましょう。
 曲を読み込んだときはノータッチでしたが、「Table URL」という欄があります。
 既に結構な量のURLがリストアップされているわけですが、半分以上は上級者向けの難易度表なので思い切って減らしてしまいましょう。
 消したい難易度表をクリックして選択し、右にある「-」ボタンを押せば消すことが出来ます。以下の図のようにしましょう。


 上から2つが7KEYの初心者向け難易度表で最後の1つが14KEYです。14KEYは敷居が高いので最後のは消してしまっても構わないです。

 新たな難易度表を追加する場合は、リストの上にあるテキストボックスにURLを打ち込んで「+」ボタンを押しましょう。
 このサイトで公開している難易度表もありますし、 有志がまとめた難易度表リストから自分に合ったものを探すのも良いでしょう。
 読み込みたい難易度表のリストアップができたら、「難易度表読み込み」から読み込んでください。


差分譜面の追加

 BMSには差分譜面という文化があります。
 BMSというのは音をどのタイミングで鳴らすか、どの音をどのレーンに配置するか、というデータです。これを書き換えたものが差分譜面です。
 叩けるレーンに配置されていなかった音をレーンに持ってきたり、同じ音をタイミングをずらして配置することで厚みを出すなんてことが可能です。
 音の配置を完全に組み替えて、同じ音を使用しているだけの全く違う曲を誕生させることすらやろうと思えばできてしまいます。
 そこまでやる人は少ないですが、作者が用意した譜面を配置し直して新しい譜面を作る人はけっこう居ます。
 えてして好きな曲だけど簡単過ぎて歯ごたえがないから難しい譜面を作るとか、人間の限界が見てみたいみたいな動機で作られるので元となった譜面よりも難しいものが爆誕します。
(簡単な譜面を作る場合は音切りから見直さなければならないことも少なくなく、作者以外にとっては難しい譜面を作るよりも簡単な譜面を作るほうが難しいという事情もある)  ある程度上達してきたらこういった譜面に触れるのも良いでしょう。同梱譜面程度の難易度じゃ物足りなくなったら君も立派な廃人だ。
 あるいは、7KEY用の譜面しか無いけど14KEYや9KEYでこの曲がやりたい、みたいな動機で作成される差分もあります。

 ここに、チュートリアルの差分譜面を用意しました。曲変更差分です。
 差分譜面の導入は簡単で、ダウンロードしたファイルを該当する曲のフォルダに放り込むだけです。
 差分を入手したけどこの曲がHDDのどこに保存されているか分からない、という場合はbeatorajaを立ち上げ、SONG SELECT画面内のどこかにある「search song」という欄に曲名を打ち込んでください。

 楽曲を選択した状態でF3を押すとその譜面が入っているフォルダがエクスプローラーで開きます。そこに放り込めばOKです。
 譜面を追加した後は「楽曲読み込み」を忘れないようにしましょう。



フォルダのカスタム

 beatorajaには検索窓があるわけですが、簡易的なものなので限界があります。
 たとえばソフランしてる曲だけ抜き出したいと思っても無理だし、WORLD/ELECTRONICA的なジャンルの曲がやりたくてWORLDと検索してもタイトルにWORLDが含まれるBMSが大量にヒットするわけです。
 これを解決する方法がカスタムフォルダです。

 エクスプローラーのbeatorajaフォルダの中に、「floder」というフォルダがあります。中にdefault.jsonというファイルが入っているのでこれをリンク先の左側のエディタで開いてください。サクラエディタなどのプログラミング用エディタがある人ならそっちでもいいです。メモ帳はダメ。
 なんやかんや書いてあると思いますが、これはModernChicで黄色いバーとして表現されているフォルダの設定です。

 default.jsonの内容とbeatorajaの黄色いバーの内容が対応していることが把握できると思います。
 MY BESTフォルダやCLEAR TYPEフォルダがあるし、CLEAR TYPEフォルダを開くとその中にはFULL COMBOフォルダやEX HARD CLEARフォルダがある。

 じゃあ、試しに途中でBPMが変化するBMSだけを表示するフォルダを作ってみましょう。6行目から以下のように追記します。

 最高BPMが最低BPMよりも大きいBMSだけ表示するってわけですね。最高BPMと最低BPMが一致するもの=BPMが変化しないものは表示されません。
 先程紹介したブラウザ上のエディタを使用している場合は元々あったdefault.jsonを置き換えるように「Save to disk」しましょう。
 default.jsonを上書き保存した状態でbeatorajaを再起動すれば、追加の操作無しで自動的にフォルダを再読込してくれます。

 今度はTRANCEジャンルの曲だけ抜き出してみましょう。以下の記述をdefault.jsonに追加します。

{
    "name":"TRANCE",
    "sql":"genre LIKE '%trance%'"
},

 なんか急に複雑になった感じがありますね。
 sqlは「genre = trance」じゃダメなの?って考えてた人がいるかもしれませんが、それは誤りです。数値情報のbpmと違ってgenreは文字列情報なので、扱いに違いがあります。
 =じゃなくてLIKEを使う、値を直書きする場合はそのまま書き込むのではなく''で囲う。この2点を守っていないとフォルダとして使えません。

 「genre LIKE 'trance'」でもフォルダとして使えますが、「genre LIKE '%trance%'」とは結果が少し変わってきます。「genre LIKE '%trance%'」の方がヒット数が多くなるんです。
 これはなぜかと言うと、'trance'は「TRANCE」や「Trance」だけで'%trance%'の方には「TRANCE CORE」や「ゆったり系Psychedelic Trance」なんかも含まれているからです。いわゆる曖昧検索。
 文字数指定ができる曖昧検索もあるんですが、使い所が「ブレイク」と「ブレーク」の表記ゆれ対応ぐらいしか思いつかないので気にしなくていいです。

 どこかから「Psychedelic TranceはTRANCEだけどTRANCE COREはTRANCEとはもう別物だろ」というツッコミが聞こえてきたような気がしました。
 気持ちは分からないでもないのでTRANCE COREを除外する条件を追加してみます。

{
    "name":"TRANCE",
    "sql":"(genre LIKE '%trance%') AND (NOT (genre LIKE '%trance%core%'))"
},

 ジャンル名がtranceだが、trancecoreではない曲ってわけです。
 別に()は必要というわけではないんですが、そうしたほうが構造が分かりやすいかと思って追加してます。

 sqlに使える値を備忘録の意味も込めてリスト化しておきます。
 ついでに、自分の使っているフォルダファイルも置いておきます。

  • 文字情報
    • title
    • subtitle
    • fulltitle … タイトルとサブタイトルを繋げたもの
    • genre
    • artist
    • subartist
    • fullartist … アーティスト名とサブアーティスト名を繋げたもの
    • path … BMSを保存しているフォルダ名。開催中のイベントのフォルダに素早く辿り着くのに便利。
    • md5 … ファイル一つ一つに自動で割り振られるハッシュ値。特定の譜面だけを入れたフォルダを作るのに使える……?需要は知らない
    • sha256 … 上に同じ。使うならmd5よりもこっちの方が良い。
  • 数値情報
    • level
    • song.mode … 鍵盤数
    • difficulty … 1:BEGINNER 2:NORMAL 3:HYPER 4:ANOTHER 5:INSANE
    • score.notes … ノーツ数
    • mainbpm … 最もノーツ数が多いBPM
    • maxbpm
    • minbpm
    • length … 曲の長さ。単位はミリ秒。
    • density … 曲全体を通しての秒間ノーツ密度
    • enddensity … 曲終盤の秒間ノーツ密度
    • peakdensity … 譜面全体を1秒ずつ区切ったとき、一番ノーツが多い区間の秒間ノーツ密度
    • n ln s ls … それぞれ鍵盤ノーツ、ロングノーツ、スクラッチノーツ、スクラッチノーツのロングの数
    • favorite … 1が曲単位のお気に入り、2が譜面単位のお気に入り
    • playcount … プレイ回数
    • clearcount … クリア回数
    • score.clear … クリアランプの種類。1~9までで、数字が大きいほどよい成績。
    • lpg egr … 自分の成績に関する値色々。○△△の二つに分けて見る。
           ○は叩いたタイミングが早かったか遅かったか。
           e:早かった(early) l:遅かった(late)
           △△は判定の結果。
           pg:ピカグレ gr:グレート gd:グッド bd:バッド pr:プア ms:空打ちプア
  • 分岐条件
    • ○○ BETWEEN △△ AND □□ … ○○が△△以上□□以下
  • その他
    • ORDER BY ○○ … ○○の値が多い順に並べる
    • DESC LIMIT ○○ … ↑で並べたものの中から上位○○個だけを取り出す
次のページへ→