Skip to content

第08回 最終仕上げと発表

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

前回の振り返り

提出前の安定化を進めました

  • バグの再現手順を書きました
  • 進行不能バグを優先して確認しました
  • F1 デバッグ表示で位置、速度、接地状態、ゲーム状態を確認しました
  • 発表準備メモの下書きを作りました
  • 今回は、最終確認を行い、作品と実装意図を発表します

今回の目的

作品と実装意図をセットで提出する

  • プレイ可能な状態で提出する
  • 不要なデバッグ表示や未使用ファイルを整理する
  • 工夫した実装と調整理由を説明する
  • 改善点を自分の言葉で振り返る

今回の授業内容

最終仕上げと発表

  • 提出前チェック
  • デバッグ表示と素材ファイルの確認
  • 発表メモの作成
  • 1人3分の作品発表
  • 相互フィードバック
  • 授業全体の振り返り

最終確認

動くことと 説明できることをそろえます

完璧より安定

提出前チェック

発表前に必ず確認する

  • 起動できる
  • 左右移動とジャンプができる
  • クリア条件が動く
  • 失敗条件が動く
  • リトライできる
  • 画像ファイルやCSVファイルが揃っている
  • 不要なデバッグ表示が出ていない

作品フォルダの確認

必要なファイルをそろえる

  • src main.cppGame.h/.cppStage.h/.cppCommon.h
  • Assets/Images 使用している画像ファイル
  • Assets/Maps 使用しているCSVマップ
  • プロジェクトファイル Visual Studioで開くために必要なファイル
  • 発表メモ 工夫点、苦労した点、改善点

デバッグ表示の最終確認

提出時に表示されっぱなしにしない

  • 完成版でデバッグ表示を残す場合は、初期状態を非表示にします
  • 発表で使わないなら DrawDebug の呼び出しを外しても構いません
  • ただし、デバッグ用コードを消す場合は、消した後に必ずビルドします
cpp
// 初期状態は非表示
bool debugVisible = false;

void Game::DrawPlaying() const
{
    stage.Draw(cameraX);
    DrawEnemy();
    DrawPlayer();
    DrawHud();

    // 提出時は必要な場合だけ残す
    DrawDebug();
}

リトライ導線の最終確認

発表中に止まらないようにする

  • クリア後とゲームオーバー後の操作を確認します
  • ResetPlay がプレイヤーと敵を両方初期化しているか確認します
  • 発表で失敗しても、すぐ再開できる状態にします
cpp
void Game::ResetPlay()
{
    ResetPlayer();
    ResetEnemy();
    cameraX = 0;
}

void Game::UpdateResult()
{
    if (CheckHitKey(KEY_INPUT_R))
    {
        ResetPlay();
        gameState = Playing;
    }
}

発表で話す項目

技術と体験の両方を伝える

  • タイトル
  • 作品の狙い
  • 操作方法
  • クリア条件と失敗条件
  • 実装で工夫した点
  • 調整した数値と理由
  • 苦労した点
  • 改善したい点

発表メモのテンプレート

3分で話せる量に絞る

  • 文章を長く書きすぎず、話す順番を決めます
  • すべてを説明するのではなく、工夫した点を中心にします
text
タイトル:

作品の狙い:

操作方法:

工夫した実装:

調整した数値:

苦労した点:

改善したい点:

発表の流れ

1人3分で共有する

  1. 作品タイトルと狙いを説明する
  2. 操作方法を説明する
  3. 実際にプレイして見せる
  4. 工夫した実装や調整を説明する
  5. 苦労した点と改善点を話す
  6. フィードバックを受け取る

相互フィードバック

具体的に伝える

  • 良かった点を1つ書く
  • 分かりにくかった点を1つ書く
  • 操作感について気づいた点を書く
  • 追加すると良さそうな要素を1つ提案する
  • 作品ではなく、改善に使える情報として伝える

評価の観点

実装と説明の両方を見る

  • 40%: 動作の安定性 起動、操作、クリア、失敗、リトライが成立している
  • 25%: 変更箇所と責務の説明 StageGamemain の役割を説明できる
  • 20%: 手触り調整 数値変更の意図と結果を説明できる
  • 15%: 発表と振り返り 工夫点、苦労した点、改善点を話せる

評価時の注意

発展未実装だけで判断しない

  • 最低到達を満たしていれば評価対象です
  • 発展課題が未実装でも、安定動作と説明ができていれば評価します
  • 仕様を削って安定させた判断も、理由が説明できれば評価します
  • 失敗原因を分析し、次の改善につなげられることを重視します

最終実習

発表前の30分で仕上げる

  1. 最終ビルドを行う
  2. 起動、操作、クリア、失敗、リトライを確認する
  3. 画像とCSVが揃っているか確認する
  4. 不要なデバッグ表示を消す
  5. 発表メモを完成させる
  6. 作品フォルダを提出できる状態にする

発表

作ったものを実際に見せる

  • 作品を起動する
  • クリアまでの流れを見せる
  • 敵やギミックの役割を説明する
  • 調整した数値を1つ紹介する
  • 工夫した点と改善点を話す
  • 発表後、フィードバックを記録する

8回の振り返り

短期制作で扱ったこと

  • 2DプラットフォーマーのMVPを決めた
  • 左右移動、ジャンプ、重力、床衝突を実装した
  • StageGame に責務を分けた
  • 画像表示と読み込みエラー確認を導入した
  • CSVでマップを外部化した
  • 操作感を数値で調整した
  • 敵やギミック、デバッグ表示を追加した

今回のまとめ

作品と実装意図を発表しました

  • 最終ビルドと提出前チェックを行いました
  • デバッグ表示、画像、CSV、リトライ導線を確認しました
  • 作品の狙い、工夫点、苦労した点、改善点を発表しました
  • 分割、外部データ化、調整、デバッグの流れを一通り経験しました
  • 今回の基盤は、自由制作や別ジャンルの2Dゲームにも応用できます