top of page
Opponents.png

Game & UI Design Philosophy

One of the core design philosophies for this project was to treat the UI as an integrated part of the gameplay experience rather than a separate layer placed on top of it. Every interaction was designed to feel responsive, readable, and expressive, reinforcing the game’s comic-book–inspired tone while clearly communicating player intent and feedback.
 

From the very beginning, each design decision was evaluated through a cross-platform lens. Whenever an interaction or system was introduced, I considered how it would function on mouse and keyboard as well as on controller, including PS5-specific input. Navigation flow, confirm and back behavior, focus handling, and visual prompts were all designed to work consistently across platforms, ensuring that no input method felt like a secondary experience.
 

Performance was treated as a design constraint rather than a technical afterthought. Visual clarity and feedback were prioritized, but never at the cost of responsiveness or stability. This mindset guided decisions around layout structure, animation usage, and system reuse, helping the UI remain lightweight, scalable, and reliable throughout production.
 

By approaching UI, interaction design, and technical implementation as a single, connected system, the result was an interface that supports gameplay flow, adapts naturally to different input methods, and remains consistent across platforms without sacrificing personality or polish.

Interaction Design,
Navigation & Feedback 

Building on the project’s core design goals, I designed and implemented the game’s full UI flow using Unreal Engine’s UMG system. This included the main menu, lobby, pause menu, settings, tutorials, and end screens. My focus throughout was to make navigation feel intuitive and predictable, ensuring players always understood where they were, what actions were available, and how to move forward without friction.
 

A consistent visual hierarchy was used across all menus to reinforce familiarity and reduce cognitive load. Buttons, layouts, and navigation patterns were intentionally reused so that learning one screen naturally translated to the rest of the interface. Clear visual and audio feedback, such as hover states, animations, and sound cues, were added to confirm player input and reinforce responsiveness across both mouse/keyboard and controller input.
 

From a technical and UX perspective, performance and scalability were constant considerations. I structured widgets primarily using overlays instead of canvas panels to reduce draw calls and improve performance while keeping layouts flexible across different resolutions and platforms. Shared button systems, reusable animations, and centralized hover and sound logic were introduced to avoid duplication and make the UI easier to maintain and extend as the project evolved.
 

Controller navigation and platform-specific prompts were treated as first-class features rather than afterthoughts. Focus handling, confirm/back behavior, and prompt bars were carefully tuned to ensure smooth interaction on both PC and console, resulting in a UI that feels responsive, readable, and consistent regardless of input method.

Iteration & Optimization

Throughout development, the UI was continuously iterated on through playtesting and ongoing team feedback. Early versions were treated as prototypes, allowing me to quickly test ideas, identify friction points, and refine both layout and interaction as the project evolved. This iterative approach helped the UI mature naturally alongside the rest of the game rather than being locked in too early.
 

As the system grew, I focused on improving structure and performance by optimizing widget hierarchies and removing unnecessary hit-testing where it wasn’t needed. Repeated Blueprint logic was refactored into reusable components, reducing duplication and making the system easier to maintain. These changes allowed the UI to scale late into production without becoming brittle or difficult to modify.
 

By the end of the project, the UI had transitioned from a collection of individual solutions into a cohesive, production-ready system that was performant, readable, and flexible enough to support last-minute changes without introducing instability.

UIaaaaa.png

Technical problem-solving & Stability

Beyond visual design, a large part of my role involved identifying and resolving technical UI issues that affected stability, usability, and day-to-day workflow. This included tracking down focus bugs, input conflicts, and menu state issues that could lead to soft-locks or unintended behavior, particularly when navigating between menus using different input methods.
 

One recurring challenge was maintainability. Early on, hover and unhover animations were implemented individually for each button, which quickly became difficult to manage and extend. I refactored this setup into a parent–child animation system, allowing hover behavior to be reused consistently across all UI elements. This not only simplified future changes but also made it easier for others on the team to work within the system.
 

I also worked directly with animation curves in Unreal to fine-tune timing and easing, giving hover interactions a more responsive and “floaty” feel that matched the game’s tone. These adjustments improved both player feedback and internal workflow, reducing iteration time while increasing overall polish and reliability.

bottom of page