AWESOME ENGINE / 技術ガイド

導入とビルド

CMake と C++20 コンパイラーを準備し、実行ファイルをビルドして正しいディレクトリから起動します。

このページの内容

プロジェクトの必要条件

ツール 確認されている要件
C++ コンパイラー C++20 と、std::format を含む使用中の標準ライブラリ機能に対応していること。
CMake バージョン 3.28 以降。
Git プロジェクトのクローンと FetchContent による SFML の取得に必要です。
Ninja このガイドのコマンドで指定するジェネレーターを使う場合に必要です。
インターネット接続 初回の構成時に依存ライブラリをダウンロードします。

.vscode の設定は Windows、MinGW GCC、Ninja、GDB を使用しています。以下のコマンドは CMakeLists.txt とその設定に基づくもので、認証済みのビルド対応表ではありません。

コードを取得する

各ツールを PATH から実行できるターミナルで、次を実行します。

git clone https://github.com/Arukado01/AwesomeEngine.git
cd AwesomeEngine

このドキュメントとまったく同じコードを確認するには、新しく取得したコピーで対象リビジョンを選択します。

git checkout 5a6dfacd86414c4cdfaa7157b533330f173a3126

最後のコマンドは作業コピーを特定のコミットに切り替えます。変更を開発する場合は、作業を始める前に自分のブランチを作成してください。各ソースへのリンクも同じリビジョンを指しているため、将来の更新との差分を比較できます。

構成とビルド

cmake -S . -B Build -G Ninja -DCMAKE_BUILD_TYPE=Debug
cmake --build Build --parallel

CMake は Engine/Source と Games/Source の .cpp ファイルをまとめ、AwesomeEngine という単一の実行ファイルを作ります。依存ライブラリは FetchContent で取得します。

  • SFML 3.1.0。
  • nlohmann/json 3.12.0。
  • spdlog 1.16.0。
  • TGUI 1.13.0。
  • magic_enum 0.9.8。

Release ビルドを別に作る場合は、次を実行します。

cmake -S . -B BuildRelease -G Ninja -DCMAKE_BUILD_TYPE=Release
cmake --build BuildRelease --parallel

プロジェクトには MSVC 向けのコンパイラーオプションもありますが、上記の手順では Ninja と環境内のコンパイラーを使用します。同じビルドディレクトリで異なるジェネレーターやコンパイラーを混在させないでください。

Windows で実行する

ターミナルの作業ディレクトリを、Content があるリポジトリのルートに保ちます。

.\Build\AwesomeEngine.exe

対象リビジョンは初期シーンとして Tetris を指定します。このリビジョンには動作するゲーム選択画面が登録されていません。初期シーンは Engine.cpp で定義されています。

作業ディレクトリは重要です。設定、シェーダー、フォントなどのリソースは Content/Config.json のような相対パスで読み込まれます。Build から起動すると、エンジンがそれらを見つけられないことがあります。

VS Code での作業

リポジトリにはビルドタスクと GDB によるデバッグ設定があります。実行ファイルのパスは Build/AwesomeEngine.exe、作業ディレクトリはルートです。

エディター設定の一部には作者の PC の絶対パスが含まれています。コンパイラーやツールのパスは自分の環境に合わせて変更してください。そのまますべての環境に適用できる要件ではありません。

ビルドや起動に失敗した場合

トラブルシューティングでは、ツール、依存関係のダウンロード、リソース、コードの既知の制限を分けて説明しています。このガイドではインストーラーやマルチプラットフォームのバイナリは配布していません。

参照ソース

確認済みのソースコードに基づいています。問題を見つけましたか? →