Skip to content

ゲームプログラミング実践
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ライブラリの導入と設定ガイドをダウンロードして確認してください。