An immersive 3D flying carpet adventure game where players soar through procedurally generated worlds, collect mana, and explore with friends.
Magical Carpet is a web-based 3D game built with Three.js that allows players to fly on magic carpets through beautiful, never-ending procedurally generated landscapes. Collect floating mana orbs, discover hidden locations, and enjoy the serene experience of flight.
- Infinite Procedural World: Endless unique terrains to explore, from mountains to oceans
- Dynamic Weather & Day/Night Cycle: Experience changing skies, cloud patterns, and time of day
- Flying Physics: Intuitive and satisfying carpet controls for a magical flying experience
- Mana Collection: Gather magical energy throughout the world
- Multiplayer Support: Fly and explore with friends
- Atmospheric Environment: Clouds, birds, trees, and natural elements bring the world to life
- Use WASD or arrow keys to control your carpet's direction
- Press Space to ascend and Shift to descend
- Fly near glowing blue orbs to collect mana
- Press E to interact with special locations
- Press Tab to see player stats and collected mana
- Clone this repository
git clone https://github.com/yourusername/magical-carpet.git
cd magical-carpet- Install dependencies
npm install- Start the development server
npm run dev- Open your browser and navigate to
http://localhost:5173
- W/↑: Move forward
- S/↓: Move backward
- A/←: Turn left
- D/→: Turn right
- Space: Ascend
- Shift: Descend
- E: Interact
- Tab: Open/close stats display
- M: Toggle map
- Esc: Pause game
- Three.js: 3D rendering engine
- JavaScript/ES6+: Core programming language
- Simplex Noise: Procedural terrain generation
- Vite: Development environment and bundler
- WebGL: GPU-accelerated graphics
The game is built using a component-based architecture with the following systems:
- Engine: Core game loop and systems management
- WorldSystem: Procedural terrain generation and chunk management
- PlayerSystem: Player controls, physics, and interactions
- AtmosphereSystem: Sky, clouds, weather, and day/night cycle
- VegetationSystem: Trees and plant life generation
- WaterSystem: Oceans, rivers, and water effects
- UISystem: HUD and user interface elements
- NetworkManager: Multiplayer synchronization
Created with ❤️ by Dusterbloom
Special thanks to:
- Three.js community
- Simplex Noise library
- All contributors and testers
This project is licensed under the MIT License - see the LICENSE file for details.
