A couple weeks ago, I decided to revisit the game and finish it for real. Attached is the binary of Release Candidate 3, zipped. Here's a list of changes from the old version:
- Invaders now score properly. 10 points for the first two rows, 20 points for next two, 30 for top row.
- Saucer also scores properly. 300 points if you shoot it with your 23rd shot on a board or every 15th shot thereafter, otherwise 50, 100, or 150.
- Scores are displayed in each player's color, and player 2's score is black if it's a one-player game.
- Correct saucer timing.
- The starting position of the invader formation on each board properly matches the arcade.
- Invader bombs damage shields properly.
- Added extra life at 1000 points.
- Reworked the player death sequence. No background flickering, 3 second delay with a sound effect, and the player's position is reset to the edge of the screen.
- Added a 3-second pause between waves too.
- Added a 1-second pause at game start.
- To match the arcade, at game start the player positions are set to the edges of the screen.
- Fixed the bug where the saucer noise continues if the saucer leaves the screen while game is not in progress.
- Fixed the bug where the shields can reappear after the invaders reach them.
- Added PAL support. Flip the switch to B/W and back to Color to cycle to the next video mode. It supports NTSC 60Hz, PAL 50Hz, and PAL 60Hz.
- While I was at it, brightened up several of the colors a little.
- Fixed a bug where hitting Reset while the saucer was on the screen caused its sound effect to get stuck.
- Fixed a bug where the player's missile hitting an invader's bomb could make the game think the saucer had just been hit.
- Added animation to the player death sequence.
- When the saucer is shot, the saucer graphic turns into its point value for a few seconds to inform the player of the points earned, like the arcade does.
- Fire button starts a new game if one isn't in progress.
- Implemented invisible invaders. Hit Game Select twice to cycle into inviso mode. Same rules as the Atari SI - the invaders appear briefly when you hit one or get hit.
- The invaders' bombs are now always displayed in gray; this is a side-effect of the above.
- Added an easter-egg to display my initials. I want to see if anyone ever finds it.
- Fixed the bug where one missile could hit two fast-moving invaders.
- Fixed problem of invisible bombs when the invaders are invisible (as much as possible.)
- Found and fixed a timing bug involving invaders very close to Earth.
- Added a pause if the game ends due to the invaders reaching Earth.
- Fixed bug where sound effects got stuck when pressing Reset
I'm not looking for new features at this point. There's no available RAM or ROM left, so adding new features can't be done now without a lot of optimization. Any comments are welcome, though.