Passive
A modern, original financial-freedom board game for the browser with WebRTC multiplayer and a deterministic game engine.
Play Passive
Build income that outlives the paycheck. Play solo against AI opponents or with friends over a shared link. No installs, no build step, no backend.
Overview
Title screen of Passive
PASSIVE is a modern, original financial-freedom board game for the browser. Buy assets that pay you every month until your passive income covers your expenses, escape the Grind, and chase your Life Goal in the Owner’s Circle.
Every turn is a month: your salary comes in, your expenses go out, and what you do with the difference decides everything. Buy assets that pay you monthly (rentals, businesses, stocks), dodge lifestyle traps, ride four-phase market cycles, build Momentum through smart moves for snowball bonuses, and earn permanent Skills through achievements. When your passive income covers your expenses you escape to the Owner’s Circle — but a recession can drag the careless back down.
It’s built to teach the principles of financial freedom by playing them: assets vs. liabilities, passive income over expenses, good debt vs. bad debt, keeping reserves, and giving back.
Two Ways to Play
The 3D ring board tracking money, momentum, and leverage in real time.
- Solo — face 1–4 AI opponents with distinct personalities (Conservative keeps reserves and stays creditworthy; Aggressive leverages hard and chases ROI; Balanced sits between).
- Multiplayer — host a room, share the 5-letter code or link, and play peer-to-peer over WebRTC (via PeerJS). The host is authoritative, so nobody can desync or cheat another player’s turn. Includes live chat, player-to-player trades, an optional turn timer, and automatic AI takeover if someone disconnects.
What Makes it Different
Game setup with scenarios, professions, and customizable house rules.
- Market cycles that make sense — recessions crash stock cards and property offers; booms inflate them. Buying the dip is a real strategy.
- Momentum — donating, paying off debt, and buying cash-flowing assets charge a meter; a full meter grants a surge (double income, a deal discount, or instant cash).
- Skills — 12 permanent perks earned through achievements (own 3 rentals → Landlord: +10% rental income).
- Play As Yourself — enter your real salary, expenses, and debts and play your own life.
- Scenarios — curated challenge starts: Deep in Student Debt, Just Laid Off, Windfall, No Clue, Crash Opening, and The Late Start.
- Coach Mode & Debrief — short lessons at teachable moments, and a post-game breakdown of what you did right and wrong, drawn from your actual stats.
System Architecture
The engine is a pure module with zero DOM and zero network dependencies — it takes a state object and actions, mutates state, and appends human-readable log entries. Everything else renders from that state. A seeded, deterministic RNG (mulberry32) makes replays identical, which is what keeps multiplayer peers in sync.
Technical Highlights
- ✓ Pure Game Engine: Runs identically in the browser and in headless Node.
- ✓ True P2P WebRTC: Host-authoritative session via PeerJS.
- ✓ Deterministic RNG: Ensures sync without transferring heavy state.
- ✓ Synthesized Audio: Full WebAudio sound effects (no audio files).
- ✓ Headless Testing: Automated bot playthroughs to check financial invariants.
Zero-Dependency Frontend The whole game is built using static files. It runs completely in the browser, hosted on Cloudflare Pages. There is no build step or bundler needed.
Development & Testing
A robust headless testing script (smoke-test.js) allows playing full bot games under every house-rule configuration to check data integrity, deterministic replay, scenario rules, trades, and financial invariants. This testing framework was crucial for balancing the game’s economy.