Colour Clash
The Spectrum's curse
Colour clash occurred when ZX Spectrum's attribute system forced entire 8×8 pixel blocks to share foreground and background colours, creating visual artifacts when sprites crossed block boundaries.
Overview
The ZX Spectrum could display vibrant colours, but with a catch: each 8×8 pixel block shared one foreground (INK) and one background (PAPER) colour. When a sprite moved across block boundaries, it inherited the colours of whatever it overlapped. This “colour clash” defined the Spectrum’s visual character.
The attribute system
| Component | Size |
|---|---|
| Pixel data | 6,144 bytes (256×192 monochrome) |
| Attributes | 768 bytes (32×24 colour blocks) |
Each attribute byte controls an 8×8 block:
- Bits 0-2: INK colour
- Bits 3-5: PAPER colour
- Bit 6: BRIGHT
- Bit 7: FLASH
Why it happens
When a sprite crosses attribute boundaries:
- Sprite pixels set in block A
- Sprite also overlaps block B
- Block B has different INK/PAPER
- Sprite inherits block B colours
- Visual discontinuity appears
Mitigation strategies
Monochrome sprites
Many games used single-colour sprites:
- No clash visible
- Consistent appearance
- Knight Lore, Head Over Heels
Careful level design
Design backgrounds to minimise contrast:
- Similar colours in adjacent blocks
- Black backgrounds common
- Strategic colour placement
Small sprites
Sprites smaller than 8×8:
- Stay within single attribute
- Limited visual impact
- Restricts game design
Attribute-aligned movement
Move sprites in 8-pixel increments:
- Always aligned to blocks
- Jerky movement
- Not suitable for action games
Notable approaches
| Game | Strategy |
|---|---|
| Knight Lore | Monochrome graphics |
| Cobra | Coloured but careful |
| Rainbow Islands | Accepted clash |
| Renegade | Masked backgrounds |
The “Spectrum look”
Colour clash became:
- Defining characteristic
- Nostalgic aesthetic
- Recognised style
- Design challenge
Comparison with competitors
| System | Colour system |
|---|---|
| Spectrum | Attribute blocks |
| C64 | Character cells (similar) |
| Amstrad CPC | Per-pixel colour |
| MSX | Attribute cells |
Modern perspective
Colour clash is now:
- Deliberately recreated in retro games
- Nostalgic visual style
- Design constraint appreciated
- Historical interest