Move, Move, Melon!! is a whimsical on-rails runner developed under USC's Advanced Games Project. In this 40+ member AGP team, I contributed as a gameplay programmer shipping various game features and designer-friendly tools. 

Move, Move, Melon!! is a whimsical on-rails runner developed under USC's Advanced Games Project. In this 40+ member AGP team, I contributed as a gameplay programmer shipping various game features and designer-friendly tools. 

About the Project

Overview
Overview

• Programmer — Unity / C# on a 40+ person AGP team
• Designer tools — Mix-In Editor and three more IMGUI tools
• UI — persistent UI manager, mobile joystick
• Player feel, debugging, and an event-driven refactor

• Programmer — Unity / C# on a 40+ person AGP team
• Designer tools — Mix-In Editor and three more IMGUI tools
• UI — persistent UI manager, mobile joystick
• Player feel, debugging, and an event-driven refactor

I partnered with level designers and created the Mix-In Editor. This tool is built using Unity's IMGUI framework.
This intuitive tool can paint, edit, and bake Mix-ins without having to touch any GameObjects manually. This tool has increased productivity and level iteration speed by about 150%.

I partnered with level designers and created the Mix-In Editor. This tool is built using Unity's IMGUI framework.
This intuitive tool can paint, edit, and bake Mix-ins without having to touch any GameObjects manually. This tool has increased productivity and level iteration speed by about 150%.

One of Move-Move-Melon's primary mechanics is this simple but addicting mechanic of collecting Mix-ins. However, it was difficult to iterate fast on the level designs as placing mix-ins wasn't intuitive at all. Designers had to manually add new gameObjects, dragging the prefab and adjusting the position manually.

One of Move-Move-Melon's primary mechanics is this simple but addicting mechanic of collecting Mix-ins. However, it was difficult to iterate fast on the level designs as placing mix-ins wasn't intuitive at all. Designers had to manually add new gameObjects, dragging the prefab and adjusting the position manually.

Other than mix-ins, I also expanded the editor as a hub for all designer tools, adding a checkpoint painter and a level settings editor as well. I overall shipped about 4 designer-friendly editor tools that streamlined level design and asset management.

Other than mix-ins, I also expanded the editor as a hub for all designer tools, adding a checkpoint painter and a level settings editor as well. I overall shipped about 4 designer-friendly editor tools that streamlined level design and asset management.

Challenges

Challenges

Solution: Mix-in Editor

Solution: Mix-in Editor

“save time, easy to use, easy to learn (everyone was using), friendly with terrain”

— Jaehyuk Choi (Level Designer)

“save time, easy to use, easy to learn (everyone was using), friendly with terrain”

— Jaehyuk Choi (Level Designer)

UI manager & joystick: I worked on a persistent-singleton UI manager that owns menus, HUDs, and pop-ups across scenes. Plus, a dynamic joystick for mobile that gives players intuitive, responsive input that naturally follows the thumb.

Debugging: Integrated Quantum Console for in-game commands, state inspection, and live troubleshooting. Tracked down memory leaks and shader regressions and shipped fixes to keep the build healthy across a fast-moving team.

Player: I also worked on improving player feel: acceleration that scales with the mix-ins the player has collected. On the engineering side, I also optimized movement and manager scripts to eliminate stale references and redundant instances, and migrated the surrounding logic onto an event-driven architecture for modularity.

UI manager & joystick: I worked on a persistent-singleton UI manager that owns menus, HUDs, and pop-ups across scenes. Plus, a dynamic joystick for mobile that gives players intuitive, responsive input that naturally follows the thumb.

Debugging: Integrated Quantum Console for in-game commands, state inspection, and live troubleshooting. Tracked down memory leaks and shader regressions and shipped fixes to keep the build healthy across a fast-moving team.

Player: I also worked on improving player feel: acceleration that scales with the mix-ins the player has collected. On the engineering side, I also optimized movement and manager scripts to eliminate stale references and redundant instances, and migrated the surrounding logic onto an event-driven architecture for modularity.

Other Contributions

Other Contributions