A browser-based asteroid mining game with a WebGL 2 renderer. Fly through asteroid fields, fracture drifting ore, collect crystals, and upgrade your ship between sectors.
Open index.html in any modern browser (Chrome, Firefox, Edge, Safari 16.4+). No build step, no dependencies, no server required.
| Key | Action |
|---|---|
| W / Arrow Up | Thrust forward |
| S / Arrow Down | Thrust backward |
| A / Arrow Left | Rotate left |
| D / Arrow Right | Rotate right |
| Mouse / Space | Shoot (aim with mouse) |
| B | Deploy bomb |
| M | Toggle music |
| 1 / 2 / 3 | Pick upgrade between sectors |
| Enter | Skip upgrade |
| ` (backtick) | Toggle debug/tuning panels |
- Rendering: WebGL 2 with 7 GLSL 300 es shader programs, instanced rendering, FBO bloom pipeline, CRT post-processing
- 3D Asteroids: Procedural polygonal meshes with barycentric wireframe edges (magenta/gold/cyan per size)
- Particles: GPU-instanced GL_POINTS with 6 shape types, per-particle glow halos, runtime tuning panel
- Grid: Procedural reactive grid shader with entity displacement, ripple shockwaves (exponential decay easing), and runtime tuning
- HUD: Canvas 2D overlay (score, shields, wave info, upgrade screen, combo multiplier)
- Audio: Web Audio API with synthesized sounds (no asset files)
- Physics: Circle-circle collision with spatial hashing
- Code: Vanilla ES modules, zero dependencies, single HTML entry point
See ARCHITECTURE.md for full technical details.