astroDodger is a space-themed vertical scroller game where players control a spaceship using hand gestures to dodge incoming asteroids and aim for high scores. Developed with Python, Pygame, OpenCV, and MediaPipe, astroDodger adds a unique twist to classic dodger gameplay by incorporating hand tracking for an immersive gaming experience.
When the game is first run, it has a gamertag screen where you can add your gamertag.
In the main game, avoid asteroids, survive asteroid waves, collect shields to stay alive, and aim for a high score.
The game over screen shows your score as well as the top 5 high scores when you click the 'High Scores' button.
Your scores are saved in an SQLite database every time you achieve a score. If you enter the same gamertag, it will update the score if it is higher.
- Hand Gesture Controls: Navigate your spaceship using hand movements captured by your webcam.
- Dynamic Asteroid Waves: Encounter increasingly challenging waves of asteroids as you progress.
- Power-Up System: Collect shields to protect your spaceship from damage.
- Scoring System: Compete for high scores based on survival time.
- Start the game and enter your gamertag.
- Use your hand to control the spaceship's movement |-> (ensure your webcam is enabled and you are in a well-lit room).
- Dodge incoming asteroids to survive.
- Collect shield power-ups to protect your ship.
- Survive as long as possible to achieve a high score!
- Ensure you have Python 3.x installed on your system.
- Clone this repository: git clone https://github.com/ushellnullpath/astroDodger
- Navigate to the project directory: cd astroDodger
- Install the required dependencies: pip install -r requirements.txt
- Execute the main game file: python main.py
Use your hand movements in front of the webcam to control the spaceship. The game tracks your index finger to determine the ship's position.
astroDodger was developed using:
- Python 3.x
- Pygame for game mechanics and rendering
- OpenCV and MediaPipe for hand tracking
- Tkinter for the start menu
- SQLite for saving scores
-
Implement multiple difficulty levels
-
Add additional animations
-
Introduce an online multiplayer mode
-
Develop an online leaderboard system
-
LAST UPDATED (D/M/Y): 06/08/2024
This project is licensed under the MIT License - see the LICENSE.md file for details





