So, finally back to this after a six month break (learning the importance of code commenting the hard way, as ever!). Not the most beautiful/polished example I’m sure, but it has a few quirks that might set it apart.
I’ve mangled together an animated border through much trial and error - it’s supposed to look like an electrified field around the game area, hence the electric snap when the ball bounces off it. There are also some transition effects between certain menus/states and the ball explodes into sparks when you destroy the last block of each level.
This isn’t an easy game, but you can replay each level as many times as you like without having to go back to the first one each time. For those who get really stuck (or have to take a break and want to skip levels already completed) there is a cheat mode that you can access from the main menu by inputting an infamous code that starts with an up arrow, and then clicking start (there’s a hint in the bottom left corner of the main menu, but I think the contrast values may be a bit off, so I’m not sure how visible it will be for anyone else). At any time you can press Escape to return to the main menu.
Levels 1 and 2 are your fairly standard single/multi-hit blocks with unbreakables added in level 2. Level 3 has unbreakables that move, and level 4 has previously unbreakable blocks that can now be destroyed if hit from below. These ‘flying’ blocks are a bit janky, in that if hit on the sides, sometimes they will and sometimes they won’t be destroyed, depending on the relative position of the ball at the time of the collision - it’s a bug in the player’s favour, as otherwise the blocks would be even harder to get rid of.
Edit: As usual, I notice that some of the later lectures (posting this at #92) are probably going to tell me how to do some of the things I added as extras facepalm