HN
← Back to Projects

Triad of Valor

3D co-op action RPG in Unreal Engine 5 — battle together in real-time.

A 3D co-op MORPG built in Unreal Engine 5. I worked on resolving critical GPU rendering bottlenecks, stabilizing multiplayer combat, and automating repetitive designer workflows.
  • Optimized GPU rendering time from 40ms to 23ms (42% reduction) by profiling via Unreal Insights and fine-tuning Lumen and Virtual Shadow Map (VSM) parameters.
  • Architected a data-driven enemy variation system using DataTables and OnConstruction scripts, reducing manual blueprint iteration time by 90%.
  • Developed and integrated p4bot (Discord-Perforce bridge) to eliminate workflow bottlenecks caused by invisible file-locks; provided real-time visibility saving each member 15+ minutes daily.
  • Resolved intermittent race condition crashes in event delegate binding through defensive coding and synchronized cleanup.

Technical Deep Dive

GPU Bottleneck Diagnosis (40ms → 23ms)

My contribution focused on GPU profiling and rendering tuning in dense combat scenes where frame time hit 40ms. Using Unreal Insights, I identified Lumen/VSM-heavy passes and validated settings such as Lumen Downsample Factor 16 and VSM Ray Count 4, helping bring the target scene down to 23ms (42% improvement).

Network-Authoritative Combat

I contributed C++ gameplay-side support for multiplayer combat reliability, including Blueprint-to-C++ migration work on stamina/hit processing and RPC-timed hit validation hooks used in server-authoritative combat flow.

Data-Driven Enemy Variation

I implemented and maintained the enemy-variation pipeline using Unreal Data Tables and OnConstruction scripts, enabling designers to tune scale/stats/material values in-editor without repeated code rebuilds.

DevOps: p4bot Workflow Automation

Developed p4bot, a Discord–Perforce bridge, to solve the ‘invisible file-lock’ problem caused by school IT restrictions. Real-time exclusive-lock notifications and the /canwork slash command saved each team member an average of 15+ minutes of idle time daily.

GPU Profiling: Before vs. After

Profiled with Unreal Insights in a dense combat scene (6 active enemies, full Lumen GI + VSM enabled). The bottleneck was excessive shadow ray counts and a full-resolution Lumen downsample pass running every frame.

MetricBeforeAfterChange
GPU Frame Time40 ms23 ms−42%
Lumen Downsample Factor1 (default)16Tuned
VSM Ray CountDefault4Tuned
Visual RegressionNone✓ Clean