配布ファイル
プロジェクトアーカイブの入手
ソースコード、素材、プロジェクト設定は、次のアーカイブに含まれます。
本講座では、完成済みのゲームを各自で改造し、全12回を通して画像やコードへの変更を積み重ね、自分の作品へ仕上げていきます。
プロジェクトのビルドと起動
- Complete内のAutoShooter.slnをVisual Studio 2026で開きます。
- 画面上部のツールバーで、ビルド構成をDebug、プラットフォームをx64に設定します。
- F5キー、または「デバッグ」メニューの「デバッグの開始」を選ぶと、ビルド後にゲームが起動します。
Release構成を使う場合は、Release・x64へ切り替えてビルドします。
起動の際は、出力先のAutoShooter.exeを実行してください。
配布用のビルド方法は第11回 Release配布と素材確認で扱います。
素材の編集と反映
画像、マップ、音声はComplete/Assetsにあります。
これらのアセットは、ビルド時に出力先のx64/Debugやx64/Releaseに自動でコピーされます。
素材を変更するときは、プロジェクト側のAssets内容を編集して再ビルドしてください。
外部素材の出典、作者の情報、ライセンス文書、著作権表示などのドキュメントはAssets/ThirdPartyにあります。
別途素材を追加する際には、同様の情報をAssets/ThirdPartyに記録することを強く推奨します。
ファイルとフォルダーの役割
次のパスはCompleteを基準にしています。
| ファイル・フォルダー | 役割 |
|---|---|
AutoShooter.sln | Visual Studioで開くソリューション |
AutoShooter.vcxproj | C++のビルド設定を持つプロジェクト |
Play.cmd | ビルド済み実行ファイルの起動 |
Source/main.cpp | プログラムの開始処理 |
Source/Config/ApplicationConfig.h | 画面サイズ、フレームレート、更新時間などの基本設定 |
Source/DxGame/ | Vector2、距離計算、LoadResultなどの共通処理 |
Source/AutoShooter/Application.cpp | DxLibとウィンドウ、描画先の初期化 |
Source/AutoShooter/Game.cpp | 入力取得、更新・待機・描画、素材読み込み、音声への接続 |
Source/AutoShooter/GameModel.h・.cpp | ゲーム状態、経験値、更新順序、判定、発射、強化選択 |
Source/AutoShooter/Input.h・.cpp | ゲーム内の操作名とキー入力の対応 |
Source/AutoShooter/Objects/ | 主人公、敵、武装、攻撃、経験値アイテムなど |
Source/AutoShooter/Tuning/GameTuning.h | HP、速度、容量、経験値などの調整定数 |
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を変更することでゲームのフレームレートを調整できます。
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のあるフォルダーからスクリプトを実行してください。
# Debug構成のビルドとテスト
python Tools/Build.py
# Release構成のビルド
python Tools/Build.py --configuration ReleasePythonの使用は任意です。
通常の制作は、Visual StudioでのビルドとF5キーによる実行で進めてください。