Viking Ball

A block breaking game

Block Breaker 2.0

A while ago I made a very simple block breaking game using mostly stock assets that taught me a lot about programming and about working with an editor like Unity whose engine I used. It was a great project, but I wanted to see what more I could do when I pushed my knowledge and added more complex features.

  • As a child playing a similar game that game installed with Windows XP, I got frustrated that I couldn't do more to control the ball. To make this game more engaging, I created a paddle that could tilt, adding a new element to the game.
  • Power ups and lives. Seems like a natural progression to add power ups and lives make the game last longer. More details on the power ups are listed below.
  • The old game was a stew of unrelated art assets and generally looked thrown together. I didn't want to spend too much time on art still though, but I worked on a simple art style that was quick to produce and was able to draw everything myself.

The Sword

Animation showing the swiping motion of the sword
  • The sword is my unique take on the paddle. It swipes back and forth with a movement that feels dynamic.
  • The faster the player moves the sword, the greater the angle of the swipe. This can be used to srike the ball in particular directions but at more risk.
  • This gives the game more thematic and gameplay depth by turning a fairly straightforward component with a new feature into something adds to the narrative of the game.

Power Up Manager

Power ups are revealed as the player progresses through the levels of Viking Ball. They are designed to change the way the game is played while active and provide bonuses to help the player.

To manage all the power ups I had to made a power up manager class. As the power ups are slowly revealed, I needed a way to disable power ups and still be able to pick them at random. I started with a random number and a switch, and then re-rolled if the power up was disabled which didn't seem indeal. For more information on how I found a better way to build a power up manager class, click here.

Power Ups

Slow Motion

Slow down time for more time to think or make riskier shots.

Extra Lives

Lives to fall back on, giving the game a chance to last longer.

Multi-ball

This power up adds an extra ball for more ice breaking power.

Viking Ball

Imbues the ball with Æsir-like power to smash through multiple blocks.

Wide Paddle (in development)

Extend the reach of the sword to strike the ball.

Double Essence (in development)

A mystery power up for a possible new style of level. More to come.


Level Production

To make less work for myself later, I make as much of the level prefab as possible. This allows me to copy my work and set up a new level very quickly leaving me only the arrangement of the blocks and power ups.

For the power ups, I add the power up manager prefab to the level which uses the power up manager script I wrote and some in editor settings to configure which power ups are active in the level. With a few boxes ticked, it's good to go!





In my first plan for Viking Ball, I imagined a story and even started sketching out a few scenes. I quickly realised that this was going to take more time than everything else put together, and did not add much to a block breaking game. Elements of the story are still in the design but simplifying the project made it much more manageable.

I also applied this thinking to the art. I wanted to do the art myself so that viking Ball had a consistent style that fit the theme but I didn't want it to be the focus of the project. After playing around with some styles I settled on a simplistic art style with clear and simple lines, flat colour, and detail where it counts. Below is a level background that is simple and clear. As the level backgrounds are all landscapes at distance behind the game in the foreground, the simplicity suits its purpose





Road Map: Planning Ahead

There are a lot of things I believe would improve this game. Below is an outline of such things and what they would bring to the experience.


Version 0.5

  • Sounds: The game currently has no sounds, though the programming is in place for them. I would like to add sounds for such things as blocks breaking and ice cracking, sounds that will fit the style of the game.
  • Custom font: I have previously learnt a lot of font theory so started working on a typeface in the style of Viking runes. This was much harder than expected and so for now I am using Comic Runes (by Adrian Candela), a typeface close to the style I am going for. I will continue to work on the custom typeface in the background to not hold up other areas of development.

Version 0.6

  • Wide Paddle: The next power up to add. Acquired like the other power ups, this one increases the width of the sword temporarily to make it more effective. Useful for when the ball starts to speed up!
  • More Levels: With the addition of another power up will come more levels to use it in. These levels would be even more challenging and increase the number of times some blocks will need to be hit.

Version 0.7

  • Icicle mode: A possible new level type where blocks make up icicles which descend. If they reach the bottom, game over.
  • More Levels: More challenging levels incorporating the new level type.

Version 1.0

  • Music: Some background music to add to the ice-smashing ambience
  • Bug fixes (probably): This is my first game project striking out in my own direction instead of using tutorials. This feels momentous for me as I have achieved this without any formal education. There may be a few bugs as I learn these new skills.

From Development

Some notes from development:


Early Development


This game actually started out as an Android version of the first block breaking game which a few improvements. I had made a build for Android, but the landscape orientation of the game felt clumsy while trying to play with my finger or thumb. I didn’t think much of it and let the project lie.


Level Mock Up


A few months later, I still wanted to see if I could add some of the extra features I had been thinking about, but I also wanted to give it a bit of style so I put together a simple UI and made a mock up to work out what this new version might look like.


Possible Logos

Here are two logos I tried but wasn’t satisfied with. I used Viking shields as my inspiration and made the text wood and metal. This almost disappeared when I placed it over the wooden UI and I wondered why I didn’t think about that before. I tried to paint the shields in traditional Viking designs but the choppiness of the letters made this unclear and confusing. I am still thinking about a logo and the next route to take will probably be stone in a sharp font to capture the feel of futhark runes.


Ice Blocks


This is the sprite sheet of ice blocks. The game will switch between these to show the blocks cracking and breaking up. The colour tint of the ice blocks which shows how many hits they take to break is added by the game which allows me to save on how many ice blocks I need to make and reduce file size


Vegvisir


This is the power up icon which has a chance to fall from ice blocks when they are broken and can be caught by the sword for a temporary power up. The design comes from one obscure Icelandic text but has been used by many artists as a Viking motif. The meaning of the symbol is “wayfinder” which fits the theme perfectly.


Recent Testing


This is an image from more recent game testing. Testing is important throughout but working on the motion of the sword was a very testing heavy part of development as it took a lot of tweaking to make the motion feel right and play well. I am very pleased with it and now the game is starting to feel more whole.