v0.3.0
Gameplay
- Hold ←/→ to move smoothly;
ppauses;qreturns to the title screen - Score, high score and lives shown during play; 3 lives with respawn
- Aliens speed up as their numbers drop; each wave starts lower and faster
- 4 destructible shields
- Only the lowest alien in each column drops bombs
- Mystery UFO worth 50–300 points
- High score saved between sessions
- New title and game over screens, and explosions that linger
Fixes
- Collision boxes now match each sprite's size
- The alien formation turns and invades based on living aliens only
- Clearing a wave starts the next one instead of leaving an empty screen
- The cannon stays on screen; new games fully reset; only one game loop runs
- Off-screen bombs are cleaned up; the fire sound only plays when a shot fires
Under the hood
- The local HTTP server is gone: frames and key presses go through webview
Binddirectly to Go - All assets are embedded in the binary, so
go run .works and the app bundle is just the executable - Steady 50 fps, a 2× crisp pixel window, and a much smaller JavaScript page
- Code split into focused files with unit tests and a render snapshot test
Download
invaders-v0.3.0-macos-arm64.zip contains the macOS app for Apple Silicon. It is unsigned, so right-click → Open the first time.