A multiplayer horror browser game inspired by the Game of Life board game. Escape the darkness while a terrifying chaser pursues you!
- 🎮 Multiplayer: 2-8 players or solo with bots
- 🎲 Board Game Mechanics: Spin, move, and draw fate cards
- 👻 Horror Theme: Fog of war, jump scares, and a menacing chaser
- 🃏 Card System: 15+ unique cards with different effects
- 🌐 Real-time Sync: Firebase Realtime Database for live multiplayer
- 🔐 Authentication: Email/password and Google sign-in
- Framework: Next.js 14 + TypeScript
- 3D Engine: Three.js via React Three Fiber
- Database: Firebase Realtime Database
- Auth: Firebase Authentication
- State: Zustand
- Styling: Tailwind CSS
- Audio: Howler.js
-
Install dependencies
npm install
-
Run development server
npm run dev
-
Open in browser Navigate to http://localhost:3000
The Firebase configuration is already set up. The following services are used:
- Authentication (Email/Password + Google)
- Realtime Database
src/
├── app/ # Next.js app router pages
│ ├── game/[roomId]/ # Main game page
│ ├── lobby/ # Game lobby
│ ├── login/ # Authentication
│ ├── menu/ # Main menu
│ └── profile/ # User profile
├── components/
│ ├── 3d/ # Three.js components
│ │ ├── GameCanvas.tsx # Main 3D canvas
│ │ ├── GameBoard.tsx # Board tiles
│ │ ├── PlayerCharacter.tsx
│ │ ├── Chaser.tsx # Enemy entity
│ │ └── FogSystem.tsx # Fog of war
│ └── game/ # UI components
│ ├── CardSelector.tsx
│ ├── GameHUD.tsx
│ ├── Spinner.tsx
│ └── JumpScareOverlay.tsx
├── context/
│ └── AuthContext.tsx # Authentication context
├── lib/
│ ├── firebase.ts # Firebase config
│ ├── roomManager.ts # Room CRUD operations
│ ├── cardSystem.ts # Card generation
│ └── botAI.ts # Solo mode bots
└── store/
└── gameStore.ts # Zustand game state
This project is configured for Vercel deployment:
- Push to GitHub
- Connect repository to Vercel
- Deploy
MIT