1234567
For Phase 1, I will plan on using the [login to view URL] javascript library which will satisfy all your graphics requirements and has builtin SVG support.
Galaga will be reverse engineered to the best of my ability through playing it, watching videos, reading Wikis/online resources, and exploring/cherry-picking open source clones of the original game.
All gameplay will be deterministic by using a single seeded random-number-generator to create all random behavior. user input will be stored as an array of actions for every timestep.
All sprites/images will be recreated to the best of my ability from the original game images. Sprite animations (such as bugs fluttering wings) will be recreated by cycling through 2 or more sprites.
The following features of the original game will be implemented:
- player movement and shooting
- bugs spawning, moving in patterns, taking damage and dying
- bug types, including blue, red, kamikaze, and boss
- bugs dropping missiles
- score
- extra lives
- levels (stages)
- "abduction" bug, which allows for 2 or 3 fighters at the same time
For Phase 2, I will create a ValidateGame function which will behave just as you described. All game logic will be separated from display, so you will be able to quickly step through gameplay deterministically.