A 3D desktop game for macOS where you fly a dragon over procedurally generated terrain and battle against enemy dragons by shooting fireballs.
- Control a 3D dragon with the keyboard
- Shoot fireballs to hit enemy dragons
- Score points for each enemy you hit
- Lose points when enemies hit you
- Win the game by reaching 5 points
- W/Up Arrow: Move forward
- S/Down Arrow: Move backward
- A/Left Arrow: Turn left
- D/Right Arrow: Turn right
- Space: Shoot fireball
- Q/Shift: Descend
- E/Control: Ascend
- Escape: Pause game
- H: Toggle controls display
- R: Restart game (after game over)
- Node.js and npm installed
- Clone the repository
- Install dependencies:
npm install - Start the development server with Electron:
npm run electron:dev
- Install dependencies:
npm install - Build the application:
npm run electron:build - The packaged app will be in the
releasedirectory
The game requires the following sound files to be placed in the /public/sounds/ directory:
fireball.mp3: Sound for shooting a fireballenemy-hit.mp3: Sound for hitting an enemyplayer-hit.mp3: Sound for when player gets hitvictory.mp3: Sound for winning the gamedefeat.mp3: Sound for losing the game
You can find suitable sound effects on websites like freesound.org or create your own.
- Three.js for 3D rendering
- Electron for desktop app packaging
- Vite for bundling and development server
This project is licensed under the MIT License - see the LICENSE file for details.