A real-time multiplayer wizard battle game where players shoot fireballs, collect coins, and fight bots and other players!
- 🧙♂️ Multiplayer battles - Fight other players in real-time
- 🔥 Fireball combat - Shoot fireballs with 360-degree aiming
- 🪙 Coin collection - Collect coins to level up and reduce cooldowns
- 🤖 Bot enemies - AI wizards that move, shoot, and collect coins
- ⚡ Teleport ability - Quick movement with cooldown
- 📈 Level progression - Get bigger and stronger as you collect coins
- 🎯 Precise aiming - Mouse-based aiming system
- 🌍 Large world - Explore a massive 3000x2250 pixel world
- WASD / Arrow Keys: Move
- Mouse: Aim direction
- Spacebar: Shoot fireball
- C: Teleport (with cooldown)
- Install dependencies:
npm install- Start the server:
npm start- Open your browser to
http://localhost:3000
- Create a Railway account at railway.app
- Install Railway CLI:
npm i -g @railway/cli - Login:
railway login - Deploy:
railway up - Your game will be available at the provided URL
- Create a Render account at render.com
- Connect your GitHub repository
- Create a new Web Service
- Set build command:
npm install - Set start command:
npm start - Deploy and get your URL
- Create a Heroku account
- Install Heroku CLI
- Run these commands:
heroku create your-game-name
git add .
git commit -m "Deploy multiplayer game"
git push heroku mainOnce deployed, anyone can join your game by visiting the URL. The game supports:
- Real-time multiplayer - Up to 10+ players simultaneously
- Shared world - All players see the same coins, bots, and fireballs
- PvP combat - Players can shoot and damage each other
- Cross-platform - Works on any device with a web browser
- Leveling: Collect 10 coins to level up (increases size and damage)
- Health: Players have 100 HP, bots have 2 HP
- Fireballs: Damage scales with player level
- Teleport: 3-second cooldown, reduced by collecting coins
- Shooting: 200ms cooldown between shots
- Bots: Move around, shoot every second, and collect coins
- Backend: Node.js with Express and WebSocket
- Frontend: HTML5 Canvas with JavaScript
- Real-time: WebSocket connections for instant updates
- Scalable: Can handle multiple concurrent players
Feel free to submit issues and enhancement requests!
MIT License - feel free to use this code for your own projects!