Space Invaders Loop
Accidental Iteration Speed-up and Player Constraints
What's so cool about this? ↓The Accidental Masterpiece
The most important mechanic in Space Invaders was not designed — it emerged accidentally from hardware limitations, and Nishikado recognized its value and kept it.
The Intel 8080 CPU was too slow to update all 55 aliens in a single frame. Nishikado’s solution was to update only one alien per frame cycle. With 55 aliens alive, a complete pass through all aliens took 55 frames. As aliens are shot, the loop completes in fewer frames, causing the remaining aliens to move faster.
The Code Behind the Speed-Up
The core loop is responsible for iterating through the formation one index at a time. The speed-up is completely emergent, lacking any explicit multiplier logic! Check the sidebar for the specific array iteration strategies in your engine of choice!
The Single-Bullet Constraint
A subtle but critical design decision: the player can only have one bullet on screen at a time. The player cannot spray bullets — they must aim each shot deliberately, wait for it to resolve, and then fire again. This constraint is the source of virtually all tension in the game.