Unreal Engine 5 | C++ | Solo Project

Fast-paced third-person shooter with online capabilities. Features explosives, hitscan weapons, and projectile weapons.

I primarily developed this as an exercise in implementing server-authoritative multiplayer. The game implements several lag compensation techniques. One is server-side prediction for the sensation of instant feedback on actions the server still has authority over. There is also server-side rewind, to allow for users to hit successfully score shots that appeared valid on their machine within a very small window of lag tolerance.

Server-side rewind was implemented by placing hitboxes around the character model and keeping a history of the hitbox locations and rotations up to our tolerance time (say, 150 ms). When a player on a client fires a shot that looks like it would be a hit on their machine, information about their shot – such as time, point of origin, and anticipated impact point – is sent to the server. The server then compares the trajectory of this shot to the positions and rotations of the tracked hitboxes at the point in time the shot was fired. This determines whether or not the shot is counted as a hit.

All game logic was written by me in C++ and with a handful of Blueprints. All art assets were acquired from free materials on the Epic Marketplace. Some animations were sourced from Mixamo.