SyzygyEngine 上で構築された、C++20 ベースのマルチプレイヤーアクションゲームクライアントです。
このリポジトリは、ネットワーク対応アクションゲームのポートフォリオ作品におけるクライアント実装です。
主な内容:
- プレイヤー名入力を含むログインシーン
- プレイヤー操作、敵・エフェクト、UI 管理を含むメインゲームシーン
- Asio を用いたゲームサーバーへの TCP 接続フロー
Debug/Develop/Releaseの CI ビルド
- 言語: C++20
- ビルド: MSBuild / Visual Studio ソリューション (
Portfolio.sln) - プラットフォーム: Windows x64
- ネットワーク: Asio (standalone)
- シリアライズ: Protocol Buffers (Abseil 併用)
- グラフィックス: DirectX12
- ツール: DirectXTex, Dear ImGui, Assimp
- Windows 11
- Visual Studio 2022 (C++ によるデスクトップ開発ワークロード)
- Git LFS
- Submodule 対応 (
--recurse-submodules)
git clone --recurse-submodules https://github.com/TaiseiHamaya/PortfolioGameClient.git
cd PortfolioGameClient
git lfs pull- Visual Studio 2022 で
Portfolio.slnを開きます。 Debug | x64/Develop | x64/Release | x64から構成を選びます。- ソリューションをビルドします。
msbuild Portfolio.sln /p:Platform=x64,Configuration=DevelopDevelop は Debug または Release に変更可能です。
ビルド後の実行ファイルは次の場所に出力されます:
../generated/outputs/x64/<Configuration>/Portfolio.exe
補助スクリプトでも起動できます:
pwsh ./Game/DevTool/launch-bot.ps1 1 -BuildType Develop補足:
- スクリプトは
--develop-bot-enableを使って複数のボットクライアントを起動できます。 - デフォルトのサーバーアドレスは
Game/Scripts/Network/GameServer/GameServerConnectionManager.cppにハードコードされています。
- 選択移動:
W/S、Up/Down、またはゲームパッド左スティック - 決定/選択:
Enter、Space、またはゲームパッドA - 名前入力: 英字 (最大 12 文字)、削除は
Backspace
- 移動:
WASDまたはゲームパッド左スティック - アクション 1: キー
1またはゲームパッドA
Game/: ゲーム固有コード、アセット、ゲームプレイスクリプト、ネットワーク処理SyzygyEngine/: エンジン本体とサードパーティ統合.github/workflows/: 各構成向け CI ビルド定義Portfolio.sln: ルート Visual Studio ソリューション
GitHub Actions により、master への push ごとに以下をビルド検証します:
DebugDevelopRelease
各ワークフローでは Submodule と LFS アセットを取得した後、Windows ランナー上で MSBuild を実行します。

