Blastoid 2 – EDX / MIT Game Design Course game

I’ve just completed my second MOOC, this time was a Game Design course from edx.org and MIT Game Lab. It was an amazing course, with a lot of great information and interviews. For the final project I’ve decided to create *another breakout style game with some pinball game elements too.

Blastoid 2 game elements

  • One player or real-time multiplayer (2 to 4 players).
  • Pinball elements
  • Breakout elements
  • Low poly art style
  • Real time lights
  • More comfortable / usable interface than usual breakout style games for smartphone players
  • And the most important thing: Details, polishing and a lot of explosions and BLASTS and everything! :B

A more usable interface / interaction

My objective with Blastoid 2 game was to experiment a different and more usable interaction / interface for mobile players, which mostly play with one hand and use their thumb to interact with the interface. Because of this there’s a limited area where users can interact comfortably … My objective was to use only this most comfortable area to play.

Thumb interaction area

Thumb interaction area and first interaction prototype

Low poly background / Procedural mesh generation study

This game prototype was made using Unity3D and Blender to create the low poly mesh that I’m using as a background. I’ve procedurally created my first version of the low poly background too but got some problems … I wanted it to look like “flat shaded”, with hard edges.

Procedurally generated mesh

Procedurally generated mesh without “flat shading” look

 

After searching around I’ve learned that I need to have a lot more vertices and normals to achieve what I was looking for. My first attempt had shared vertices, i.e. two triangles can be built using only four vertices, two of them being shared. That means only four normals for two triangles, this caused the soft look of my first low poly background above.

To solve this I’ve changed my script to have three independent vertices for each triangle, which gave me the “flat shading” look but obviously made it more complex to process… You can see how the normals look now in the image below.

 

Procedurally generated mesh with "flat shading" look

Procedurally generated mesh with “flat shading” look

 

After the correction I was not satisfied with the result.. my low poly background wasn’t … organic as I expected, it need more randomness and less perfection so I’ve solved this in 5 minutes using Blender and importing a nice mesh directly to Unity (with the normals and vertices corrected)

Don’t reinvent the wheel … unless you are trying to understand how it works

The lesson here for everyone who is reading this is something that I’ve been doing since my first days in the digital industry, 8 years ago: Don’t reinvent the wheel … unless you are trying to understand how it works and/or trying to improve it 🙂

It’s very important for our learning process to understand what we are doing and how things work. By doing this you will be able to change things around and experiment everything without messing everything up and not knowing what you just did. You can – and should – reinvent the wheel, but be mindful that there’s a lot of amazing wheels out there. After understanding how your wheel works, don’t hesitate to use something that has already been implemented and validated by the development community.

Final version (still Beta though)

Blastoid 2 Game - final version

Play the Web Player version of my Blastoid 2 Game prototype

UPDATE: I’ve made some improvements and now the Web Player version is more playable … there are some collisions bugs though, but nothing that bad 🙂

Check it out: http://fliperamma.com/blastoid2

 

 

* I’ve already made one really simple breakout game called “Blastoid”, using AS3 / Starling for study purposes (you can check it out here) .. That’s why I’ve called this one “Blastoid 2” :B …

** The fancy red lines are pointing out my normals. You can grab the script to do that here.