XYZ RTS
An rts inspired by starcraft,mtg,osrs, custom C++ engine.
Currently pre-Early-Access and in active development.
How it's built
xyz runs onon top of bgfx, SDL3, and entt.
Deterministic simulation. Identical inputs produce a bit-identical state_hash() across
machines.
A headless oracle. The simulation builds without a renderer, so replay playback and determinism tests run in CI in seconds instead of booting the full client.
Netcode. Peer-to-peer lockstep over GameNetworkingSockets with protobuf framing and a Steam transport path. Matchmaking, chat, and Glicko2 skill rating are handled by a separate Go service running on Fly.io.
Why I left Unreal Engine 5
XYZ started in Unreal Engine 5 in 2022, and most of what you'll find in the devlog and on YouTube is that version.
I rebuilt it in 2026 because of one requirement UE5 could not give me: bit-level determinism across machines and toolchains. An RTS with hundreds of units and a lockstep network model needs every client to arrive at exactly the same world state from the same inputs. Floating point behavior that varies by compiler, and engine systems whose tick order isn't under my control, make that guarantee impossible to hold. Verifiable replays and trustworthy multiplayer both depend on it, so the engine had to go.
The Unreal prototype
The original version is worth keeping around. It was a 1v1 RTS with dedicated game servers matchmaking players through Agones on Kubernetes, a fog of war system that diffed unit snapshots per tick and sent only the difference, group pathing and fleet movement, and a map editor that generated playable maps from 128x128 pixel images.
Documented in the devlog and on YouTube.
alejandrohernandez996@gmail.com