An online multiplayer chess variant where captured pieces change color instead of being removed from the board!
⚠️ Note on Loading Speed: This project is hosted on Render's free tier. The server spins down after periods of inactivity to save resources.If the link doesn't load immediately, please allow about 50-60 seconds for the server to wake up. Thank you for your patience!
⚡Hijack! follows standard chess rules with one exciting twist:
- When you capture a piece (except with the King), the captured piece changes to your color
- The attacking piece is removed from the board
- Kings capture normally (pieces are removed)
All other chess rules apply: castling, en passant, promotion, checkmate, etc.
- 🌐 Online Multiplayer - Play with friends or random opponents
- 🎲 Matchmaking System - Find random opponents with time control preferences
- ⏱️ Multiple Time Controls - Bullet, Blitz, Rapid, Classical, or No Clock
- 🎨 Customizable Themes - 4 board themes, Light/Dark mode
- 🔄 Rematch System - Challenge your opponent again
- 📊 Live Statistics - See online players and total visits
- 💾 Offline Mode - Play locally on the same device
- 📱 Mobile Support - Play directly from your mobile device
Just visit: [Your Deployed URL] and start playing!
-
Install dependencies:
npm install
-
Start the server:
npm start
-
Open in browser:
http://localhost:3000
- Select your time control
- Click 🎲 Play Random
- Get matched with an opponent automatically
Player 1 (Host):
- Click ➕ Create Room
- Share the Room ID with your friend
Player 2 (Guest):
- Enter the Room ID
- Click 🚪 Join Room
Just click 🌼 New Game - no server needed!
Create a .env file (see .env.example):
MONGODB_URI=your_mongodb_connection_string
PORT=3000For visitor analytics, set up MongoDB Atlas:
- Create free account at mongodb.com/cloud/atlas
- Create M0 Sandbox cluster (free)
- Get connection string
- Add to
.envor hosting platform environment variables
Note: App works without MongoDB, analytics just won't persist.
- Push code to GitHub
- Create new Web Service on Render
- Connect your GitHub repo
- Add environment variable:
MONGODB_URI - Deploy!
- Frontend: HTML5, CSS3, Vanilla JavaScript
- Backend: Node.js, Express.js
- Real-time: Socket.IO (WebSockets)
- Database: MongoDB Atlas (optional)
- Deployment: Render/Railway
Hijack/
├── index.html # Frontend game UI
├── server.js # Backend Socket.IO server
├── logo.png # Game logo
├── package.json # Dependencies
├── .gitignore # Git ignore rules
└── README.md # This file
- 🪵 Wood (default)
- 🌿 Green (Chess.com style)
- ♟️ Classic (Black & White)
- 🌊 Waves (Blue)
- No Clock
- 1+0 Bullet
- 3+0, 3+2 Blitz
- 5+0, 5+3 Blitz
- 10+0 Rapid
- 15+10 Rapid
- 30+0 Classical
Licensed under the GNU General Public License v3.0.
Shivansh Singh
Contributions welcome! Feel free to:
- Report bugs
- Suggest features
- Submit pull requests
- To be decided...
Enjoy playing ⚡Hijack! Chess! ⚡♟️