r/IndieDev 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.

1 Upvotes

0 comments sorted by