games · sub-star
radiant_slice
tactical FPS systems in Unreal Engine 5 C++, with lag compensation.
readme
The systems of a tactical shooter, written in Unreal Engine 5 C++ to explore what competitive FPS games actually have to solve: hit registration across a network, a server-authoritative ability system, and movement precise enough to feel fair. Built from the player side of ~3,000 hours in the genre, aimed at the parts players feel but rarely see. these are the mechanics, not a game: there is no level, HUD or content.
artifact
simulated netcode: shots rewound by ping before the hit test runs.
signal log
- lag compensation records each head position per server tick and interpolates between the two frames bracketing the shooter’s timestamp, reconstructing where a target was on the shooter’s screen rather than where it is now.
- deterministic recoil: a fixed per-shot offset curve makes the spray learnable, with random spread layered on top and scaled by movement speed.
- partial: the rewind is built and correct but not yet called from hit validation, which still applies damage to the client-reported target.
- ability system (RadiantAbilityBase) with charges and cooldowns enforced on the server, where an early press is ignored rather than failing RPC validation and disconnecting the player. NearSight and Dark Cover reach the right machines but have no visible effect yet.
- counter-strafing in a custom movement component: friction rises inside CalcVelocity when input opposes momentum, so the client’s prediction and the server’s replay of the same move agree.
- GameMode, GameState and PlayerController scaffolding for rounds, with replicated round time and spike state; the round logic itself is not written yet.
built with
C++Unreal Engine 5