I think I never properly gave Space Invaders credit, but I’ve played it a bit lately, and I’ve got to give it props. That’s a game that worked very well within the hardware limitations.
For example, the fewer invaders there are on the screen, the faster they move. This means each level has a natural escalation in difficulty. But it also means the computer always moves one invader per frame, which maintains a consistent load on the processor.
Both you and the invaders can only have one bullet on screen at a time. Again, this keeps the needed memory and processing load consistent, but also means that: 1) The rate of fire from the invaders increases the closer they are to the ground, leading to escalation again. 2) Your rate of fire is higher when you are hitting invaders, and lower if you miss, giving you extra incentive to not waste shots.
There can be dozens of invaders on screen at any point, but because they move in a block, you would not need to store individual positions for each invader. Pretty clever.
I’ve been making games in Flash, and sometimes my frame rate drops low while playing. I need to think more like the creators of Space Invaders, and design game play that works hand in hand with the limitations.
Also, related to my post on one of Ferry Halim’s games, despite the simplicity of Space Invaders, everything you do has multiple consequences. Each killed invader increases their speed. Removing the bottom invaders will reduce their rate of fire, and removing rows from the sides will reduce their rate of descent.