Virtual Gaming Notice: All coins, tokens, chips, and stakes inside NJ Play are strictly virtual in-game points for entertainment purposes only. They have zero real-world monetary value, cannot be purchased with real money, cannot be withdrawn or exchanged for cash, and involve zero real-money gameplay.
🎲 NJ Play — Open-Source 16-in-1 Online & Local Multiplayer Arcade Platform
A lightweight, full-stack, real-time multiplayer gaming hub featuring 16 classic board, logic, and strategy games. Built with a dual-mode networking engine (Local WebSockets & Google Firebase Realtime), player progression system, 3D theme customizations, and PWA mobile support.
📑 Table of Contents
- 🎮 16 Included Games (Full Catalog & Rules)
- ✨ Key Platform & Multiplayer Features
- 🛠️ Full Tech Stack Architecture
- ⚡ Dual Backend Modes: Local WebSockets vs Google Firebase
- 🚀 Step-by-Step Installation & Setup Guide
- 📦 Production Build & Deployment
- 🌐 Instant Global Sharing via Cloudflare Tunnel
- 📥 Download & Source Code Links
🎮 16 Included Games (Rules & Gameplay Breakdown)
NJ Play includes 16 standalone, fully synchronized casual games divided into three distinct gameplay categories: Classic Family Board Games, Strategic Duels, and Speed & Brain Teasers.
🎲 1. Classic Board Games
👑 1. Ludo Kings (2–4 Players)
Classic pawn race with authentic pawn captures, safe star cells, double blockades, and custom room rule toggles (Require 6 to Start, Capture Required to Enter Home).
🐍 2. Snakes & Ladders (2–4 Players)
Turn-based board race featuring dynamic climbing ladders, sneaky sliding snakes, and bonus turn mechanics on rolling 6s.
🎯 3. Bingo Blitz (2–4 Players)
Synchronized party grid race! Complete horizontal, vertical, or diagonal number lines to trigger an instant BINGO round victory.
🧠 2. Strategy & Duo Duel Games
♟️ 4. Chess (2 Players)
Complete standard chess engine with legal move calculations, check and checkmate detection, stalemates, and mutual draw requests.
🏁 5. Checkers / Draughts (2 Players)
Authentic diagonal capture physics, mandatory jump chains, multi-piece hops, and crowned King promotions.
🧱 6. Quoridor (2 Players)
Tactical maze duel! Place wooden barriers to obstruct your rival's path while navigating your pawn to the opposite baseline.
⚪ 7. Go / Weiqi (2 Players)
Territory capture strategy game with stone placements, surrounded group captures, and liberty counts on a clean grid.
🔄 8. Othello / Reversi (2 Players)
Flank opposing discs horizontally, vertically, or diagonally to flip them to your color in a fast-paced board battle.
⭐ 9. Gomoku (2 Players)
Five-in-a-row tactical grid duel. The first player to align 5 uninterrupted stones in any direction takes the round.
🔴 10. Four in a Row (2 Players)
Vertical gravity-drop challenge. Line up 4 of your colored discs vertically, horizontally, or diagonally before your opponent blocks you.
❌ 11. Tic-Tac-Toe / XOX (2 Players)
Quick 3x3 alignment duel featuring responsive turn timers and single-click rematch options.
⚡ 3. Speed & Brain Games
🔢 12. Find Number (2–4 Players)
Reflex test! Compete against other players in real-time to spot and tap target numbers on a randomized grid.
🔤 13. Word Finder (2–4 Players)
Vocabulary challenge! Uncover hidden words embedded across letter matrices before time expires.
🃏 14. Memory Match (2–4 Players)
Card pair concentration game. Flip and memorize hidden cards to score match points and trigger combo streaks.
📦 15. Dots & Boxes (2–4 Players)
Grid territory strategy! Connect adjacent dots to complete boxes, score points, and earn consecutive turns.
🔠 16. SOS Game (2–4 Players)
Classic pencil-and-paper strategy! Place 'S' or 'O' tiles to form continuous S-O-S sequences in any direction.
✨ Key Platform & Multiplayer Features
🌐 Core Platform Architecture & Mechanics
- ⚡ Real-Time Multiplayer Sync: Ultra-low latency turn synchronization via built-in WebSockets (
ws) or Google Firebase Realtime Database. - 👥 4-Letter Room Matchmaking: Create private rooms with custom 4-character join codes (e.g.,
ABCD), share direct game links, or join public open lobbies. - 🎮 Pass & Play & Solo Bot Modes: Play locally with friends on a single shared screen or practice against smart AI bots offline.
- 🏆 Player Level & EXP Progression: Gain experience points (EXP) for every completed match, unlock player badges, and level up your profile rank.
- 🔥 7-Day Login Streak Rewards: Daily login bonuses, milestone multipliers, and reward wheel spins for unlocking cosmetic customizations.
- 🎨 3D Customization Store: Personalize your experience with unlocked 3D dice styles, custom board themes, animated avatar frames, and victory banners.
- 📱 Installable PWA Support: Fully responsive mobile web app ready to install as a native-feeling app on Android, iOS, Windows, and macOS.
🛠️ Full Tech Stack Architecture
| Layer | Technologies & Libraries | Role in Platform |
|---|---|---|
| Frontend | React 19, TypeScript, Vite, Tailwind CSS v4 | Modern reactive UI, rapid compilation, and modular component architecture. |
| Motion & Audio | Motion (Framer Motion), Canvas-Confetti, Howler.js | Smooth 60 FPS piece transitions, celebratory victory animations, and interactive SFX. |
| Cloud Backend | Google Firebase (Auth, Firestore, Realtime DB) | Serverless room synchronization, global player profiles, and cross-device match states. |
| Self-Hosted Backend | Node.js, Express.js, WebSocket Server (ws) |
Zero-configuration local room matchmaking with low-latency event broadcasting. |
| Notifications | Web Push API (VAPID) | Turn alerts, match invitations, and daily achievement reminders. |
| Client Storage | HTML5 LocalStorage Engine | High-speed client-side profile caching, audio preferences, and offline state persistence. |
⚡ Dual Backend Modes: Local WebSockets vs Google Firebase
NJ Play is architected with a dual-backend switch, letting you choose how to run or deploy the platform:
🔹 Mode 1: Zero-Config Local WebSockets (Default)
- Setup Time: Instant (Ready out of the box).
- Technology: Node.js Express server + native WebSocket library (
ws). - Best for: Local LAN play, self-hosted VPS, or sharing via Cloudflare Tunnel.
- Configuration: Set
VITE_BACKEND_MODE=localin your.envfile (default setting).
🔹 Mode 2: Cloud Google Firebase Realtime Backend
- Setup Time: ~2 minutes.
- Technology: Google Firebase Authentication & Realtime Database.
- Best for: 100% serverless hosting on Vercel, Netlify, Cloudflare Pages, or GitHub Pages.
- Configuration: Set
VITE_BACKEND_MODE=firebasein your.envfile and add your Firebase credentials:
VITE_BACKEND_MODE=firebase
VITE_FIREBASE_API_KEY="AIzaSy..."
VITE_FIREBASE_AUTH_DOMAIN="your-project.firebaseapp.com"
VITE_FIREBASE_PROJECT_ID="your-project"
VITE_FIREBASE_STORAGE_BUCKET="your-project.appspot.com"
VITE_FIREBASE_MESSAGING_SENDER_ID="123456789"
VITE_FIREBASE_APP_ID="1:123456789:web:abcdef"
VITE_FIREBASE_DATABASE_URL="https://your-project-default-rtdb.firebaseio.com"
🚀 Step-by-Step Installation & Setup Guide
-
Step 1: Verify Prerequisites
Make sure you have Node.js 18+ (LTS) installed. Check in your terminal:
node -v npm -v -
Step 2: Clone Repository & Install Packages
Clone the repository and install the project dependencies:
git clone https://github.com/anpvin/NJ-Play-16-in-1-Online-Local-Multiplayer-Gaming-Platform.git cd NJ-Play-16-in-1-Online-Local-Multiplayer-Gaming-Platform npm install -
Step 3: Configure Environment
Create your environment configuration file:
cp .env.example .envKeep the default settings for Local WebSockets mode, or add your Firebase project keys to run in Serverless Cloud mode.
-
Step 4: Start the Development Server
Launch both the frontend client and WebSocket server in development mode:
npm run devOpen your browser and visit
http://localhost:3000!
📦 Production Build & Deployment
To compile optimized assets and run the production server:
# 1. Build optimized client bundle
npm run build
# 2. Launch production server
npm start
🌐 Instant Global Sharing via Cloudflare Tunnel
Want to play online with friends anywhere in the world without configuring router port-forwarding or paying for hosting? Expose your local server securely using Cloudflare Tunnel:
cloudflared tunnel --url http://127.0.0.1:3000
This generates a secure https://*.trycloudflare.com link that friends on any mobile phone, tablet, or PC can open to join your game rooms instantly!
Ready to Play or Self-Host NJ Play?
Download the complete open-source package or contribute to the repository on GitHub!