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.
• 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.
“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.