Skip to content

2Dプラットフォーマー制作実践

この授業では

前授業で扱ったC++、DXライブラリを用いて、横スクロール系の2Dプラットフォーマーを段階的に制作します
制作を通じて、基本的なゲームプログラミングの技術を身につけるのが目的です

なおC++、DXライブラリの基本的な使い方は前授業で学んでいることを前提とします
また、サンプルコードはC++11の範囲で記述されています

制作環境を再確認する場合は、DXライブラリの導入と設定ガイドをダウンロードしてください

授業の流れ

  1. 第01回 オリエンテーションとベースコード確認
    分割済みベースコードの構成を確認し、今後の制作のための制作環境を整える
  2. 第02回 ゲームループの理解と実装
    ゲームループの基本構造を理解し、処理の順序を意識した実装を行う
  3. 第03回 画像表示の導入とエラー確認
    画像の読み込み処理に失敗時のエラー表示を実装し、実務でのエラー処理の基本を学ぶ
  4. 第04回 マップデータの外部化(CSV読込)とスクロール
    外部データの読み込みに対応してプログラムとデータの分離を学び、スクロール処理を導入して画面の動的表示を実装する
  5. 第05回 キャラクターアニメーション
    スプライトシートを部分描画し、移動と接地状態に応じて待機、走行、上昇、落下を切り替える
  6. 第06回 サウンドとゲームイベント
    BGMとSEを管理し、ゲーム中の出来事が発生した瞬間に再生する
  7. 第07回 CSVによる敵の複数配置
    CSVの配置情報と固定長配列を使い、複数の敵をまとめて管理する
  8. 第08回 敵の物理挙動とライフサイクル
    敵へ重力と地形衝突を追加し、落下無効化とリトライ時の復元を実装する
  9. 第09回 敵AIとステートマシン
    待機、巡回、追跡、やられ状態を実装し、敵ごとの状態遷移を管理する
  10. 第10回 タイトル画面と状態遷移の整理
    タイトルを追加し、画面、BGM、SE、リセットをゲーム状態の変更へまとめる
  11. 第11回 操作感の設計と改善
    可変ジャンプ、コヨーテタイム、入力バッファを実装し、根拠を持って操作感を調整する
  12. 第12回 最終アレンジ・デバッグと完成
    自分なりの変更を加え、デバッグと通しプレイのあとに必要な完成ビルドを作る

到達目標

  • 左右移動、ジャンプ、重力、床衝突、ゴール判定といった基本的な動作を自力で実装できる
  • ソースコードを役割ごとで適切に分割し、自力でのクラス設計に取り組める
  • 画像やCSVといった外部データの読み込みを扱い、ゲームとデータの分離を意識した設計と実装ができる
  • スプライトシートを使ったキャラクターアニメーションを実装できる
  • BGMとSEを管理し、状態遷移やゲームイベントに合わせて再生できる
  • 入力猶予と物理パラメーターから操作感を設計・改善できる
  • 敵やギミックを導入し、自動で動くキャラクターやイベントを実装できる
  • 複数のオブジェクトを管理し、状態と遷移条件から行動を整理できる
  • Releaseビルドを作成し、実行ファイルと素材を公開用zipへまとめられる
  • 実装の意図、工夫点、改善点を自分の言葉で説明できる