This is multiplayer action game client developed with C++20 and 'SyzygyEngine'.
This repository contains the client-side implementation for a networked action game portfolio project.
It includes:
- Login scene with player name input.
- Main in-game scene with player control, enemy/effect systems, and UI managers.
- TCP-based connection flow to a game server using Asio.
- CI pipelines for
Debug,Develop, andReleasebuilds.
- Language: C++20
- Build System: MSBuild / Visual Studio solution (
Portfolio.sln) - Platform: Windows x64
- Networking: Asio (standalone)
- Serialization: Protocol Buffers (with Abseil)
- Graphics: DirectX12
- Tools: DirectXTex, Dear ImGui, Assimp
- Windows 11
- Visual Studio 2022 with C++ desktop development workload
- Git LFS
- Submodule support (
--recurse-submodules)
git clone --recurse-submodules https://github.com/TaiseiHamaya/PortfolioGameClient.git
cd PortfolioGameClient
git lfs pull- Open
Portfolio.slnin Visual Studio 2022. - Select one configuration from:
Debug | x64,Develop | x64,Release | x64. - Build the solution.
msbuild Portfolio.sln /p:Platform=x64,Configuration=DevelopYou can replace Develop with Debug or Release.
After build, executable output is expected at:
../generated/outputs/x64/<Configuration>/Portfolio.exe
You can also use the helper script:
pwsh ./Game/DevTool/launch-bot.ps1 1 -BuildType DevelopNotes:
- The script can launch multiple bot clients with
--develop-bot-enable. - Default server address is currently hardcoded in
Game/Scripts/Network/GameServer/GameServerConnectionManager.cpp.
- Move selection:
W/S,Up/Down, or gamepad left stick - Confirm/select:
Enter,Space, or gamepadA - Name input: alphabetic characters (up to 12),
Backspaceto delete
- Move:
WASDor gamepad left stick - Action 1: key
1or gamepadA
Game/: game-specific code, assets, gameplay scripts, networking logicSyzygyEngine/: engine source and third-party integrations.github/workflows/: CI build pipelines for each configurationPortfolio.sln: root Visual Studio solution
GitHub Actions validates builds on every push to master for:
DebugDevelopRelease
Each workflow checks out submodules and LFS assets before running MSBuild on Windows runners.

