Paper.IO Clone - Varun Anand Patkar
Paper.IO Clone is a project inspired by the popular Paper.IO game. It combines classic elements from Snake and area-capture genres into a 3D experience using 3JS and React. The core gameplay involves controlling a cube on a circular map: you start with a territory, leave a trail as you move, and by reconnecting with your territory you capture new areas. Crossing another player's trail eliminates them, while crossing your own trail results in self-destruction.
This project began as a personal challenge to break out of tutorial hell and create a portfolio piece that showcases both game development and 3JS skills. The initial goal is to build a Minimum Viable Product (MVP) that includes:
- A cube moving on a circular map.
- A trail system that expands your territory when you reconnect with your starting area.
- Intelligent traversal logic to keep the cube on the map.
Future enhancements include adding enemies, bots, multiplayer functionality, leaderboards, and additional game modes.
Check out a video demonstration of the game in action:
The project leverages modern web development tools and libraries:
- Framework & Libraries: React, 3JS, Vite, and 3D utilities.
- Tailwind CSS: For rapid and responsive UI styling.
- State Management: zustand.
- Additional Packages:
- "@react-three/drei": "^9.99.7"
- "@react-three/fiber": "^8.15.19"
- "@types/three": "^0.162.0"
- "lucide-react": "^0.263.1"
- "react": "^18.3.1"
- "react-dom": "^18.3.1"
- "react-toastify": "^11.0.3"
- "three": "^0.162.0"
- "zustand": "^4.5.2"
These tools were scaffolded using bolt.new, a platform that agentificates the web development process.
- Node.js (v14 or higher recommended)
- Git
-
Clone the Repository:
git clone https://github.com/Varun-Patkar/PaperIOCloneVarunPatkar.git cd PaperIOCloneVarunPatkar -
Install Dependencies:
npm install
-
Run the Development Server:
npm run dev
-
Play the Game: Open your browser and navigate to
http://localhost:5173to start the game.
Contributions are welcome! If you have suggestions, bug fixes, or new features, please fork the repository and open a pull request. For significant changes, please open an issue first to discuss your ideas.
This project is licensed under the MIT License.
