Cute Tower Defense is a real-time 1v1 competitive tower defense game where strategy meets cuteness! Defend your base with adorable towers while sending waves of charming monsters to overwhelm your opponent.
Note: This project is a web-based multiplayer game built with Node.js and HTML5 Canvas.
- Real-Time 1v1 Multiplayer: Battle against another player in real-time.
- Cute Art Style: Enjoy a vibrant, "Q-version" aesthetic with cute animals and colorful towers.
- Strategic Gameplay: Balance your resources between building defenses and launching attacks.
- Diverse Units:
- Towers: 🏹 Basic, 🔫 Rapid Fire, ❄️ Slow/Ice, 🔥 Inferno.
- Monsters: 🐰 Fast Bunny, 🐼 Tank Panda, 👹 Titan.
- Interactive UI: Easy-to-use drag-and-drop or click-to-place interface.
-
Clone the repository:
git clone https://github.com/yourusername/tower-defense-game.git cd tower-defense-game -
Install dependencies:
npm install
-
Start the server:
npm start
-
Play the game: Open your browser and navigate to
http://localhost:3001. Tip: Open two browser windows to simulate a match locally!
- Objective: Reduce your opponent's health to 0 while keeping yours above 0.
- Resources (💎): You earn resources over time and by defeating monsters. Use them wisely!
- Defend: Select towers from the bottom-left panel and place them on your map to stop incoming monsters.
- Attack: Select monsters from the bottom-right panel to spawn them on your opponent's map.
- Win: The first player to lose all 20 ❤️ Hearts loses the game.
- Backend: Node.js, Express
- Real-time Communication: Socket.IO
- Frontend: HTML5 Canvas, Vanilla JavaScript, CSS3
- Design: Custom game engine with entity-component-like structure.
tower-defense-game/
├── public/ # Frontend assets and code
│ ├── assets/ # Images and sounds
│ ├── js/ # Game logic (Entities, Game Loop, Main)
│ ├── index.html # Entry point
│ └── style.css # Styling
├── server/ # Backend code
│ └── index.js # Express server & Socket.IO logic
├── plan.md # Game design document
└── package.json # Project dependencies
Contributions are welcome! If you have ideas for new towers, monsters, or features, feel free to fork the repository and submit a pull request.
- Fork the Project
- Create your 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.
Made with ❤️ by Pzy2000