Heads up: the demo post at r/bug_smasher_v1_dev is being caught by the spam filter — it's only visible to me as the author, so it won't load for anyone else. Post: https://www.reddit.com/r/bug_smasher_v1_dev/comments/1uwp6m9/bug_smasher/ Flagging it in case the link looks dead on your end. If the post can be approved, the game runs fine.

Inspiration

We wanted to see if a genuinely tactile, 3D arcade game could live inside a Reddit post — not a simplified 2D version, but the real thing, running in the WebView. Bug-smashing is universal: everyone knows the satisfying reflex of swatting something before it gets away. The idea was to take that instant, physical hook and wrap it in a daily community loop, so a whole subreddit could smash the same swarm and compare scores. A reflex game anyone understands in one second, plus a reason to come back tomorrow.

What it does

Bug Smasher is a 3D arcade game that runs inside a Reddit post. Bugs crawl and fly across a field — you tap them before they escape, chaining fast taps into a combo multiplier. Dodge the friendly ladybugs (tapping one costs you), grab power-ups that drop from kills, and take down a boss at the end of every biome. Three modes: Campaign (seven biomes from Garden to Void, each ending in a boss), Daily Run (one seeded swarm per day that's identical for everyone, scored on a shared leaderboard), and Endless (survive escalating waves). Shards, unlocks, and upgrades save to your Reddit account and follow you across sessions and devices.

How we built it

three.js for the real-time 3D — bugs, biomes, particle systems, and camera are all live-rendered in the WebView. Devvit Web (Reddit's Developer Platform) so the whole game runs inside an Interactive Post, built on the official three.js Devvit template. A Hono server on Devvit that persists per-user save state and a per-day, per-subreddit leaderboard in Reddit's Redis. The entire soundtrack and every sound effect are synthesized at runtime with the Web Audio API — no audio files shipped. Object pooling for bugs, particles, and pickups, plus instanced decor and adaptive quality, to stay smooth during dense swarms.

Challenges we ran into

Getting a CDN-based three.js game to run inside Devvit's WebView took real work: external scripts are blocked, so we vendored three.js locally; the bundler ignored our game files until we moved them into the served public/ directory; and we ported the server from a raw setup into the template's Hono pipeline. We also chased down a pooling bug where a defeated boss mesh could leak back into the regular bug pool and reappear as a stuck, untappable giant — fixed by ensuring boss meshes are never recycled.

Accomplishments that we're proud of

We got a fully 3D, real-time rendered game — with animated bugs, five bosses, particle effects, camera punch, haptics, and a generative soundtrack — running smoothly inside a Reddit post, not as a stripped-down demo but as a complete experience with a splash screen, shop, missions, and a shared leaderboard. Making it feel tactile and alive within the platform's constraints, and turning a solo reflex game into something a whole subreddit can play together through the daily seeded run, is the thing we're proudest of.

What we learned

How Devvit Web wires a web game into Reddit end to end: the split between the WebView client and the server, using Redis for durable per-user and per-community state, and the content-security constraints of running inside the platform. The biggest lesson was a design one — the community-shared daily seed is what turns a solo arcade game into something a subreddit experiences together, and that shared context is the real hook.

What's next for Bug Smasher

More biomes and boss mechanics, a weekly community boss whose HP is chipped down by the entire subreddit together, cosmetic bug skins bought with shards, and deeper comment-driven features so the community helps shape the game.

Built With

Share this project:

Updates

Submission history