Story
Recently in one of my projects I presented you a simple way to make a Tetris game on an 8x8 LED display. This time I will use the same hardware and case, and I will try to explain to you an equally simple way to make another legendary arcade game - Breakout.
Breakout is an arcade video game developed and published by Atari, and released on 1976. The player controls a paddle at the bottom of the screen. The objective is to use the paddle to bounce a ball into a wall of bricks at the top of the screen. Hitting a brick causes it to disappear, and the player earns points. The game has been ported to numerous platforms over the years, ensuring its continued popularity.
Detailed video instructions at: https://youtu.be/wI4LrKc1Ayg
The version I present to you this time is probably the simplest possible and is played on a display with a resolution of only 64 pixels. However, it has almost all the options of the original, and even has three levels.
As before, the construction is extremely simple and the device consists of a minimum number of components:
- Arduino Nano microcontroller board
- Buzzer
- this time I use two Buttons
- optionally battery with voltage regulator
- and 8x8 Led Matrix with WS2812B Leds
I should mention that if the device is powered by an external 5VDC source, it should be capable of delivering a current of at least 1Ampere. All components used are standard except the LED matrix which can be found on the market in several versions. They all differ in the way and order of connecting the LEDs in them (zigzag horizontally, then vertically, snake connection, etc.). It is obvious that we cannot make hardware changes, so for this purpose I created a part of the code where any version of these matrices can be selected.
We need to select one by one of these 4 connection methods until we get the correct image on the matrix display. As for the rest of the code, although seemingly simple, there were problems with frequent repetition of an identical path of the ball, making it impossible to destroy some of the bricks, which is a consequence of the extremely small display. However, after a long experiment, I solved this part with some randomization of the ball, so the game became even more interesting. And like last time, you can see that the code is designed in such a way that all the game parameters can be changed very easily, so we can quickly adapt the game to our own needs.
Now let's follow the way the game works. Immediately after turning on the game, a MINI BREAKOUT scrolling text appears on the display. Immediately after that, the game begins. The first level is the easiest, so in this level the paddle is the largest and is 3 pixels wide.
When we hit any brick with the ball, it disappears and we get one point for that. The entire game is accompanied by appropriate sounds. If we hit all the bricks, the game moves to the second level where the width of the paddle is now two pixels.
Similarly, in the third level the width of the paddle is only one pixel and now it is the most difficult to follow the ball.
After completing the game, the score appears in the form of scrolling text, and at the end a smiley figure appears. Now by pressing any of the buttons a new game is started.
And finally a short conclusion: This extremely simple project is actually the minimum possible version of the Breakout Arcade game made on a 64 pixel display, but still with all the standard options and sound effects. As I mentioned previously, the case is from one of my previous projects and is made of 5mm thick PVC material and has the shape of a classic arcade game console where this game was most often played many years ago. It is covered with self-adhesive wallpaper.