-
-
A viewer’s Twitch command adds a boss part, shows their name in the workshop, and changes the monster the streamer will fight.
-
Six contributions, three bosses: armor adds health, legs add speed, and chaos adds attacks. Equal budgets, different challenges.
-
Meet chat’s creation: the finished boss gets a name based on its dominant contribution before the streamer enters the fight.
-
Aim, dodge, and dash through telegraphed attacks. Watch the health bars and strike during the boss’s recovery windows.
-
Every round ends with a verdict: the boss’s name, victory or defeat, and credit for the viewers who built it.
Inspiration
Twitch chat often influences a stream through votes or suggestions. I wanted to give viewers something they could build together—and make the streamer face the result.
That became Bossforge: chat builds the boss, and the streamer fights it. Every contribution becomes a visible part of the monster and changes the challenge ahead.
What it does
Viewers build a boss through three Twitch commands:
!armoradds health and heavy plating, but slows movement.!legsincreases speed and adds articulated limbs, but reduces health.!chaosadds dangerous attacks and glowing spikes, with longer recovery windows.
Each viewer contributes one part per round. Their name appears in the workshop, while the boss’s appearance and stat previews update.
After construction, a short reveal introduces the finished monster. The streamer then has 60 seconds to defeat it using mouse aiming, movement, and a dash. The boss attacks with projectile fans, targeted explosions, and crossfire, then enrages at half health. Recovery windows give the player an opportunity to deal extra damage.
The results screen credits the builders before the next round begins.
How I built it
Bossforge uses vanilla JavaScript, HTML Canvas, CSS, and Web Audio, with a Node.js server connecting to Twitch chat through OAuth and EventSub.
The boss visuals are drawn procedurally, so contributions change its silhouette without requiring separate artwork for every combination. Sound effects are synthesized in the browser.
I used Codex throughout development, directing the game design and iterating on its implementation. Codex helped build the Twitch integration, combat mechanics, procedural visuals, responsive layouts, sound effects, and automated tests. I tested the experience with real Twitch chat and used those results to refine the game.
The project is deployed on Render and includes a local simulation mode for trying it without an audience.
Challenges I faced
One challenge was making chat’s choices meaningful. Adding health alone would create longer fights without necessarily making them more interesting. I introduced opposing tradeoffs, distinct visual changes, and different attack patterns so each build could feel different.
Combat also needed readable warnings and fair opportunities to respond. I iterated on aiming, attack timing, dash movement, recovery windows, and the enrage phase.
Another challenge was presentation. Text that looked clear on a large display could become difficult to read in a recording. I added Stream view, responsive workshop sizing, and high-resolution canvas rendering. Resizing also required careful pointer mapping so aiming stayed aligned with the visible arena.
For hosting, I isolated Twitch connections by browser session so one visitor’s authorization or disconnect action would not affect another visitor.
What I learned
I learned that audience participation becomes more engaging when people can immediately see the effect of their contribution. A viewer’s name, a new pair of legs, and a changing speed stat make a small chat command feel consequential.
I also learned how closely game balance and presentation are connected. Players need to understand both what chat built and how to survive it.
Working with Codex taught me to turn broad ideas into concrete behaviors, test them, and iterate. Real-channel testing and reviewing recordings helped reveal issues that were easy to miss while focused on the code.
What’s next
I’d like to explore more boss parts and attack combinations, richer feedback for contributors, and further balance tuning with larger audiences. The core idea stays simple:
You build it. I fight it.
Built With
- css3
- html5
- javascript
- node.js
- oauth-2.0
- openai-codex
- render
- twitch
- twitch-eventsub
- web-audio-api
- websockets
Log in or sign up for Devpost to join the conversation.