Skip to content

配布ファイル ​

プロジェクトアーカイブの入手 ​

ソースコード、素材、プロジェクト設定は、次のアーカイブに含まれます。

完成版プロジェクト一式(complete.zip)

本講座では、完成済みのゲームを各自で改造し、全12回を通して画像やコードへの変更を積み重ね、自分の作品へ仕上げていきます。

プロジェクトのビルドと起動 ​

  1. Complete内のAutoShooter.slnをVisual Studio 2026で開きます。
  2. 画面上部のツールバーで、ビルド構成をDebug、プラットフォームをx64に設定します。
  3. F5キー、または「デバッグ」メニューの「デバッグの開始」を選ぶと、ビルド後にゲームが起動します。

Release構成を使う場合は、Release・x64へ切り替えてビルドします。
起動の際は、出力先のAutoShooter.exeを実行してください。

配布用のビルド方法は第11回 Release配布と素材確認で扱います。

素材の編集と反映 ​

画像、マップ、音声はComplete/Assetsにあります。
これらのアセットは、ビルド時に出力先のx64/Debugやx64/Releaseに自動でコピーされます。
素材を変更するときは、プロジェクト側のAssets内容を編集して再ビルドしてください。

外部素材の出典、作者の情報、ライセンス文書、著作権表示などのドキュメントはAssets/ThirdPartyにあります。
別途素材を追加する際には、同様の情報をAssets/ThirdPartyに記録することを強く推奨します。

ファイルとフォルダーの役割 ​

次のパスはCompleteを基準にしています。

ファイル・フォルダー役割
AutoShooter.slnVisual Studioで開くソリューション
AutoShooter.vcxprojC++のビルド設定を持つプロジェクト
Play.cmdビルド済み実行ファイルの起動
Source/main.cppプログラムの開始処理
Source/Config/ApplicationConfig.h画面サイズ、フレームレート、更新時間などの基本設定
Source/DxGame/Vector2、距離計算、LoadResultなどの共通処理
Source/AutoShooter/Application.cppDxLibとウィンドウ、描画先の初期化
Source/AutoShooter/Game.cpp入力取得、更新・待機・描画、素材読み込み、音声への接続
Source/AutoShooter/GameModel.h・.cppゲーム状態、経験値、更新順序、判定、発射、強化選択
Source/AutoShooter/Input.h・.cppゲーム内の操作名とキー入力の対応
Source/AutoShooter/Objects/主人公、敵、武装、攻撃、経験値アイテムなど
Source/AutoShooter/Tuning/GameTuning.hHP、速度、容量、経験値などの調整定数
Source/AutoShooter/Tuning/EnemyWaves.cpp時間帯ごとの敵種、体数、HP、速度、出現間隔
Source/AutoShooter/Resources/SpriteImages.h・.cpp画像ID、読み込み、コマ分割、表示サイズ、基準点
Source/AutoShooter/Resources/CharacterAnimation.h主人公の動作と画像・再生方法の対応
Source/AutoShooter/Resources/EnemyVisuals.h敵種と画像・色・表示倍率などの対応
Source/AutoShooter/Resources/Renderer.h・.cppゲーム画面とUIの描画
Source/AutoShooter/Resources/SoundManager.h・.cpp効果音ID、ファイル、音量、再生
Source/AutoShooter/Resources/TileImages・TileMapの各ファイルタイル画像とCSVマップの読み込み・描画
Assets/Images/キャラクター、攻撃、アイテムのPNG画像
Assets/Maps/Garden_Ground.csv、Garden_Details.csvなどのマップ
Assets/Sounds/Shot.wav、Hit.wav、Damage.wav、Clear.wavなどの音声
Assets/ThirdParty/外部素材の出典とライセンス文書
Tests/ゲームのコアロジックを確認する単体テスト
Tools/ビルドなどの補助スクリプト

ゲーム動作の設定 ​

ApplicationConfig.h には、画面サイズ、フレームレート、更新時間などの基本設定が含まれています。
必要に応じて変更してください。

例えば配布版は60FPSでの動作を基本としていますが、FrameRateを変更することでゲームのフレームレートを調整できます。

ApplicationConfig.hcpp
namespace dxgame::config
{
    inline constexpr int ColorBits = 32;
    inline constexpr int ScreenWidth = 1280;
    inline constexpr int ScreenHeight = 720;
    inline constexpr wchar_t WindowTitle[] = L"AutoShooter / C++・DXライブラリ";
    inline constexpr char ErrorTitle[] = "AutoShooter";

    // ゲームループの1秒あたりのフレーム数
    inline constexpr int FrameRate = 60;

    // 1フレームの長さ 単位はミリ秒
    inline constexpr double FrameMilliseconds = 1000.0 / FrameRate;

    // 1フレームの長さ 単位は秒
    inline constexpr float DeltaTime = 1.0f / FrameRate;
}

画像とアニメーション ​

画像の差し替え、コマ分割、表示サイズ、アニメーションの設定は第02回を参照してください。

マップ ​

背景はTiled形式のマップエディタで作成されたCSVファイルを読み込んで描画しています。
Garden_Ground.csvとGarden_Details.csvを編集すれば、背景のタイル配置を変更できます。

Pythonによるビルドとテスト ​

Tools/Build.pyは、ビルドと単体テストを実行する補助スクリプトです。
Pythonが利用可能な環境であれば、アプリケーションのビルドとテストを行うことができます。
AutoShooter.slnのあるフォルダーからスクリプトを実行してください。

bash
# Debug構成のビルドとテスト
python Tools/Build.py

# Release構成のビルド
python Tools/Build.py --configuration Release

Pythonの使用は任意です。
通常の制作は、Visual StudioでのビルドとF5キーによる実行で進めてください。