A classic shoot 'em up (shmup) game where players control a spaceship, dodge enemies, and shoot projectiles. This is a browser-based game built with JavaScript.
This game is a modern take on the classic arcade shoot 'em up genre. Players control a spaceship that can move in all directions and shoot projectiles to destroy enemy ships. The game features smooth controls, particle effects, and increasing difficulty as the player progresses.
Shmups/
├── index.html # Main HTML file
├── script.js # Main game logic
├── fighterJet.js # Player spaceship class
├── drone.js # Enemy drone class
├── updateCustomProperty.js # Utility functions
├── server.py # Enhanced Live Server
├── assets/ # Game assets (images, sounds)
├── drones/ # Enemy drone assets
├── LICENSE # MIT License
└── README.md # This file
- Smooth player movement with mouse control
- Dynamic enemy spawning system
- Projectile mechanics with particle effects
- Collision detection
- Score tracking and best time saving
- Browser-based gameplay
- Enhanced local server with image caching
- A modern web browser (Chrome, Firefox, Safari, or Edge)
- Python 3.x (for running the enhanced Live Server)
The game includes an enhanced Live Server with improved image handling and caching. Here's how to run it:
- Make sure you have Python 3.x installed on your system
- Open a terminal/command prompt in the game directory
- Run the enhanced Live Server:
python server.py
- The server will:
- Start automatically on port 5500
- Open your default browser to the game
- Handle image caching for better performance
- Support smooth continuous gameplay
- The game works best in modern browsers
- If the game doesn't start automatically, manually open http://localhost:5500 in your browser
- Make sure no other service is running on port 5500
- For optimal performance, use Chrome or Firefox
- Improved image asset handling
- Automatic browser caching for better performance
- Chunked file transfer for stability
- Automatic port reuse handling
- Enhanced error reporting
- Move your mouse to control the spaceship
- Click to shoot at enemies
- Avoid enemy ships
- Try to survive as long as possible
- Your best time is saved automatically
If you encounter any issues:
-
Server Issues:
- Make sure no other service is using port 5500
- Try stopping and restarting the server
- Check terminal for any error messages
-
Game Issues:
- Clear your browser cache
- Refresh the page
- Make sure all game assets are in their correct folders
- Check browser console for any error messages
-
Performance Issues:
- Close other browser tabs/windows
- Restart your browser
- Make sure your browser is up to date
-
Image Loading Issues:
- Verify all image files are in the drones/ directory
- Check file permissions
- Try restarting the server
If you want to modify the game or run it in VSCode:
- Open the project in VSCode
- Install the "Live Server" extension
- Right-click on index.html and select "Open with Live Server"
This will provide similar functionality to the included Python server.
This project is licensed under the MIT License - see the LICENSE file for details.