Appearance
ゲームプログラミング実践
C++/DXライブラリでシューティングゲームを作る
DXライブラリを用いて縦スクロールシューティングを制作しながら、C++によるゲームプログラミングの基礎を実践的に学びます。 プレイヤーの操作、弾の発射、敵の出現、当たり判定、ゲーム状態の管理などを段階的に実装し、ゲームが動く仕組みを一つずつ理解していくのが目的です。 画像や音声、エフェクトなどの演出を加え、最終的にはゲームを実行ファイルとして配布できる形で完成させます。

この授業で作るゲーム
| 項目 | 仕様 |
|---|---|
| ゲームの内容 | 縦スクロールシューティング |
| 操作 | 矢印キーまたはWASDで移動、ZまたはSpaceで射撃 |
| 敵 | 画面上端から出現し、下へ進みながらプレイヤーを狙って射撃 |
| クリア | 30点獲得または60秒生存 |
| ゲームオーバー | プレイヤーのHPが0になる |
| 場面 | タイトル、プレイ中、ゲームクリア、ゲームオーバー |
授業の進め方
授業の各回は複数のステップに分かれています。 ステップごとにコードと動作を確認しながら制作を段階的に進めていきます。
この教材の方針
この教材は、C++の細かな文法や標準ライブラリの機能を網羅的に学ぶためのものではありません。C++の細かなことがまだ十分にわからなくても、各ステップの指示に従ってコードを書き、実行結果を確認していけば、ゲームを一つの作品として仕上げられるように構成しています。
C++の細かな機能については、それぞれを専門に扱う優れた教材がすでにあるため、この教材で網羅的な解説は行いません。この教材では、ゲームを作るために必要な範囲へ説明を絞ります。
一方で、コードを書いていて引っかかりやすい点、動作の理由を理解しないと先へ進みにくい点、今回の実装で特に意味を持つC++の機能については、その都度説明を入れています。すべてを最初から理解しようとせず、各ステップの説明や補足を、該当する場面で適時読んでください。
12回の予定
| 回 | テーマ | 到達点 |
|---|---|---|
| 第01回 | プレイヤーの表示と操作 | 画像で表示したプレイヤーを操作できる |
| 第02回 | プレイヤーの弾とオブジェクトプール | 複数の弾をプールで管理できる |
| 第03回 | 敵の出現と移動 | 敵オブジェクトを生成し、動かすことができる |
| 第04回 | プレイヤーの弾と敵の命中判定 | 命中判定と撃破処理を実装できる |
| 第05回 | プレイヤーを狙う敵弾 | 目標に向かって飛ぶ弾を作ることができる |
| 第06回 | プレイヤーの被弾 | HPと無敵時間を実装できる |
| 第07回 | ゲームの状態と終了条件 | タイトルから結果画面までを進行できる |
| 第08回 | 画像リソースの管理 | 外部リソースの読み込みと所有の仕組みを理解し説明できる |
| 第09回 | 音声の管理と再生 | BGMとSEの寿命と再生条件を管理できる |
| 第10回 | エフェクトと演出 | 視覚効果を意識し実践できる |
| 第11回 | 成果物の作成と検証 | ビルドプロセスを理解し、実行に必要なファイルを管理できる |
| 第12回 | 調整と完成 | 最終成果物を完成し、配布可能にできる |
配布ファイル
各回のソースコードとプロジェクトファイル、必要なアセットなどは配布ファイルからダウンロードできます。 必要に応じて利用してください。
事前準備
授業開始前に次の環境を準備してください。
- Visual Studio 2026でのC++によるデスクトップ開発環境
- DXライブラリの64bit版
- DXライブラリの場所を示す環境変数
DXLIB_ROOTの設定
環境構築の手順はDXライブラリの導入と設定ガイドをダウンロードして確認してください。