Skip to content
Andreas Bengtsson

Game HUD with challenging limitations

Play and create UI on a custom engine

I led the design for HiberWorld's comprehensive game UI, covering both play and creation experiences. The goal was a scalable, responsive HUD suitable for low-end devices. Adhering to the engine's GUI system limitations pushed us to find creative solutions.

5M+
Virtual worlds created since 2022
40+ min
Average time per day per registered user
Role
UX Designer, design lead for game UI
Timeframe
2022 — 2024
Status
Shipped and still live
image slot · 21/9

HiberWorld game UI across six different worlds on mobile, showing play mode HUD

HiberWorld play mode across a range of user-created worlds

Context

I began working with HiberWorld's new custom engine shortly after the platform transitioned away from its old JavaScript-based engine. My task was to create the UI for all the new features we had planned.

When I joined the team, the UI was in its early stages with basic functionality and several usability issues. The desktop UI was merely a scaled-up version of the mobile UI.

Constraints

The limitations shaped every decision that follows.

Low-end devices

A significant portion of our players were teens in India on low-end devices, or kids in the US playing on iPads. The UI had to stay responsive across very different screen sizes.

Culturally inclusive

A broad international audience meant the interface could not lean on local idioms.

One UI developer

We had a single developer working on the game UI in C++ and Noesis, so every implementation took longer and had to be worth the cost.

An older GUI framework

The version of Noesis we used lacked basic functionality like drop shadows and animations, which ruled out a lot of conventional polish.

Startup pace

As a small startup we had to deliver quickly while juggling multiple projects, so changes had to be incremental rather than wholesale.

Two modes, one system

The same UI language had to serve playing a world and building one, on both phone and desktop, in portrait and landscape.

The problem

The existing interface had accumulated the usual early-stage problems: it worked, but it fought the player. Contrast failed against bright backgrounds, button states were ambiguous, and controls were larger than they needed to be, leaving no room for the features we had planned.

Because the desktop layout was a scaled-up mobile layout, neither felt designed for the device it was on.

  • Poor contrast against bright backgrounds
  • No clear button states
  • Unnecessarily large buttons, leaving little room for new functionality
  • Icons inconsistent in size, weight and style
  • Desktop UI was a scaled-up version of the mobile UI

Solution

Given the limitations, I couldn't be bold with the design choices, so the focus went into simple, clear and consistent UI elements. That constraint turned out to be clarifying rather than limiting.

Buttons were resized and repositioned for logical grouping and for the features we knew were coming. Placement followed phone ergonomics and a grid system for alignment and spacing, so the same rules held whether the player was on a phone in portrait, a phone in landscape, or a desktop browser.

I explored each layout in parallel directions — one driven purely by grouping, one by thumb ergonomics, one by strict grid alignment — and compared them against real worlds rather than empty mockups.

image slot · 16/9

Three parallel create mode layout directions labelled All, Ergonomics and Grid

Create mode explorations — grouping, ergonomics and grid directions compared
image slot · 16/9

Play mode UI in portrait and landscape orientation on small screens

Play mode — portrait and landscape, tested for small-screen responsiveness
image slot · 16/9

Alternative hotbar designs and the tap hotbar slot info panel

Alternative hotbars and the tap-to-inspect slot panel

Building it

I collaborated closely with the developer and the product owner to make incremental improvements without derailing other priorities. Working inside one engineer's capacity meant sequencing changes so each one shipped on its own rather than waiting for a big release.

We iterated continuously based on internal testing, player feedback and the arrival of new tools and features. Despite the technical constraints, the resulting interface is scalable, clear and consistent.

Engine
Custom C++ engine with Noesis for GUI
UI implementation
One dedicated engine developer
My scope
Design lead for game UI across play and create modes
Approach
Incremental shipping, continuous iteration

Results

ResultMetricHow measured
5M+Virtual worlds createdPlatform totals since 2022, when the new UI shipped
40+ minAverage daily time per registered userPlatform analytics

The UI has supported the creation of over five million virtual worlds since 2022. It is still live — you can try it yourself on HiberWorld.