ChatLife Arena turns Twitch chat into a team war of living cells. Viewers join FIRE or ICE with !join, and every !paint drops a 3x3 cluster of living cells onto a shared board running Conway's Game of Life - a new generation every five seconds. Chat-drawn seeds spread, collide and die. Both teams must join the fight before anyone can win: once they have, wiping out the other side's cells takes the round, and if a hundred generations pass, the team holding more territory wins. Then the board resets and the war starts again.
Collaborative Twitch canvases and chat-controlled Game of Life experiments exist. ChatLife Arena's angle is competitive: painted pixels become living armies with team activation, territory scoring and timed rounds, rendered as an OBS-ready overlay with a live score bar and painter credits.
The core game engine, team-based Life rules, Twitch bot, overlay and test suite were developed with OpenAI Codex in a single Codex CLI session, with manual integration fixes for the live Twitch hookup. Codex session ID: 01a19d3e-4bc5-7110-b0c4-d2b6d6172fce
Run it: npm install; copy .env.example to .env and set TWITCH_CHANNEL plus bot credentials (TWITCH_USERNAME/TWITCH_OAUTH), or READ_ONLY=1 for anonymous chat reading, or SIMULATE_CHAT=1 for local dev; npm start; open /overlay on the configured PORT.
Log in or sign up for Devpost to join the conversation.