Break Out
Breakout, the second game in the 20 Games Challenge. It is finally complete after I left it so long ago. I actually made it pretty far back then so only had to do a few things to get it over the finishing line.

75 % of the work was already done
Immediately after I finished Pong I started with Breakout. Like runner’s high I was pumped with motivation and ready to tackle the next game in the challenge, Breakout. It has been a while, so honestly I can’t remember why I stopped. So this time around it wasn’t too hard to see it over the finishing line.
The missing pieces
The ball mechanic was already in place (pretty much just a reuse of the Pong ball) so that didn’t need to be implemented, furthermore I had already solved the brick placement (both where to place them and how many to place) so the next logical step was to make the bricks die when they got hit.
It wasn’t just as simple as just queueing free the bricks, we also had to update a score and here we were going to use signals.
Signals are the Observer Pattern in the Godot engine
Signals are super useful, like the Observer Pattern they can be used to emit or send information to subscribers or whoever is listening. In this case, the game script is getting told that a brick has been destroyed and the score needs an update.
Why not just call game from brick?
This would be very messy. Every brick would need to know about game and that is bad architecture. It is kinda embarrassing that I can’t explain it better, but that shows a lack of understanding from my part. I need to reflect on that.
Anywho! Godot has a small mantra: “Call down, signal up” and we followed that principle.
Then we had to add a deathzone so you could also lose the game, added sound and a persistent highscore, all done in a day’s work, pretty cool!
So, no AI help, right?
Right.. about that.
I am using AI, but not the way you think! Are you familiar with our lord and savior Matt Pocock?
I am kidding of course, but he has something interesting going with AI, he has some interesting skills on his GitHub, where one is called /teach. This skill can be used as a mentor or a teacher and I am using that right now with these posts as well.
And no genius, it’s not writing it. I AM. It is helping me proof read my content, I write it and it helps me self correct my errors.
I tried it out in this project as well and I think that in this environment, it needs a little tweaking. It was acting like a teacher but pretty much told me what to do step-by-step, which is not the point of the 20 games challenge. So after the first lesson I had an honest conversation with it.
It got better but it was still guiding me a lot. So I am unsure if I should use it for the next challenge. Probably shouldn’t.
What is next?
I stumbled upon a video about game juice and I really loved what it showed, so I have three directions coming next, either juicing up Breakout, do the next game in the challenge or doing part 2 in my Warhammer series. Not sure yet. See you around!