Documentations of TECHMANIA projects, hosted in a repo so they can be localized.
適用バージョン: 0.5
TECHMANIAはノートのタイミングと判定の調整のためにノートオフセット
と入力遅延
を提供します。この2つはゲームオプションで調整できます。
各ノートは背景音楽が再生された後、ノートをプレイすると最高の判定が得られる「正確なプレイ時点」を持っています。これはスキャンラインがノートの真ん中を通る時点と同じです。
TECHMANIAは背景音楽の再生と同時にタイマーを開始します。プレイヤーがノートをプレイした後、ゲームはタイマーから「現在の時間」を受け取り、その時間とノートをプレイした時点を比べてその差を基に判定を適用します。
ただし入力デバイス(特にタッチスクリーン)は必ず入力遅延が発生するため、ゲームがタイマーから受け取った現在の時間はプレイヤーが実際にノートをプレイした時点よりやや遅いです。
その例として、あるノートの正確なプレイ時点が2000 msだと仮定してみましょう。
1990 msの時点で、プレイヤーは50 msの遅延を持つタッチスクリーンでノートをタップします。
ゲームは2040 msの時点でその入力を検知します。ノートの正確なプレイ時点が2000 msで、タイマーから受け取った現在の時間が2040 msですからゲームはプレイヤーがノートを40 ms遅くプレイしたと判断します。
ノート音も1990 msではなく、2040 msに再生されます。
ノートオフセットは各ノートの正確なプレイ時点を調整する数値です。[1]
上の例に加えて、プレイヤーがノートオフセットを-50 msに設定したと仮定してみましょう。そのときノートの正確なプレイ時点は1950 msになります。
1940 msの時点で、プレイヤーはノートをプレイします。1990 msの時点でゲームはその入力を検知し、プレイヤーがノートを40 ms遅くプレイしたと判断します。
ただしノート音は1990 msに再生されるため、背景音楽とのタイミングが改善されます。
入力遅延はノートの正確なプレイ時点を変更せず、最終的に計算されたタイマーの現在の時間とノートの正確なプレイ時点の差を調整します。
上の例に加えて、プレイヤーが入力遅延を50 msに設定したと仮定してみましょう。そのときノートの正確なプレイ時点は相変わらず2000 msです。
1990 msの時点で、プレイヤーはノートをプレイします。ゲームはタイマーの時間が2040 msになる時点で入力を検知し、タイマーの現在の時間とノートの正確なプレイ時点の差である40 msを計算して先に設定した入力遅延の50 msを引きます。従って、ゲームは最終的にプレイヤーがノートを10 ms早くプレイしたと判断します。これはプレイヤーがノートをプレイして体感する判定とほぼ同じです。
ただしノート音は相変わらず2040 msに再生されます。
ノートオフセットと入力遅延の両方を適用する場合、互いに逆の値を設定することをお勧めします。
上の例に加えて、プレイヤーがノートオフセットを-50 msに、入力遅延を50 msに設定したと仮定してみましょう。そのときノートの正確なプレイ時点は1950 msになります。
1940 msの時点で、プレイヤーはノートをプレイします。1990 msの時点でゲームはその入力を検知し、最終的な判定を(40 - 50) = -10 msのように計算します。ノート音は1990 msに再生されます。
[1] 実際の仕組みではゲームで使用するタイマーよりノートオフセットの値ほど早いか、遅い別のタイマーを追加します。手短に説明すれば、背景音楽やBGA、隠しトラックのノートは基本タイマーに従い、実際にプレイするノートは追加されたタイマーに従う仕組みです。ただしここでは「ノートオフセットがノートの正確なプレイ時点を変更する」と説明するのがより理解しやすいと判断しました。説明方式に関係なく結果的には同じ体感判定調整を提供します。