Skip to content

第13回 C++実践 独自ゲームの制作 4 / ブラッシュアップ

前回: 第12回 C++実践 独自ゲームの制作 3 / 拡張とデバッグ / 次回: 特別授業 オブジェクトを沢山出す

前回の振り返り

拡張とデバッグを行いました

  • スコア、リトライ、音、エフェクトなどの拡張候補を扱いました
  • デバッグ表示で値を確認しました
  • 不具合を再現手順から追う流れを扱いました
  • 今回は、提出や発表に向けて作品を仕上げます

今回の目的

作品を提出できる状態にする

  • 最低限遊べる状態を安定させる
  • 操作説明、タイトル、結果表示を整える
  • 目立つ不具合を減らす
  • 発表または提出に必要な情報を用意する

今回の授業内容

C++実践 独自ゲームの制作 4 / ブラッシュアップ

  • 作品の完成条件を確認する
  • プレイヤーが迷わない表示にする
  • バランスと見た目を調整する
  • 提出前チェックを行う
  • できる範囲で最後まで遊べる作品に仕上げる

ブラッシュアップ

最後に遊びやすくします

地味な仕上げが 作品を支えます

完成条件を確認する

何をもって完成とするかを決める

  • 起動できる

  • 操作できる

  • 目的が分かる

  • 成功または失敗がある

  • 結果が表示される

  • 途中で止まりにくい

  • 追加要素より、最後まで遊べることを優先します

プレイヤーに伝える情報

迷わず遊べるようにする

  • タイトル
  • 操作方法
  • 目的
  • スコアや残り時間
  • クリア条件
  • ゲームオーバー条件
  • リトライ方法

タイトル画面

ゲーム開始前に必要な情報を置く

cpp
enum GameState
{
    Title,
    Playing,
    GameOver,
    GameClear
};

if (gameState == Title)
{
    DrawString(220, 180, L"MY GAME", GetColor(255, 255, 255));
    DrawString(180, 240, L"PRESS SPACE", GetColor(255, 255, 255));

    if (CheckHitKey(KEY_INPUT_SPACE))
        gameState = Playing;
}
  • タイトル画面があると、遊び始めの区切りが分かりやすくなります
  • 時間がない場合は、操作説明をゲーム画面に表示するだけでも構いません

操作説明

画面内に短く表示する

cpp
DrawString(20, 440, L"ARROW: MOVE", GetColor(255, 255, 255));
DrawString(20, 460, L"Z: SHOT", GetColor(255, 255, 255));
  • 説明は短くします
  • プレイ中に必要な情報だけ残します
  • 発表時にも、操作説明があると遊んでもらいやすくなります

難易度調整

気持ちよく遊べる範囲にする

  • プレイヤーの移動速度

  • 敵や障害物の速度

  • 敵や障害物の出現間隔

  • 弾の速度

  • クリアまでの時間

  • スコアの増え方

  • 難しすぎる場合は、最初の数秒を簡単にすると遊びやすくなります

見た目の調整

何が起きているか分かる画面にする

  • プレイヤーと敵の色や形を分ける
  • 当たり判定の大きさを見た目と近づける
  • 重要な文字を背景から読みやすくする
  • エフェクトで命中や失敗を伝える
  • 画面端の外へ重要なものが出ないようにする

音の調整

聞き疲れしない音量にする

  • BGMを少し小さめにする

  • 効果音が大きすぎないようにする

  • 同じ効果音が連続しすぎないようにする

  • 失敗や成功の音を分ける

  • 音は作品の印象に強く関わるため、最後に一度通して確認します

提出前チェック

動作確認の観点

  • 起動できるか
  • 最初の画面が表示されるか
  • 操作できるか
  • クリアまたはゲームオーバーになるか
  • リトライできるか
  • 余計なデバッグ表示が残っていないか
  • 必要な素材ファイルがそろっているか

発表で話すこと

短く伝えられるようにする

  • タイトル

  • どんなゲームか

  • 操作方法

  • 工夫した点

  • 苦労した点

  • まだ改善したい点

  • 完璧な作品でなくても、何を考えて作ったかを説明できることが大切です

相互プレイの見方

遊んでもらって分かることがあります

  • 操作説明が伝わっているか

  • 難しすぎないか

  • 目的が分かるか

  • 画面上で重要なものが見えているか

  • 想定外の操作で止まらないか

  • 感想だけでなく、どこで迷ったかを聞くと改善につながります

実習1: 提出前チェック

完成条件を満たしているか確かめる

  1. 起動から結果表示まで通して遊ぶ
  2. 操作説明があるか確認する
  3. クリアまたはゲームオーバーになるか確認する
  4. 素材ファイルがそろっているか確認する
  5. デバッグ表示を消すか、必要なものだけ残す

実習2: 改善を1つ選ぶ

作品に効くところを優先する

  1. 操作しやすさ
  2. 難易度
  3. 見た目
  4. リトライ
  5. 結果表示
  • 改善を1つ選び、最後まで動作確認します

実習3: 作品を共有する

遊び方と工夫した点を説明する

  1. タイトルを伝える
  2. 操作方法を伝える
  3. 目的を伝える
  4. 工夫した点を伝える
  5. 相手に遊んでもらう

前期で扱ったこと

小さなゲーム制作に必要な基礎

  • C++の基本
  • DXライブラリでの描画と入力
  • ゲームループ
  • 構造体、配列、関数
  • 衝突判定
  • 状態管理
  • 音、エフェクト
  • クラスとポインターの入口

今回のまとめ

今日のポイント

  • ブラッシュアップでは、追加より安定性を優先します
  • 操作説明、結果表示、リトライは遊びやすさに直結します
  • 発表では、作品の内容と工夫した点を短く伝えます
  • ここまでの内容を土台に、後期や次の制作へつなげていきます

おつかれさまでした!

前期の制作 おつかれさまでした

ここから先も 作っていけます