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