Welcome to my version of the classic arcade game Breakout, which I developed using C++ and SDL. As an aspiring game developer, I wanted to build on the skills I learned while creating my first game, Pong. This project gave me the opportunity to further hone my C++ programming skills and learn more about game development. I hope you enjoy playing my version of Breakout as much as I enjoyed building it.
In my version of Breakout, players must knock down eight rows of bricks using the walls and a paddle to hit a ball and destroy the bricks. The game features two rows of bricks in each of four different colors. The player earns points for each brick they destroy: yellow bricks earn one point, green bricks earn three points, orange bricks earn five points, and red bricks earn seven points. If the player misses the ball and it goes out of bounds, they lose a turn. Players have a total of three turns to clear all the bricks on the screen. However, if the player hits a red brick, the paddle shrinks to half its size and the ball moves faster, making the game more challenging.
- Download the game files from the repository.
- Extract the files to a convinient location on your computer. you must have a windows machine
- Make sure you have the required dependencies installed (such as SDL and any relevant C++ libraries.
- Make sure you have mingw installed cause you're gonna need mingw32-make to make the executable.
- Run the executable and play the game. I'm working on fixing the installer for the game so you don't have to do all these steps
The game features four different maps of bricks to provide players with unique challenges: standard, pyramid, 1337 (a tribute to my school), and crazy. Players can move the paddle using the left and right arrow keys and pause the game using the ESC key. If you want to exit the game and return to the main menu, press the ESC key again. Additionally, players can mute the sound in the settings menu.
I would like to acknowledge the following resources that helped me create this game:
- SDL Game Development book by Shaun Mitchell: This book provided a solid foundation for learning game development using C++ and SDL. I highly recommend it to anyone who is interested in getting started with game programming.
- Mike Shah YouTube channel: Mike Shah's videos on game development were incredibly helpful in learning how to use specific SDL functions and other techniques related to SDL. His clear and concise explanations helped me to understand some of the more advanced concepts used in this game. Thank you to these resources for helping me to create this game.
Creating this game was a challenging yet rewarding experience that allowed me to deepen my knowledge of game development using C++ and SDL. I learned a lot about game programming fundamentals such as collision detection, game loops, and user input handling. It was also exciting to see the game take shape as I added new features and improved upon existing ones. Moving forward, I plan to continue developing my skills in game programming by creating more arcade game remakes using both C++/SDL and Unity. Ultimately, my goal is to create my own original games and bring them to a wider audience. I hope that this project can serve as a starting point for others who are interested in game development and want to learn more about it.