Cozy Party cover
← Work 09 / 51 Live 2026 Solo developer

Cozy Party

A Pummel Party-style couch game in the browser — 3D island board, 17 minigames, 8 players on one keyboard plus gamepads, and online rooms with zero per-game netcode.

Cozy Party is the game you open when friends are already on the couch: cute blob characters racing around a board and beating each other up in minigames, Pummel Party style, straight from a browser tab. No install, no accounts, no build step — vanilla JavaScript ES modules, a 2D canvas, and three.js for the parts that deserve depth.

The board is a real 3D island with a follow camera, physical dice, pawns, and a relocating trophy; the finale is a 3D podium. Minigames are 15 handcrafted 2D games plus two true-3D ones (Rolling Rumble, Gem Grotto) across survival, reaction, and objective categories. HUD, menus, and particles live on a transparent 2D canvas projected over the WebGL layer, and the whole thing falls back to 2D if the CDN fails.

Eight players, one keyboard

Local play packs four shared-keyboard slots (WASD+E, arrows, IJKL+O, TFGH+Y), unlimited gamepad slots on standard mapping, and CPU bots with per-game AI to fill the roster. Board items — Double Dice, Rocket, Trap, Swap, Shield, Magnet — keep the leader honest.

Online multiplayer without netcode

The online mode cheats in the smartest way available. Instead of writing per-game networking for 17 minigames, the host machine stays fully authoritative and streams a composite video-and-audio capture of the game over WebRTC; guests stream inputs back as lossless press-counter edges. A 4-letter room code joins any device — phone guests get a touch joystick and action button, and a bot replaces anyone who disconnects mid-game. Every mode works online for free because nothing about the games themselves knows the network exists.

The game is live on Netlify. A CDP test suite drives it like a player — 39 of 40 local checks pass (the miss is an informational pacing check), and the online scenario runs 6 for 6 against production: room creation, join by code, roster sync, remote inputs held on the host, and live video frames measured on the guest’s screen.