Skip to content

This project is a clone of the famous retro game Breakout. The clone was made by creating a simple OpenGL engine with the C++ programming language. The API required knowledge of data structures, algorithms, mathematics and 2D algorithms. A tutorial was followed from learnopengl.com with various modifications made by me.

License

Notifications You must be signed in to change notification settings

luis6156/Breakout

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Copyright Micu Florian-Luis, 2020

Breakout Clone

Made using C++ and OpenGL.

Tutorial provided by the author Joey DeVries of the site learnopengl.com under the CC BY-NC 4.0 license. Implementation and changes to the code made by Micu Florian-Luis.

This game was made in order to familiarize myself with the 3D concepts of computer programming. In the near future, I will add more features and optimizations to better increase my understanding.

Installation & Uninstall: To install the game use the installer provided in: Breakout Installer/Release/Breakout setup.msi

To uninstall the game, simply search in Windows: "Add or remove programs"

Instructions:

SELECTING A LEVEL: Use the W or S keys to select a level or the UP and DOWN arrows, then press ENTER.

MAIN MENU: You can access the main menu by pressing ESCAPE if you are already playing a game.

ENABLE/DISABLE VSYNC: If you want to test your computer power, you can disable VSYNC bumping the framerate higher than the screen refresh rate (eg. 60hz, 144hz, 300hz). To DISABLE VSYNC press "0" and to ENABLE VSYNC press "9".

ENABLE/DISABLE FPS COUNTER: To ENABLE/DISABLE the framerate, press "8". The counter will display the frames per second (FPS) and the miliseconds per frames.

QUIT: To quit press ESCAPE on the main menu.

MOVING: Use WASD or the ARROW keys.

LAUNCHING THE BALL: When you choose a level or when a certain power up occurs, you have to press SPACEBAR to launch the ball.

POWER UPS: SPEED: increases the velocity of the ball by 20%

STICKY: make the ball stick to the paddle, until SPACEBAR is pressed

PASS-THROUGH: collisions for non-solid blocks is disabled, making the ball hit more bricks in one go

PAD-SIZE-INCREASE: increases the paddle by 50 pixels

CONFUSE: activates the confuse postprocessing effect for a short period of time, confusing the user

CHAOS: activates the chaos postprocessing effect for a short period of time, heavily disorienting the user

CHEAT CODE: In order to change the RNG of the POWER UPS, type in the MAIN MENU "GOD". This will ensure that good buffs will have a 1/5 chance to spawn and the bad bufs will a 1/12 chance to spawn. The original values are 1/20 and 1/15.

CHANGE MUSIC: If you want to change the main music, go in the application folder and move the music file from audio/default_bg to a safe place (to put it back if you want) and place your music file in that folder. Rename the file to "breakout.mp3" and make sure you have an MP3 file.

CUSTOM LEVELS: If you want to change a level, all you have to do is go in the application folder and open the "levels" folder. From there open any file with a text editor and make a matrix with values from 0-5 (0 - empty block, 1 - stone block, 2-5 different color blocks). The matrix can be any size, it is scalled to fit on the width of the screen and half the height of it, thus if you have more elements the blocks will shrink to fit.

TO DO:

  1. Add multithread
  2. Group sprites for collision detection

About

This project is a clone of the famous retro game Breakout. The clone was made by creating a simple OpenGL engine with the C++ programming language. The API required knowledge of data structures, algorithms, mathematics and 2D algorithms. A tutorial was followed from learnopengl.com with various modifications made by me.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published