๐ Starfire Impact - My Browser Love Letter to Nokia Space Impact
Built overnight on 29 November 2025 so friends could mash play and relive that 3210 era without an emulator.
Play it now: ๐ Launch Starfire Impact - headphones on for the crunchy laser blips.
๐ฏ Why I built this
- Space Impact muscle memory kicked in while scrolling retro phone clips. An all-nighter felt inevitable.
- Inspired by Space Impact but intentionally not a 1:1 copy; I kept it slightly more modern even with scrappy assets because the priority was rock-solid gameplay logic.
- Wanted the same dodge-and-stripe cadence, but smoother parallax, richer audio, and instant web access.
- Goal: ship in one night, keep the scope tiny, obsess over feel (controls, juice, feedback).
๐ Levels and difficulty
- Starts calm with slow enemies, then ramps into faster dive-bombers and tighter bullet curtains by wave three.
- Boss checkpoints every few waves with heavier HP, wider hitboxes, and faster patterns.
- Dynamic difficulty nudges enemy speed and spawn density up as your score climbs, so the run keeps its tension.
- Quick restart loop so you learn patterns fast and chase a clean run.
๐ซ Weapons and power-ups
- Core blaster with tap fire and a short-charge burst for thicker enemy packs.
- Side-rail beam pickup that pierces multiple enemies but overheats if spammed.
- Bomb pickup with brief screen shake and wide splash for clearing bad patterns.
- Shield pickup that soaks one hit, telegraphs with a pulse, and gently slows time on impact for recovery.
| Nostalgia to keep | Modern polish to add |
|---|---|
| Horizontal dodge + tap-to-shoot rhythm | Responsive WASD/arrow + mobile touch controls |
| Chunky sprites and boss waves | Canvas parallax layers and subtle bloom glows |
| Score chase bragging rights | Local best-score save + quick restart loop |
| Laser blips + hit flashes | Web Audio hits, screen shake, particle bursts |
๐น๏ธ What makes it playable (fast)
- Immediate start: loads in seconds; click โPlayโ and youโre dodging in beat three.
- CRT-inspired HUD: chunky typography, scanline overlay, and gradient side rails to frame the action.
- Boss-ready juice: hit-stop on collisions, brief shake on bombs, particles on perfect dodges.
- Mobile friendly: thumb controls and reduced travel so you can play on the go.
- Lightweight build: Vite + TypeScript + Canvas; nothing heavy between you and the pew-pew.
๐ ๏ธ Technical notes
- TypeScript + Vite dev loop for quick hot reloads while balancing waves.
- HTML5 Canvas renderer with layered parallax, additive bullets, and collision grid to keep 60fps.
- Web Audio API for layered laser/splash sounds; slight detune for variance.
- LocalStorage for best-score tracking; instant restart to encourage โone more run.โ
- PWA manifest + service worker so you can pin it and play offline after first load.
๐ง Lessons (and reminders to future me)
- Ship the feel first: controls, feedback, and restart loop matter more than sprite counts.
- A clear nostalgia anchor keeps scope honest; polish the signature beats, skip everything else.
- Mobile controls need separate tuning - thumb travel, slower scroll speed, and larger hitboxes.
Play it: starfire-impact.imaji.life - I want people actually playing this one. Tag me if you beat the boss without a hit.


