All case studies
Color Switch Rush — a colour puzzle that works without colour
The whole game rests on telling four segments apart at speed — including for players who cannot see hue.
- Client
- In-house title
- Platform
- WebGL / browser
- Engine
- Unity
- Genre
- Arcade
Unity WebGLC#gzip compressionApache
The challenge
Color Switch Rush is built on a rule that is trivial to state and surprisingly easy to render badly: the ball only passes through the segment of the ring that matches its current colour.The entire game lives or dies on one question — can the player tell, at speed, which segment is theirs? If the answer is ever no, the death feels stolen. Rotating rings make this harder, because the matching segment is a moving target. Colour-blind players make it harder again: a red and green segment that differ only in hue are the same wall to a significant slice of the audience.
There is also a planning problem. If the colour switches were predictable, the game would collapse into a memorised route. If they were random with no warning, it would collapse into luck.
Accessibility turned a design preference into a hard requirement. Roughly one in twelve men has some form of red-green colour deficiency, and a colour-matching game is precisely the genre where that stops being an inconvenience and becomes an inability to play. A red segment and a green segment that differ only in hue are, for those players, the same wall — so the central mechanic simply does not function.
Our approach
The palette was chosen for contrast in brightness and saturation, not only in hue. The four segment colours stay distinguishable when the image is reduced to greyscale, which means they stay distinguishable to a player with red-green colour blindness. That constraint shaped the palette before anything was drawn.The ball's current colour is shown on the ball itself, at the centre of the player's attention, rather than in a corner of the HUD. The player never has to look away from the thing that is about to kill them to find out what colour they are.
Colour switches are placed where the player can see them coming but cannot bank a route: the switch is visible on approach, so the decision is made with information, while the position of the next ring means the route still has to be re-read each time.
Rotation speed is tuned against the climb speed so the matching segment is reachable from the moment it becomes identifiable. A gap that can be seen but not reached is the same unfairness as a gap that cannot be seen.
The board is square, so it gets the same 1:1 handling as the other WebGL titles — size resolved against the stage, which keeps it whole on a phone and uncropped on a wide monitor. The build ships gzip-compressed with its own server rule declaring that encoding.
The palette was validated by desaturating it. If the four segment colours remain distinguishable in greyscale, they differ in brightness and not only in hue, which is what makes them separable for a player with red-green deficiency. That test was run before any art was finalised, because retrofitting a palette after the fact means redrawing everything that depends on it.
Shape and position were not used as the fallback signal, deliberately. On a rotating ring, position changes continuously and shape reads poorly at speed, so brightness was made to carry the distinction on its own rather than leaning on a secondary cue that the mechanic undermines.
The result
A colour-matching game that stays readable at speed and stays playable for colour-blind players, because the palette separates on brightness rather than hue alone.Every death traces back to a decision the player made with information they had — the switch was visible, the segment was identifiable, the gap was reachable.
It runs in the browser on desktop and mobile with no download and no account. Playable on this site right now.
The palette separates on brightness as well as hue, verified by a greyscale check, so the core mechanic remains playable for players with red-green colour deficiency rather than excluding roughly one in twelve men outright.
The ball's current colour sits on the ball itself rather than in a HUD corner, so the player never looks away from the obstacle to find out what they are carrying.
Rotation speed is tuned against climb speed, which means a segment that becomes identifiable is also still reachable — a gap you can see but cannot reach is the same unfairness as one you cannot see.
