DELIVERY DETONATION

Technical Lead | Gameplay Design | C++

GAMEPLAY DEMO

SYSTEM ARCHITECTURE

Delivery Detonation is a multiplayer physics platformer running on a custom client-server architecture.

As the Technical Lead, I engineered the Online Session Subsystem to manage the complete lifecycle of a multiplayer match. This includes handling the initial handshake, player authentication via Unique Net IDs, and lobby persistence. The system ensures that if a host migrates or a client disconnects, the session state is handled gracefully without crashing the game loop.

Session Management Code

DYNAMIC NAVIGATION

To guide players through chaotic levels without breaking immersion, I designed a 3D Waypoint System entirely in C++.

I implemented a `ProjectWorldToScreen` logic that tracks the active objective (Package or Drop Zone). The system features Screen Clamping: if the objective is behind the player, the marker sticks to the edge of the HUD, ensuring the player never loses orientation. The waypoint dynamically updates its icon and color based on the mission state, providing instant visual feedback on "What to do next."

Waypoint System Logic

PHYSICS REPLICATION

The primary technical challenge was replicating complex physics interactions (carrying and throwing explosive packages) over the network.

I implemented Server-Authoritative validation for all physics events. When a client attempts to throw a package, the vector calculation is validated on the server before being broadcast to other clients. This prevents "state desync" where an object appears in different locations for different players, ensuring competitive integrity.

Replication Logic

MISSION LOGIC

I architected the core AGameMode loop to balance tension and pacing. The scoring system uses a "Risk vs. Reward" algorithm: carrying heavier (more volatile) packages grants higher score multipliers but significantly impacts the character's movement physics.

I exposed these variables (Base Score, Volatility Multiplier, Timer Duration) to Blueprints, allowing us to rapidly iterate on the game balance without recompiling C++. This data-driven approach allowed us to fine-tune the "fun factor" in real-time playtests.

Game Mode Logic

CHARACTER STATE MACHINE

To handle the complexity of a courier who can sprint, jump, slide, and carry volatile cargo simultaneously, I extended the standard UCharacterMovementComponent.

I architected a modular State Machine to govern movement logic. This system decouples the "Carrying" state from the "Locomotion" state, allowing for complex ability layering—such as preventing a "Wall Run" while holding a "Heavy Package"—without writing spaghetti code in the Tick function.

PHYSICS & WITHDRAWAL

I designed a Caffeine Dependency System where the player must maintain momentum to survive. As caffeine levels drop to 0%, the character enters a "Withdrawal State" where I dynamically blend in upper-body physics simulation.

This makes the character feel "flimsy" and hard to control, as the player fights against the ragdoll physics to aim and move. If the player remains at 0% for too long, a "Crashout" Event triggers—a forced state transition that disables input and collapses the character, simulating total exhaustion.

Movement Physics Implementation

UI & USER EXPERIENCE

A robust backend needs a responsive frontend. I designed and implemented the Lobby & Matchmaking UI using Unreal Motion Graphics (UMG) and C++ bindings.

The interface provides real-time feedback on connection status, player readiness, and server ping. I utilized Event Delegates to unbind UI updates from the game logic, ensuring that the HUD updates instantly when the session state changes without polling every frame.

Lobby UI System

TECHNICAL LEADERSHIP

Beyond code, I managed the production pipeline for the engineering team. This included setting up the Perforce source control environment and managing branching strategies to prevent merge conflicts.

I utilized Jira for sprint planning, breaking down complex mechanics like "Networked Physics" into atomic tasks. This ensured the project hit every milestone on time while maintaining a clean, stable codebase.