Appearance
第02回 音ゲーム1
一定のテンポで流れるノーツに合わせて入力し、入力時刻と基準時刻との差から判定を行います。フレーム番号ではなく時間を基準にゲームを作る方法を学びます。
この回のゴール
- 曲の開始時刻を基準にゲーム内時刻を進める
- ノーツの判定時刻と入力時刻の差を求める
- Perfect、Good、Missの判定幅を設定する
- 判定結果を画面へ表示する
今回のポイント
音ゲームの判定は「ノーツが見えたか」ではなく「基準時刻との差がどれだけ小さいか」で決まります。時間の基準を一か所に集めることで、表示、入力、判定を同じ時計で扱います。
授業の流れ
1 / 4曲の基準時刻を作る音源の再生とノーツ判定で共通に使うゲーム内時刻を作る2 / 4入力と判定時刻を比較する入力時刻とノーツの判定時刻との差から、判定ランクを決める3 / 4判定結果をフィードバックする判定結果を文字、色、音、簡単な演出でプレイヤーへ伝える4 / 41回分のプレイをつなぐ曲の開始、入力、判定、終了までを一つのラウンドとして接続する
配布プロジェクト(ドラフト)
レーン、ノーツ表示、入力UI、短い音源を含む開始プロジェクトを配布します。譜面は数個のノーツをコード内に仮置きした状態から始めます。
今回実装する範囲
| 区分 | 内容 |
|---|---|
| 自分で実装する処理 | 基準時刻、入力時刻、差分、判定ランク |
| 実装済みの機能を利用する処理 | ノーツの描画、レーン配置、音源再生 |
| 後の回で扱う処理 | 譜面データ、コンボ、結果画面 |
完成確認
- 同じ入力でも早すぎる・遅すぎる場合に結果が変わる
- 判定幅を変更すると結果の傾向が変わる
- 曲の開始から判定まで同じ時刻基準を使っている