Skip to content
Techniques & Technology

Sprite Flicker

Exceeding hardware limits

Sprite flicker rapidly alternated which sprites displayed each frame, allowing games to show more objects than hardware supported at the cost of visible flickering.

NESsega-master-systemC64 graphicsspritestechnique 1983–present

Overview

Hardware had limits. Games exceeded them. When the NES could only display 8 sprites per scanline, developers flickered between sprites each frame—showing some objects on even frames, others on odd frames. The result: visible flicker, but more enemies and bullets than the hardware officially supported.

Fast facts

  • Purpose: Display more sprites than hardware limit.
  • Method: Alternate sprites between frames.
  • Trade-off: Visible flickering.
  • Necessity: Game design demanded more objects.

NES sprite limits

LimitSpecification
Total sprites64 maximum
Per scanline8 maximum
OverflowExtra sprites invisible
SolutionFlicker rotation

How it works

FrameDisplayed sprites
1Sprites A, B, C, D
2Sprites E, F, G, H
3Sprites A, B, C, D
4Sprites E, F, G, H

Result: All sprites visible, each at 30fps instead of 60fps.

Implementation approaches

MethodEffect
Priority rotationCycle which sprites get priority
Random selectionVary which sprites shown
Importance weightingPlayer sprite never flickers
Scanline distributionSpread sprites vertically

Games with notable flicker

GameSituation
ContraMany enemies/bullets
Mega ManBoss fights
GradiusBullet hell moments
Zelda IICombat scenes

Alternative solutions

ApproachTrade-off
Fewer objectsReduced gameplay
Larger spritesFewer total
Different designAvoid crowded scenes
Accept limitsSome sprites disappear

Player perception

EffectReception
Mild flickerAcceptable
Heavy flickerDistracting
ConsistentBecomes invisible
ErraticVery noticeable

Platform variations

SystemSprite limit
NES8 per scanline
Master System8 per scanline
C648 total (hardware)
SNES32 per scanline

See also