Roc on Stage
Position
Programmer
Description
An action-adventure side-scroller featuring a stylized 2D cardboard aesthetic set entirely on a theatrical stage, inspired by titles like Princess Peach: Showtime!.
Joining the team mid-production after an internship, I expanded my role to include project management and game design duties following a team restructuring.
Alongside programming the core action-combat systems, I focused on defining the gameplay loop by structuring the progression logic and player reward mechanics. This project also served as my practical introduction to technical art, where I developed custom URP shaders to support the game's colorful, humorous theater setting.
Project period
5 month
Project type
3D Sidescroller, Adventure
Used Software
Unity, Rider, Sourcetree
Team Size
5

Programming

Object Pooling
Gameplay Systems & Optimization
-
Performance-Driven Object Pooling: Engineered a custom object pooling architecture for projectile-firing enemies to avoid costly dynamic instantiations and deletions, successfully minimizing Garbage Collector spikes during combat.
-
Pre-Cached Ammo Lifecycle: Implemented a system that pre-allocates an optimized buffer for projectiles upon scene load, dynamically enabling/disabling visibillity, colliders and logic loops before returning them to the pool.
-
Group Status & Drop Managers: Scripted an automated enemy group manager that tracks the active status of registered entities, accurately detecting the elimination of the final group member to dynamically instantiate rare item drops at its precise transform location

Unity NavMesh
AI Navigation & Combat Mechanics
-
Layered Multi-Altitude NavMesh Navigation: Configured and baked dynamic Unity NavMeshes to enable autonomous AI pathfinding, duplicating and vertically shifting navigation bounds to seperate ground-based routing from aerial/flying enemy pathways.
-
Obstacle Exclusion & Baking: Utilized NavMesh modifiers and volume boxes to accurately cut out un-walkable environment meshes from the baked navigation field, ensuring precise collision avoidance for hostile entities.
-
Trigger-Based Combat Integration: Built an efficient input-to-animation combat layer utilizing trigger collider, featuring a precision parry system that executes a seamless player pirouette dodge to the opposite side of the target upon successful timing.
Shader Graphs
Stylized Tech Art & Custom Shaders
-
Diegetic Stage Lighting Mechanics: Developed a custom volumetric light shader applied to an open cone mesh from Blender, successfully creating a real-time stage spotlight effect to bypass the native rendering limitations of Unity's URP.
-
Paper-Style Sprite Outlines: Engineered a dedicated Sprite Outline shader to mimic the iconic, distinct cardboard/paper aesthetic of "Paper Mario", enhancing depth perception within the hybrid 2.5D stage environment.
-
VFX Reward Feedback Loops: Created a dynamic parry shader that instantiates semi-transparent, fading blue echo trails along the player's transform path during the pirouette dodge maneuver to reinforce precise gameplay timing.
Shader Optimization & Pipeline Foundations
-
Modular Subgraph Architecture: Abstracted complex UV manipulation logic into reuasable Subgraphs to maximize node organisation, maintain clean graph readability and enforce clean visual scripting practices.
-
Script-to-Material Communication: Set up public shader properties and material instances, enabling direct modification of exposed variables via C# gameplay scripts to update visual effects dynamically at runtime.
-
Render Pipeline Fundamentals: Gained practical experience with URP rendering pipelines, manipulating World Space math, UV spaces and explicit Rendering Queues (Opaque vs. Transparent) to manage draw order overhead and depth sorting.











