オンゲキ譜面研究部
これは ISer Advent Calendar 2021 の4日目の記事です.
オンゲキという音楽ゲームをご存知でしょうか?私は知っています.
まず,オンゲキの筐体が設置してある場所に行きます.筐体に100円硬貨を少なくとも1枚投入することによりクレジットが増え,これをゲーム開始時にゲーム内通貨(GP)に変換することでチャプター・曲・難易度選択画面に遷移します.ここで選択した曲と難易度に応じたGPを消費して,演奏が始まります.演奏が始まると,選択した曲と,それに合わせて作られた譜面が流れ始めます.
以下はこの演奏についての話です.演奏において,テクニカルスコア1010000
点(最大値)を獲得することと,譜面にはどのようなものが存在するのか分類することがこの記事の目的です.実際の譜面での出現箇所を引用しておくので,動画サイトで譜面を見たり,ゲームセンターで遊んだりすると何を言っているのかわかると思います.
譜面と仕様
オンゲキの譜面には,他の音楽ゲームにも見られるノーツだけでなく,よく知られたシューティングゲームのような要素が混じっています.一見すると曲に合わせてボタンを押しつつ,敵の攻撃を回避する必要があるように思えるこのゲームは,実は多くの状況においてそうではなく,音楽ゲームとして説明できます.
譜面を構成する要素の中で,演奏に関わるものは以下の5*2+3+2つです:
- L-SIDE TAP
- L-SIDE HOLD
- Red TAP
- Red HOLD
- Green TAP
- Green HOLD
- Blue TAP
- Blue HOLD
- R-SIDE TAP
R-SIDE HOLD
BELL
- 敵の攻撃
FLICK
フィールド
- ガードレール
上の10個による組み合わせをこの記事ではなどと書きます.譜面のどこに落ちてくるかはここでは考えません.
色付きの補助線のようなもの(レーン)が譜面に置いてあることがあります.対応した色のTAPがそこに降ってくることが期待されるため,これは操作の誘導に用いられます.難易度 EXPERT, MASTER, LUNATICでは絵や文字の装飾用途1にされることもあります.このレーンはなくてもTAP等の判定には影響しない2ためここには含めません.
TAPが光っていることもありますが,最近の譜面では音合わせにしか用いられなくなってきているためここには含めません.
L-SIDEとR-SIDEの両方を壁と呼ぶことがあります.
各時刻において,壁それぞれについてTAPとHOLDの始点が1個,壁以外のTAPと壁以外のHOLDの始点と2個,BELLと敵の攻撃とFLICKが任意個出現できるとし,演奏時間からこれらの要素への集まりを譜面と定義します.
TAPは判定ラインに重なったときに対応する色のボタンを押すことによって処理できます. Red, Green, Blueに関しては対応する色のボタンが左右2つづつ存在していて,そのうち少なくとも1つがTAPの判定時に押下されることが判定の条件になります. HOLDは,始点がTAPと同じ判定で,始点から終点までBPMに応じた間隔で始点のTAP以降にボタンが押されているかの判定があります.終点で離す必要はありません.TAPと同様,Red, Green, Blueに関しては左右どちらも判定の対象です.始点で押したものを終点まで押し続ければHOLDの判定としては当然良いのですが,HOLDの始点が同時に2つある場合や,HOLDの始点から終点までに同色の別のHOLDが出現している場合があって,その場合には操作を簡単にすることができるどころか,それを暗黙のうちに要求する実際の譜面も存在します(後述).よってHOLDの説明をこのようにしています.
レバーを操作することで,自機の位置を動かすことができます.ただし,ガードレールがついている場合はガードレールを超えて移動することはできません3.ガードレールが出現するより前にガードレールの外にいた場合は影響がありません.
自機がBELLにある程度近ければBELLを取得することができます.自機が敵の攻撃にある程度近ければ敵の攻撃を受けます.敵の攻撃には見た目上様々な種類があります.
FLICKは,その空間的幅に自機が存在し,かつそれと同じ方向にレバーがある角速度以上で動いているかという判定になります.判定の時間的幅は結構広くとられているため,luna blu (LUNATIC)
32~35ノーツ目,2596~2600ノーツ目のようなものも可能です.
BELLと敵の攻撃はレバーを動かさずに取れることがあったのに対し,FLICKはレバーを動かす必要があります.
また,フィールド上に自機がいない間TAP,FLICK判定がMISSになります.
テクニカルスコア1010000
点の条件は,すべてのTAP,HOLD,FLICK判定でCB(CRITICAL BREAK,最もよい判定)を出し,すべてのBELLを回収し,すべての敵の攻撃を回避することです.
操作
上記のように譜面全体を定義しましたが,例えばやのようなものは実際の譜面には(今の所)含まれていません.手を動かして見るとこのような配置は不可能であることがわかります.これらが操作できないことにより実際の譜面に含まれていないのだとすれば,どのようなものが操作可能なのか,操作可能なものは実際の譜面に含まれているのかが気になります.
筐体が受理可能な操作
筐体が受理可能な変数は,譜面と仕様の節で述べたように,各時刻における48個のボタン入力と,レバーの座標,角速度です. 他にはL-MENUやR-MENUが存在しているものの,これらは演奏においては(現状)使いません.押したらエフェクトがかかりそうなものですけど.
人間が実現可能な操作
人間は手でボタンを押したり,レバーを持つことができます.ただし,手にはまあまあな制約があり,そのうち左手では,ある時刻において以下の操作のうち一つができると考えられます:
- (L-1) L-SIDEを押す/押し続ける
- (L-2) L-Red, L-Green, L-Blueの単一または複合を同時に押す/押し続ける
- (L-3) L-Red, L-Green, L-Blueの単一または複合を押しながら,押されていないものを押す/押し続ける
- (L-4) L-SIDEを押す/押し続ける
(L-5) R-SIDEとR-Blueを同時に押す/押し続ける
(L-6) レバーを右に倒す
- (L-7) レバーを持って操作する
- (L-8) レバーを持って操作しながらL-Blueを押す/押し続ける
- (L-9) L-Blueを押しながらレバーを右に倒す
(L-2)を実現するための指の配置はいくつかあります.(L-2),(L-5)で使った同時とは,全く同じ時刻でなくとも間隔が短ければ5ここに含むこととします. (L-4)は出張と呼ばれることがあります. (L-5)はやってみればできて,親指でL-Red,残りでL-SIDEを押すことができますよね. (L-8)と(L-9)が難解です.レバーを持った状態で,手を鉛直方向に下ろせば手首でL-Blueを押せないこともないですし,L-Blueを親指で押しながら手を広げて時計回りに回転させるとレバーを倒せないこともないです.
左手で右側の3色を押すこともできるとはいえ,左右の入力に差異はない上に,次節HOLDの乗り換えを用いれば必要なくなります.
これらを時間的に組み合わせることを考えると,別の制約が出てきます.同色のボタンを短い時間で連打することはできず,bpm200なら16分2打程度,bpm150なら16分4打程度,bpm120なら16分8打程度までしか連続できません. (L-2)だけの時間的組み合わせは他の音楽ゲームと同様,階段やトリルを行うことができます.(L-6)は(L-7)よりも準備にかかる時間が短いため,異なる操作として数える意味があります.
右手の方も書いておきます.
- (R-1) R-SIDEを押す/押し続ける
- (R-2) R-Red, R-Green, R-Blueの単一または複合を同時に押す/押し続ける
- (R-3) R-Red, R-Green, R-Blueの単一または複合を押しながら,押されていないものを押す/押し続ける
- (R-4) L-SIDEを押す/押し続ける
(R-5) R-SIDEとR-Blueを同時に押す/押し続ける
(R-6) レバーを左に倒す
- (R-7) レバーを持って操作する
- (R-8) レバーを持って操作しながらR-Redを押す/押し続ける
- (R-9) R-Redを押しながらレバーを右に倒す
左右合わせて,これらの組み合わせにより可能な譜面パターンをいくつか見ます.別の操作を用いて表現できるような操作が多数あるという点がオンゲキの運指の多様性を生み出しています.
(L-6)または(R-6)
ノーツ処理中にフィールドから離れないように自機を操作することと,ベルを回収しにゆくことと,敵弾を避けることのすべてが含まれています.これに(L/R-2)または(L/R-3)を混ぜたものもよく見られます.
(L-1)(R-1), (L-1)(R-2), (L-2)(R-1), (L-2)(R-2),
よく見る.数え切れない. この後に(L/R-6)が続くものもかなり多いです.
(L-1)(R-6), (L-6)(R-1)
これもとても多いです.
(L-1)(R-7), (L-7)(R-1)
FLICKの方向によっては上と同じになり,逆のときは異なる場合になります.
回レ!雪月花 (LUNATIC)
738~745,1209~1216ノーツ目.(L-5)(R-5)
幸せになれる隠しコマンドがあるらしい (MASTER)
1030ノーツ目,luna blu (LUNATIC)
2565ノーツ目.(L-1)(R-8), (L-8)(R-1)
(L-1)(R-8)は(L-7)(R-5)と同等,(L-8)(R-1)は(L-5)(R-7)と同等.
The wheel to the right (MASTER)
1353~1547ノーツ目((L-8)(R-1)が16回),宛城、炎上!! (MASTER)
1552~1613ノーツ目,あ・り・ま・す・か? (LUNATIC)
222~247,726~813ノーツ目,LAMIA (MASTER)
1500~1560ノーツ目付近((L-8)(R-1)が6回).(L-8)(R-2)
(R-2)にBlueが含まれる場合,(L-8)(R-1)と異なりごまかせない.
The wheel to the right (MASTER)
1353~1547ノーツ目((L-8)(R-2)が18回),LAMIA (MASTER)
1500~1560ノーツ目付近(3回).そうでない場合は(L-7)(R-2),(R-2)(R-7)と同じ.(L-2)(R-8)は登場していない.(L-2)|(L-3)と(R-2)|(R-3)の交互
同色が連続していなければ(L-2)または(R-2)と同じ.これもたくさんあります.例えば階段を(L-2)でR,(R-2)でGBと分業できることを表しています. これの末尾に(L/R-1)や(L/R-6)が来るものも多くありますね. これに(L-1)または(R-1)を混ぜたものもたくさんあり,例えば
Singularity (technoplanet) (MASTER)
2006~2023ノーツ目. さらに(L-6)と(R-6)を混ぜたものもまれに見られ,例えばミラージュ・フレイグランス (MASTER)
1592~1609ノーツ目,LAMIA (MASTER)
1071~1100ノーツ目付近.
HOLDの乗り換え
色のHOLDがあるとし,手でのボタンを始点以降押しているとします.もう片方の手でのボタンを押している間はを離してもHOLDの判定が続きます.これによりHOLDを処理する手を変えることができます.これは(L-4),(L-6),(R-4),(R-6)の入れかえと同等のため,処理できる譜面は変わりません.たとえばバイオレンストリガー (MASTER)
1330ノーツ目付近や,シャッキーーン!! (MASTER)
1420ノーツ目付近などで利用できます.
ついでに,さっき触れた
HOLDの始点が同時に2つある場合や,HOLDの始点から終点までに同色の別のHOLDが出現している場合
について説明します.
(H-1) HOLDの始点が同時に2つある場合
どちらか片方の手をボタンから離してもHOLD判定が離れることはありません.
R'N'R Monsta (MASTER)
1122~ノーツ目などはこれを使わないと押せません. また,この状態からさらに乗り換えが可能です.(H-2) HOLDの始点から終点までに同色の別のHOLDが出現している場合
同色の別のHOLD始点を押した時点で,そちらの手に移れます.
Sound Chimera (MASTER)
112~343ノーツ目,R'N'R Monsta (MASTER)
1299~ノーツ目,Apollo (MASTER)
2466ノーツ目以降などはこれを使わないと押せません.この種類の譜面は意識せずに押せていても実はたくさんあります. また,同色の別のHOLDでなく同色の別のTAPでも同じことができます.
実際の譜面
実際の譜面の一部が,人間が実現可能な操作(L-1)-(L-9),(R-1)-(R-9),(H-1),(H-2)を用いて表せそうなことはわかったので,別の簡単な操作に変換できるかというのを少しだけ見てみます.
Opfer (MASTER)
1207~1250ノーツ目
両Greenを押しながら(L/R-3)によって24分を押すのが譜面からすぐ思いつきますが,直前のノーツに続き(R-2)でRG,(L-2)でGBを押すのでも通ります.または,
Viyella's Scream (MASTER)
1926~1950ノーツ目同様RBのトリルを両手で行うこともできます.
ω4 (MASTER)
159~637ノーツ目
420ノーツ目付近で押したRed, Blueが一番新しいHOLDになるので,(H-2)により古い方の手を離すことができます.
2142ノーツ目付近
(L-2)と(R-6)のそれぞれが16分間隔で連なったものと捉えられますし,(R-9)(L-2),(R-8)の16分交互とも取れます.
脳天直撃 (MASTER)
ジャンヌ・ダルクの慟哭 (MASTER)
足立オウフwwww (MASTER)
1020ノーツ目以降
一般に,同色ノーツが2つ同時に出てきた際は両手を使うことになる一方,そうでない場合は片手で取ることができます.さらに,次のノーツとの巻き込みがなければ余分なノーツを押すことが許容されるため,470~549ノーツ目の緑同時以外と同様に1147~1149ノーツ目のRGB,1280~1287ノーツ目の両RBホールド以外の2色は片手全押し6で取れます. 見た目上同じが出現する,
SUPER AMBULANCE (MASTER)
1595~1605ノーツ目は(L-2)全押し,(R-2)全押しの8分交互で可能.
おわり
以上のように,譜面が操作可能であるかをわりと形式的に検証することはできて,アルゴリズム的に運指を考えることもできます.もう少しちゃんと定義をすれば譜面定数を定式化することもできます.
明日はもっとISerっぽい記事のはず.
-
よく見る赤青緑のレーンはボタンの入力があると鉛直方向に下がって描画されるのに対し,オンゲキbrightから追加された,ボタンの入力があっても動かないレーンもあります.
Transcend Lights (MASTER)
の820~1069ノーツ目などに現れる17色のレーンは,ここで遅れて現れる3色のレーンとは異なる挙動をしています.bright以前にも3色以外のレーン(に見えるもの)が現れたことがありましたが,それらは3色レーンの合成により作られているようです.↩ -
My First Phone (LUNATIC)
のようにレーンが消滅している譜面も存在します.↩ -
ニニ (MASTER)
169~174ノーツ目は,一見ガードレールがついているように見えますが実はついておらず.判定ラインを通り過ぎた壁を見ると小さく穴が空いています.↩ -
各時刻においてとは言っても,オンゲキは計算機上で動くプログラムゆえにクロックの間にある時間について処理を行うことはできず,おそらくは画面の描画更新と同じタイミングで入力の処理も行っているものと思われます.また物理的なデバイスから入力を受け取っているためわずかながら時間的誤差もあります.↩
-
グリッサンドをノーツに起こしたようなものを指しています.
ヒトリボッチサテライト (MASTER)
950ノーツ目付近,Galaxy Blaster (MASTER)
36,47ノーツ目など.↩ -
集合の部分集合の包含関係に関する最大元が自身であることが使えるということです.↩