Appearance
第13回 デバッグ・調整・発表
前回: 第12回 独自要素の追加
今回の授業内容
- 不具合を再現手順、期待結果、実際の結果に分ける
- 提出前チェックを行う
- 難易度、操作感、表示、音量を調整する
- 自分が追加した実装意図を説明できるようにする
- 完成したゲームを発表する
今回の開始状態
第12回終了時点では、基本ゲームに独自要素が1つ追加されています。
今回の終了時点では、提出できる状態まで不具合を直し、発表できるようにします。
不具合を整理する
不具合を直す前に、現象を固定します。
次の3つを分けて書きます。
| 項目 | 内容 |
|---|---|
| 再現手順 | どの操作をすると起きるか |
| 期待結果 | 本来どうなってほしいか |
| 実際の結果 | 実際に何が起きているか |
この形で整理すると、修正後に同じ手順で確認できます。
提出前チェック
最低限、次の項目を確認します。
- タイトル画面からゲームを開始できる
- プレイヤーが画面外へ出ない
- 弾が画面外で無効化される
- 敵を倒すとスコアが増える
- 敵に当たるとHPが減る
- HPが0になるとゲームオーバーになる
- クリア条件を満たすとゲームクリアになる
- リトライでスコア、HP、弾、敵、エフェクトが初期化される
- 画像や音声がない場合でも致命的に止まらない
- 第12回で追加した独自要素が説明通りに動く
確認した項目は、通ったかどうかを記録します。
修正後は、関連する項目をもう一度確認します。
調整する
ゲームは動くだけでは完成ではありません。
速すぎる、難しすぎる、情報が見えにくい、音が多すぎるといった問題を調整します。
調整するときは、1度に多くの値を変えません。
1つ変えて動かし、結果を見てから次を変えます。
| 調整対象 | 影響 |
|---|---|
| プレイヤー速度 | 操作のしやすさ |
| ショット間隔 | 攻撃の手応え |
| 敵の出現間隔 | 難易度 |
| 敵の速度 | 避けやすさ |
| クリアスコア | プレイ時間 |
| HP | 失敗の許容量 |
発表準備
発表では、作ったものを見せるだけでなく、実装意図を説明します。
- どのようなゲームにしたか
- 第12回で追加した要素は何か
- どのファイルやクラスを変更したか
- 実装で迷った点は何か
- 調整で変えた値は何か
- 次に改善するなら何を直すか
コードのすべてを説明する必要はありません。
自分が意図して変更した部分を、具体的に説明できることを重視します。
実習
- 提出前チェックを行う
- 見つかった不具合を再現手順つきで記録する
- 不具合を修正し、同じ手順で確認する
- 難易度や操作感を1項目ずつ調整する
- 発表用の操作手順と説明内容をまとめる
- 時間があれば、他の人に遊んでもらい、分かりにくい点を確認する
今回の完成条件
- 提出前チェックを通したゲームを用意できる
- 不具合を再現手順、期待結果、実際の結果で説明できる
- 自分が追加した要素と変更箇所を説明できる
- 完成したゲームを発表できる
まとめ
全13回で、DXライブラリを使った2Dシューティングゲームを段階的に実装しました。
今後は、敵の種類、ステージ、アイテム、演出、UIなどを追加して、自分のゲームへ発展させられます。