Inspiration

Live streaming is one of the most popular forms of digital entertainment, yet the relationship between streamers and their viewers often remains one-sided. Viewers send chat messages, but they rarely have direct influence over the gameplay unfolding on screen.

We asked ourselves: what if the audience did not just watch the game, but actively designed the challenges? This inspired CrowdForge: an interactive survival arena where Twitch chat acts as the opposing mastermind. Instead of passive spectating, every viewer contributes to forging unpredictable arena encounters, turning the broadcast into a live battle of Streamer versus Chat.

What it does

CrowdForge bridges Twitch chat, real-time web mechanics, and a 3D Unity survival game:

  • Audience Voting in Chat: Viewers participate by typing !forge <ingredient> in Twitch chat (Ice, Gravity, Storm, Mirror, Clones, Fire).
  • Fair Participation Rules: To prevent spam, our engine enforces strict fairness where each viewer gets exactly one accepted contribution per round.
  • AI Encounter Engine: Once the voting countdown concludes, an AI director synthesizes the top community ingredients into a custom encounter title, atmospheric narration, and active in-game hazards.
  • Dynamic 3D WebGL Arena: Powered by Unity 6, the game dynamically modifies movement physics (like low-friction ice sliding), central gravity pulls, enemy reinforcements, and lightning strikes.
  • Creator Control Room: A password-protected dashboard for streamers to manage rounds, trigger demo votes, inspect live ingredient meters, and control round settings.
  • Transparent OBS Overlay: A dedicated browser source HUD that streamers can drop right into OBS over their arena feed.
  • Reliable Fallback Engine: If AI APIs are unavailable, built-in deterministic algorithms ensure that every single round remains balanced and fully playable.

How we built it

CrowdForge is structured as a TypeScript monorepo managed with pnpm:

  • Frontend (apps/web): Built with React 19, Vite, Tailwind CSS, and Lucide icons. It embeds the Unity 6 WebGL canvas and features an interactive landing page and real-time dashboard.
  • Backend (apps/server): Built on Node.js and Express with Socket.IO for low-latency state synchronization across the dashboard, overlay, and game arena. It includes Twitch EventSub integration and structured AI response synthesis.
  • Shared Contracts (apps/shared): Zod schemas and TypeScript interfaces ensuring consistent validation across client and server.
  • Game Arena (unity/CrowdForge): Developed using Unity 6 with the Universal Render Pipeline (URP), utilizing WebAssembly (WASM) for smooth browser gameplay.
  • Development Tooling: Built and tested using Codex, iteratively refining game logic, schema validations, and UI components from an initial blueprint.

Challenges we ran into

  • Real-Time Synchronization: Synchronizing live chat votes, server round clocks, and WebGL game states with zero lag required careful coordination through Socket.IO and monotonic client interpolation.
  • Fairness and Anti-Spam: Designing an in-memory aggregation pipeline that reliably deduplicates viewer votes during high-volume chat bursts without degrading server performance.
  • Unity 6 WebGL Streaming: Optimizing the 3D build assets to load smoothly inside modern browsers while maintaining sharp graphics and responsive controls.
  • AI Output Reliability: Ensuring the AI Encounter Engine always produces strictly typed, game-compatible hazard recipes with sub-second response times, supported by a seamless procedural fallback.

Accomplishments that we're proud of

  • Successfully bridging live Twitch chat commands directly into real-time 3D game physics in the browser.
  • Delivering a complete, cohesive ecosystem: marketing landing page, streamer control room, OBS broadcast HUD, and Unity arena.
  • Achieving a robust voting architecture that guarantees 100% fairness and zero spam vulnerability.
  • Comprehensive testing coverage across unit, integration, and game mechanic suites.

What we learned

  • How to architect low-latency event-driven games that react to unpredictable live audience inputs.
  • The power of combining AI synthesis with deterministic fallback systems to build resilient live-stream applications.
  • How to efficiently integrate Unity 6 WebGL builds with modern React single-page applications.

What's next for CrowdForge

  • Evolving into a Full-Scale Responsive Battle Arena: Transforming the current prototype into a complete, high-octane 3D combat experience with fluid animations, tactile weapon feedback, multi-phase boss battles, and diverse arena biomes that genuinely react to real-time physics.
  • Psychological Audience Hooks & Tribal Dynamics: Introducing chat faction battles (e.g. Frost Legion vs Solar Cult), where viewers collaborate to push specific elemental doctrines, triggering chat rivalries, clip-worthy wipeouts, and high emotional investment in taking down the streamer.
  • Streamer Survival Stakes & Bounties: Giving viewers tangible bragging rights with in-chat callouts when their voted ingredient directly eliminates the streamer, tapping into the natural streamer versus chat banter that drives Twitch retention and virality.
  • Channel Points & High-Impact Sabotage: Integrating Twitch Channel Points and Sub-exclusive abilities, letting dedicated fans trigger rare game-altering anomalies (like sudden gravity flips or boss berserk modes) at critical clutch moments.
  • Viewer Progression & Social Recognition: Rewarding loyal audience members with persistent titles, contribution badges, and custom cosmetic effects on the stream overlay to fuel social status in the community.
  • Multi-Platform Expansion: Bringing the interactive forge engine to YouTube Live and TikTok Live, enabling creators across all major streaming platforms to activate their audiences.

Built With

Share this project:

Updates

Submission history