
Block Breaker
This was an assignment given to me in my first year of university. The task was to create a clone of the arcade game Arkanoid as part of learning the basics of Unity and physics. Although we were allowed to use 3D, I went with 2D since I could make pixel art graphics and give it my own style and aesthetic.
The core gameplay is just like Arkanoid; move a paddle, break blocks, get powerups, advance to the next level. Some blocks need multiple hits and grey ones are unbreakable.
To make the game feel more unpredictable I gave powerups a chance to come out of any brick that is broken. Although this worked, it also felt boring since there was no skill involved and the player was just being overrewarded at random. To fix this, I also added “powerdowns” which basically have the opposite effect and should be avoided. They were coloured red to emphasise this, whilst the powerups are coloured green.
The “+1 life” in particular still had the aforementioned issue because it’s arguably the most useful powerup. I didn’t want to decrease its chance of dropping because it would create more hidden values which the player couldn’t figure out. Instead, I made it drop from the score number with every 1000 points earned, which incentivised the player to actually strategize and make riskier decisions towards getting more points. Of course, the player then needed more opportunities to earn these points, so I added a few special blocks.
Light Block – Switches on or off when hit. When switched off, the level will darken but all grey blocks are turned into glowing white blocks that give points when broken.
Fire Block – Turns the ball into a fireball when hit. The fireball instantly burns every block it hits and gives double the points.
Ice Block – Turns the ball into an ice ball when hit. The ice ball freezes every block it hits causing it to fall down which can be broken by the paddle for double points.
I designed the levels as I went, making sure that each mechanic had its own level to breathe so that the player would learn gradually. Regarding game feel, I knew that it needed to feel responsive and snappy. For example, the ball was given different sounds depending on what surface it hit, unbreakable blocks would shake when hit, and other blocks would emit particles when broken.


