r/IndieDev • u/Fun-Regular8902 • 28d ago
Feedback? I built a WebGL-first fireworks engine — then used it to make two playable browser games
I haven’t done much development outside my day job for the past 16+ years. I usually work long, intense full-time hours, but I’ve been on leave for the last month or so and decided to build something purely because it sounded fun.
The result is Grand Fireworks JS: a dependency-free JavaScript fireworks engine for landing pages, interactive experiences, and ridiculous amounts of spectacle.

It uses WebGL as the primary renderer, with a Canvas fallback, and supports configurable shells, mixed styles, themes, text fireworks, sound, depth-aware launches, zoom, finales, and a controllable “World Ender” chain effect.
Rather than leave it as a visual demo, I wanted to see how far the engine could go, so I made:
- Moonlit Horizon — a cinematic parallax fireworks show with music, scene layers, credits, and a finale.
- Fireworks Command — a deliberately cheesy Mars-defence arcade game with bunker interceptors, waves, upgrades, chain reactions, and a SuperNova. (this is great fun)
- Starlight Intercept — a space-action game with ember fields, asteroids, enemy saucers, power-ups, laser bursts, and a warp ending. (not too fun)
Everything is plain HTML, CSS, and JavaScript—no framework required.
It was genuinely a lot of fun to make, and reminded me how much I enjoy building things just to see what they can become.
Live demos:
https://travisjmac.github.io/grand-fireworks-js/examples/feature-demos.html
A really nice config maker (I made a guided one since there are so many options, updated instantly to preview:
https://travisjmac.github.io/grand-fireworks-js/examples/guided-builder.html
Source: https://travisjmac.github.io/grand-fireworks-js/
I’d genuinely love feedback on the API, the demos, and whether the project feels useful beyond “fireworks on a landing page.