Design system
W4's interface is meant to feel like a modern game client, not a debug tool. Menus, the lobby, the in-game panels and the editor share one set of rules, so a button, a chip or a tooltip looks and behaves the same wherever you meet it.
This section explains those rules. If you play, it tells you why things look and react the way they do. If you make maps, it tells you what the interface will do with your names, colours and messages. If you contribute to W4, it is the standard your screens are held to.
The look: midnight gilt
A moonlit, cold navy world with warm gold. Midnight blue for the scene and the panels, steel for frames and quiet borders, gold for what is yours and what matters, moonlight cream for text. Gold on midnight is the signature pairing, and we keep it.
Panels are not flat fills. They have a lit top edge, a darker bottom edge, a soft shadow and a little depth, like metal and dark glass. Shapes carry meaning too: things you act on (panels, primary buttons) have cut corners, while people and states (avatars, chips, toggles, dots) are round.
Principles
- Colour says what a thing is for. One colour, one meaning, on every screen. See Colour.
- Hierarchy comes from a few type sizes, not from shouting. Six sizes, one page title per screen. See Typography.
- Everything you touch answers. Hover, press, focus and appearance all animate, within a tenth of a second, and nothing blocks your input. See Motion.
- Long things get cut down. A chip, a number or a tooltip says it faster than a sentence. A list that does not fit scrolls; it never overflows.
- One widget for one job. A button is the same button everywhere. See Components.
- One main action per screen. It is big, it is gold, and it sits where your pointer already is. Dangerous actions are red, far from it, and ask first.
- Never colour alone. Ally and enemy are words and shapes as well as green and red. See Accessibility.
- Honest state. Loading shows progress and says what is loading. Errors say what happened and what to do. A local account looks local.
- Style is part of the job. A screen that works but is dull is not finished. See How we critique our own UI.
- Cheap to run. Interface costs nothing when it is not on screen or not changing, so thousands of units keep their frame rate.
The pages
- Colour: the palette, what each colour means, contrast.
- Typography: the faces, the six sizes, alignment and wording.
- Motion: springs, timings, loading and transitions.
- Components: the kit, category by category.
- The visual language: capsules, chips, keycaps, palettes, the loading screen, the game menu, unit icons.
- Accessibility: scale, reduced motion, high contrast, colour-blind aids.
- How we critique our own UI: the loop contributors follow.
The kit page
The game has a page that shows every widget in every state: the UI kit, opened with F2 on the main menu. A widget that is not on that page does not count as built. It is the quickest way to see the whole system at once.
Status
The design system is being built now. Pages here describe the target; where something is planned and not yet in the game, the page says so. The binding rules for contributors live in the repository's docs/UI-GUIDELINES.md and its companions.