Let’s Learn Unity – Block Breaker

Let’s Learn Unity – Block Breaker

For information and navigation, check out my post that introduces this Unity series here.

TL;DR? Skip to the game.


 

Wait, what happened to the Text Adventure game?

The eagle-eyed among you may have spotted that the next post was supposed to be the Text Adventure game. So, what’s happened?

Well, I recently watched a very useful webisode about creating your first game by Extra Credits. In this episode, the concept of a Minimum Viable Product is discussed in detail. This is fundamentally the most basic version of a game (or any other type of product) that can provide useful information about the finished version. Starting a project in such a way will not only make it easier to see future problems earlier, but it also ensures that you will have a working version in case you don’t meet all your deadlines.

So, after watching this inciteful episode, I promptly contacted an amateur dramatics society to see if they would be interested in providing voice actors for my game.

Needless to say, I’m still nowhere near finishing it. Luckily, however, I was able to learn from my mistake. When starting the next game on the list, I started off by making a Minimum Viable Project. It also helped that I was able to do this by simply following the instructions of Ben Tristem and GameDev.tv without getting ahead of myself. Clearly, they are far wiser than I.

The result of all this hardship was my first real Unity game: Colour Breaker!

 

This Week

In this week’s section of the Udemy Coursewe are shown how to create a clone of an old classic arcade game, Arkanoid.

The main features of Arkanoid, or the things that a Minimum Viable Project would include, are:

  • A Paddle (controlled by the player),
  • a Ball that can interact with the paddle,
  • Blocks that are destroyed on contact with the ball,
  • and Boundaries that keep the ball on the screen.

 

Once these are set up, we can start adding things like multiple sprites and background music and sound effects. Make sure you have the right to use any assets that you didn’t create yourself.

You can change the usage rights tool while searching with Google Images. Or, create your own assets (I made my own paddle and ball sprites). Free game music, including the track I used, can be found at  freesound.org. Ben recorded his daughter for his sound effects. However, I don’t have a daughter which meant that I had to record the noises myself, so apologies for that.

After finishing all that, I decided it was time to add a dash of panache!

 

Colour Breaker

While my Block Breaker game now played well, it seemed a bit bland. As it is a fairly simple game, I threw in a fairly simple theme; colours! Hence, the new name.

There is a unique colour and a new type of block for each level (even the ball changes colour). As you progress, you will find more difficult blocks and more intimidating colour schemes!

Here is a screen-shot of the first level, which lulls you into a false sense of security with its calming pink tones:

Soothing pink tones.
A relaxing first level.

Then, you will have to make your way through the light blue, yellow, and fiery orange levels, before facing the navy blue. And if that’s not enough to spook you, then the final block structure will be!

 

QUICK TIP: When making my levels, I found that any blocks that were lower than my lowest pink level blocks (see above) made it too difficult to catch the ball. Conversely, any blocks that were at the very top of the screen could be too hard to hit, causing the game to drag on towards the end of a level. I did my best to find a balance but it isn’t always immediately obvious as it can depend on the structure of the blocks as well.

 

Going Further

The last thing I added was some Power-Ups. After completely destroying a block, there is a small chance that one of the three power-ups will drop (see below). Catching a falling power-up with your paddle will activate its effect.

Three green power-up sprites.
I made these using paint, in case you couldn’t tell.

The number of balls and lives that you can have is capped at 3. I felt the game became too easy if any more were allowed.

I had a few more ideas that could have been used, but I had to continue the course. I’ll list my other ideas below.

Please let me know, @TheLearnJourn, if any of you decide to use them in your own game, I would love to see them implemented!

  • Add a theme! Be creative; make the blocks carrots and the paddle a rabbit!
  • More power-ups (look at the original Arkanoid for inspiration).
  • Blocks that have unique behaviours; like splitting into smaller blocks (see orange blocks in my game) or blocks that move.
  • score. For example, gain points by breaking blocks, lose points by losing a life or as time progresses. You could also add combo points if you can break a certain number of blocks before touching the paddle again.
  • Smoke when blocks break. Ben added this to his game.
  • Blocks with different angles. Causing the ball to be less predicta-ball.

 

Challenges

Unity/Block Breaker:

Try working your way through my list of ideas at the end of the previous section.

Minimum Viable Product:

To get to grips with this idea, why not write down what you think the core features (Objects/Pieces and Behaviours/Rules) of the following things are?:

  1. Super Marios Bros.
  2. Monopoly.
  3. A game of football (soccer or otherwise).
  4. A Text Adventure game (hint: it doesn’t involve voice actors).

There isn’t necessarily an exact right or wrong answer to these, it can depend on how you see each game. If you’re unsure, I’d recommend looking at the Extra Credits webisode I mentioned earlier (link here).

 

That’s all for now. Let me know on Twitter (@TheLearnJourn) if you found this post helpful. Don’t forget to keep learning!

 

Leave a Reply

Your email address will not be published. Required fields are marked *