Color Rush is mechanically one of our simplest games. But it taught us more about game feel than anything else we've made. The visual design is entirely procedural, and getting it right took five iterations.

The Color Palette Problem

Our first version used random HSL values. Total disaster. Colors that were technically distinct — orange vs yellow, teal vs blue — felt identical in gameplay. Players kept mistapping because their eyes couldn't track the randomness. We settled on a curated palette of six colors with maximum perceptual distance: red, blue, green, yellow, purple, orange. Each color's RGB values are hard-coded to ensure they remain distinguishable even on cheap phone screens.

We also discovered color ORDER matters enormously. Red then green? Instant visual confusion — same brightness. Blue should always follow a warm color for contrast. These spacing rules turned our game from headache-inducing to genuinely pleasant. A small lesson that changed every design decision since.

The Math Behind Color Selection

After discarding random HSL generation, we arrived at a fixed palette with carefully calculated perceptual distances. Each color in our six-color set is separated by at least 60 degrees on the hue wheel, and we constrain lightness to a narrow band so that no color appears visually dominant. The final RGB values were tuned on three different monitor types — an IPS panel, a budget TN panel, and an OLED phone screen — to ensure consistent differentiation across display technologies.

Performance Budget

Color Rush runs at a strict budget of 8ms per frame on 120Hz displays. The rendering pipeline: clear canvas (0.3ms), draw background gradient (0.5ms), calculate shape positions (1.2ms), draw shapes with anti-aliasing (3.5ms), draw score and UI (0.8ms), draw color indicator circle (0.4ms), frame buffer swap (0.3ms). Total: approximately 7ms, leaving 1ms of headroom. This budget ensures the game stays at 120fps even on mid-range mobile devices.

Accessibility Beyond Color Blindness

While our palette works for the four major color vision deficiencies, we also tested for contrast sensitivity and response-time variability across age groups. Players over 50 benefit from larger shape sizes and slower initial speeds. Players under 12 perform better with brighter backgrounds. We shipped a single configuration that represents the best compromise across all demographics: shape radius of 18px, animation duration of 400ms for transitions, and a contrast ratio of at least 4.5 to 1 for all text elements against the background.

Why We Open-Sourced the Color Engine

The color selection algorithm in Color Rush is available as an open-source JavaScript module. We made this decision because color accessibility is a problem that benefits from community input. Developers at other game studios have already submitted two pull requests improving the palette for tritanopia (blue-yellow color blindness) and one adding support for high-contrast mode detection. The engine now supports automatic palette switching based on the user's system accessibility settings — a feature we would not have thought of without community collaboration.

Measurement and Validation

To validate our color selection, we ran a controlled test with 50 participants. Each participant was shown pairs of colors from our palette and asked whether they could distinguish them. The test was run on three device types: an iPhone 13 OLED, a Samsung Galaxy A32 LCD, and a 2021 MacBook Pro. Colors that passed the 95% distinguishability threshold on all three devices were included in the final palette. Colors that fell below 90% on any device were adjusted. The final palette achieved 99.2% average distinguishability across all device and participant combinations.

Future Improvements

Our color engine is never finished. We are currently working on a machine learning model that analyzes the player's screen and ambient lighting conditions to dynamically adjust the color palette in real time. Early prototypes show that adaptive color correction — adjusting saturation and contrast based on the device's ambient light sensor — can improve color distinguishability by an additional 15% on phones used outdoors in bright sunlight. This feature will be rolled out as an opt-in beta in the coming months, and feedback from color-blind players will directly shape the final implementation.