Asteroids is an exciting space shooter game set in the year 2531 A.D., where players take on the role of a skilled pilot tasked with helping humanity clear the hazardous asteroid field known as "The Derby" in space. Prepare for intense action as you navigate through perilous space debris, battle rogue asteroids, and defend humanity’s future!
This project is a part of a guided course from boot.dev, designed to showcase Object-Oriented Programming (OOP) principles while building an engaging game using the Pygame library.
- Space Combat: Engage in fast-paced space battles against incoming asteroids.
- Challenging Levels (COMING SOON): Face progressively difficult waves of asteroids, each more challenging than the last.
- Smooth Controls: Easy-to-learn, intuitive controls for thrilling space navigation.
- OOP Architecture: Clean, modular code structured around OOP principles to ensure maintainability and scalability.
- As a pilot in 2531 A.D., you’ll control a spacecraft that must destroy or avoid asteroids to survive.
- Use your weapons (pew, pew!) to break apart asteroids and clear a path through the debris.
- Keep an eye on your health and ammo (COMING SOON) – once your ship is destroyed, it's game over!
- Pygame: The game is built using Pygame, a library for creating games in Python.
- Python: The game is developed entirely in Python, with an emphasis on Object-Oriented Programming principles.
- Enhance coding skills and deepen understanding of OOP concepts.
- Build a fun and functional space-themed shooter game.
- Learn best practices in game development and Python programming.
-
Clone this repository:
git clone https://github.com/yourusername/asteroids-game.git -
Set up a virtual environment
In the project directory, create and activate a virtual environment:python -m venv venv- On Windows:
.\venv\Scripts\activate - On macOS/Linux:
source venv/bin/activate
- On Windows:
-
Install dependencies:
pip install pygame -
Run the game:
python main.py
This project is licensed under the MIT License – see the LICENSE file for details.