Skip to content

第06回 ステートマシン入門

前回: 第05回 物理パラメーター調整と操作感の改善 / 次回: 第07回 調整・デバッグ・安定化

前回の振り返り

  • 速度、重力、ジャンプ速度などの物理パラメーターを調整しました
  • 同条件比較で操作感の差を確認しました
  • 採用した値と理由を記録しました

今回の目的

実装を通して状態遷移の考え方を理解する

  • 敵またはギミックを1種類追加する
  • 当たり判定を使って遷移条件を作る
  • PlayingGameOverGameClear の振る舞いを分ける
  • リトライで状態と値を正しく初期化する

今回の授業内容

  • ステートマシンの最小構成
  • 状態遷移表の作り方
  • 敵やギミックの追加手順
  • 遷移後に更新する処理と止める処理
  • リトライ設計

ステートマシンとは

状態と遷移条件を明示する設計

  • 状態: いまゲームがどの段階にあるか
  • 遷移: どの条件で次の状態へ移るか

  • Playing -> GameOver(敵と接触)
    Playing -> GameClear(ゴール到達)
    GameOver -> Title(リトライ)

実習1: 状態遷移表を作る

  • 4状態(TitlePlayingGameClearGameOver)を前提に整理する
  • 状態ごとの入力受付を決める
  • 状態ごとに更新対象を決める

実習2: 敵またはギミックを追加する

  • 左右移動する敵、固定トゲ、落下穴のいずれか1つを選ぶ
  • 当たり判定を追加して GameOver へ遷移させる
  • 更新と描画を状態条件に合わせて制御する

実習3: リトライを整える

  • リトライ時にプレイヤー位置、速度、敵状態を初期化する
  • 遷移直後の多重入力を防ぐ
  • 意図しない連続遷移が起きないか確認する

確認観点

  • クリア後にプレイヤーが更新され続けない
  • ゲームオーバー後はリトライ入力だけ受け付ける
  • リトライ後に前フレームの値が残らない
  • 状態表示と実際の挙動が一致している

最低到達

  • 敵またはギミックを1種類追加できる
  • 状態遷移条件を説明できる
  • GameOver とリトライの一連の流れを動かせる

次回予告

第07回 調整・デバッグ・安定化

再現手順を作成し、進行不能バグを優先して修正します。