Multiplayer First Person Shooter - DeadShot
Main Features
-
Modular loadout system driven using data tables. Improving workflow for loadout modifications.
-
Saving and loading of loadouts. For a more streamline experience (Persistence between games)
-
Multiplayer support. LAN, direct IP or Steam.
-
Server hosting and server browser using Steam Sessions.
-
Lobby system with lobby settings such as: map selector, server name, player count etc...
-
Real-time chat system to communicate between players.
-
Procedural recoil system using curve tables.
-
Procedural aim-down-sights.
-
IK-based animations for procedural aim-down-sights and different weapon-holding poses.
-
Custom hitboxes for damage calculations using the physics asset.
-
FPS mechanics. Single fire, Full auto, Bullet decals, Death, Respawn, Ammo, reloading etc...
-
Live scoreboard available for all clients representing the state of the game.
Project overview
In my final year at Staffordshire University, I had the freedom to design and build any project I wanted. I am very passionate about first-person shooters and that genre of games, so I decided to create a multiplayer first-person shooter. I wanted to challenge myself and step out of my comfort zone, while showcasing the full range of skills I gained over the years working with and studying Unreal Engine.
I knew it would be a big challenge. It required a lot of research and planning before I could even begin building in Unreal Engine. I studied games that inspired me and created several prototype systems before moving to the final implementation. This process helped me clearly understand what I wanted to achieve, and gave me insight into the systems I will need to achieve to create this prototype.
My inspiration came from games I personally enjoy, including:
-
Call of Duty
-
Valorant
-
Counter-Strike: Global Offensive
I aimed to combine the fast-paced movement of Call of Duty with the precise, skill-based gunplay found in Valorant and Counter-Strike: Global Offensive.
The project was developed in Unreal Engine 5 using Blueprints, and supports multiplayer functionality through Steam, LAN, and direct IP connection.
From the early prototype stages to the final build, the project took approximately three months to complete.