A modern, real-time multiplayer Bingo game that operates entirely on P2P (Peer-to-Peer) technology. No server required - just pure browser-to-browser communication!
- 🔥 Pure P2P Communication: Using WebRTC through PeerJS for direct player-to-player connection
- 🎯 Real-time Number Drawing: Synchronized number drawing with animations across all players
- 🎨 Modern UI/UX: Beautiful, responsive design with smooth animations
- 🔒 No Server Required: Works completely P2P, no backend needed
- 📱 Mobile Responsive: Play on any device, any screen size
- 🚀 Easy to Join: Simple 6-character room codes for quick game access
-
Room Creation:
- Host creates a room and gets a unique 6-character code
- Room code can be shared with other players
-
Joining a Game:
- Players enter the 6-character room code
- Direct P2P connection established with the host
-
Gameplay:
- Host draws numbers
- All players see synchronized number drawing animations
- Numbers are marked automatically on players' cards
- Track drawn numbers in real-time
- Frontend: HTML5, CSS3, JavaScript
- P2P Communication: PeerJS (WebRTC)
- UI Framework: Bootstrap 5
- Animations: CSS3 Animations & Transitions
Try it out: Multiplayer Bingo Demo
Room creation and joining interface
Active gameplay with drawn numbers
- Clone the repository:
git clone https://github.com/Nrkozan/P2P-Real-time-Game-Multiplayer-Bingo.git
- Open
bingo.html
in a modern web browser
That's it! No server setup or installation required.
The game utilizes WebRTC through PeerJS to establish direct peer-to-peer connections between players:
-
Room Creation:
- Host generates a unique PeerJS ID
- This ID is converted to a user-friendly 6-character room code
-
Connection Process:
- When a player joins, their browser connects directly to the host
- All game data (drawn numbers, timing) flows through this P2P connection
- No central server involved in gameplay
-
Real-time Synchronization:
- Number drawings are synchronized using timestamp-based coordination
- Animations play simultaneously for all connected players
- State is maintained across all peers
Contributions are welcome! Here's how you can help:
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you find this project interesting or useful, please consider giving it a star ⭐️ on GitHub!
Bilge Ozan Per - @LinkedIn
Demo Link: https://bilgeozan.com/bingo
Made with ❤️ and JavaScript