Skip to content

Repository files navigation

JavascriptAlienInvasion

Alien Invasion has been rebuilt as a small Vite + TypeScript canvas game.

Run locally

npm install
npm run dev

Build

npm run build

Test

npm run test

What changed

  • The legacy global script was replaced with a module-based TypeScript implementation.
  • Game state now lives in a single GameState object.
  • Input, update, render, and audio are separated in the runtime.
  • The loop now uses requestAnimationFrame instead of setInterval.
  • DOM controls now provide restart, mute, and live status without relying on keyboard-only overlays.
  • The UI now includes pause, difficulty, and volume controls backed by typed game settings.
  • Settings and the top five local high scores now persist in browser storage.
  • The runtime is split across src/game/ modules for state, input, audio, assets, update, render, and UI copy.
  • The update system now has lightweight automated coverage.
  • Existing image and sound assets are served from public/.

Releases

Packages

Contributors

Languages