Shovel Knight Dig
Roguelite Platformer
Shovel Knight Dig is a fast-paced roguelite platformer about delving ever deeper, collecting treasure, and battling quirky foes while mastering tight platforming challenges.
- Role: UI Programmer / Gameplay Programmer
- Platform: PC / Consoles / Mobile
- Engine: Unity
As the primary UI Programmer, I was responsible for the architecture and implementation of most interface systems, localization pipelines, and input management across Keyboard, Controller, and Touch screens.
The UI was designed by Phil Giarrusso and animated by Rafael Françoi.
Tecnical Challenge: Cross-Platform Input
The biggest technical challenge was creating a seamless user experience across vastly different input methods. We adapted the UI design dynamically based on the active device. For example in the settings menu, the game dynamically changes between a vertical scrollable list and large buttons, depending on the platform and input method.
Localization & Optimization
We implemented a localization pipeline that integrated Google Sheets directly with the engine for rapid iteration. Supporting languages with large character sets (Chinese, Japanese, Korean, and Arabic) significantly impacted memory and build size. To solve this, instead of including the entire alphabet for every language, the build pipeline strips out unused glyphs, packaging only the characters actually used in the game text.
Lessons Learned
1. Flexibility > Speed:
I often had to choose between hard-coding a feature for speed or taking the time to abstract it. I learned that prioritizing flexibility is almost always the right choice. Development is fluid; when design requirements inevitably changed, my abstracted systems allowed us to pivot quickly without breaking existing code, saving significant time in the long run.
2. Be Ready to Learn and Adapt
Stepping into a lead UI role for such a beloved IP was a massive responsibility. It pushed me to learn rapidly and adapt to new challenges daily. This project taught me the nuances of delivering polished UI.
Here is a video with some of my UI work on the game.