
Project Phantom
I started this project to learn how to program multiplayer shooter games. Throughout the process, I have learned how to create and manage multiplayer sessions using the Steam Online Subsystem in Unreal Engine, implement lag compensation, and properly replicate gameplay mechanics between the server and clients.
Project Info
Role: Gameplay & Network Programmer
Team Size: 3
Time Frame: Still in development
Engine: Unreal Engine
Player Character
The player character consists of three different meshes to ensure proper animation fidelity in both first-person and third-person views.
-
Arm mesh for first person animations.
-
Leg mesh which is only visible for the owning player when looking down.
-
Client mesh which is only visible for other players.
This ensure that all animations looks good for both the owner character and other players in the world.


Procedual Recoil
To make shooting while aiming more challenging, I implemented a procedural recoil system that dynamically adjusts the control rotation.
The system uses a timeline and a custom curve float to determine the recoil intensity and direction, whether it moves left, right, or up.
This system allows unique recoil patterns for each weapon, enhancing gameplay depth and variety.






Weapon Types
This project include different weapon types such as Assault Rifle, SMG, Shotgun, Pistol, Sniper, Grenade Launcher and Rocket Launcher.
-
Hitscan Weapons (SMG, Shotgun, Pistol) – These short-range weapons use traces to simulate instant shots.
-
Projectile Weapons (Assault Rifle, Sniper, Grenade Launcher, Rocket Launcher) – These weapons fire physical projectiles from the muzzle toward the designated HitTarget.