English | 日本語
Windows game client for TriggerOn — a multiplayer networked FPS built with Direct3D 11 and Win32.
- Direct3D 11 rendering with HLSL shaders (lit, unlit, skeletal animation)
- Server-authoritative netcode with client-side prediction and smooth correction
- Three network modes: mock (offline), local (LAN), remote (internet)
- Skeletal animation via ASSIMP with cross-fade blending
- OS: Windows 10 or later
- IDE: Visual Studio 2022 (platform toolset v143)
- C++ Standard: C++17
From Visual Studio:
Open TriggerOn.sln → select Release | x64 → Build Solution.
From command line:
msbuild TriggerOn.vcxproj /p:Configuration=Release /p:Platform=x64
The build compiles HLSL shaders to .cso and copies them to resource/shader/ via a post-build step.
Edit config.toml in the same directory as the executable:
[network]
mode = "mock" # "mock" | "local" | "remote"
server_port = 7777
local_host = "127.0.0.1"
remote_host = "127.0.0.1"
[client]
window_width = 1280
window_height = 720| Mode | Description | Server required |
|---|---|---|
mock |
In-process mock server, no real networking | No |
local |
ENet UDP to 127.0.0.1 |
Yes (local) |
remote |
ENet UDP to remote_host |
Yes (remote) |
The following must be in the same directory as TriggerOn.exe:
TriggerOn.exe
assimp-vc143-mt.dll
config.toml
resource/
├── audio/ # BGM and sound effects (.wav)
├── model/ # 3D models and animations (.fbx)
├── shader/ # Compiled shaders (.cso, generated by build)
└── texture/ # Textures (.png, .jpg)
Core/ Window, Direct3D init, input, config, timing
Game/ Game loop, player logic, collision, state machine, scenes
Graphics/ Shaders, models (ASSIMP), sprites, textures, camera, lighting
Network/ INetwork interface, ENet client, mock server, remote players
Shaders/ HLSL source files
ThirdParty/ ENet, ASSIMP, toml++