Once Upon a Blok

Once Upon a Blok

I bought an iPod Touch about a year ago, at the same time the iPhone 3G and 3GS were becoming very popular. I couldn’t afford the iPhone, and the iPod Touch seemed like a reasonable compromise. I was impressed by the App Store and all the applications available on it. I immediately knew the platform had immense potential and I wanted to be part of that. When I was offered a two months internship doing iPhone development at the National Taiwanese University (NTU), I used my savings to buy a Mac and started learning Objective-C.

My first few iOS applications were pretty straightforward, the goal was to teach myself Objective-C and understand the Apple’s development tools. On a side note, the book iPhone SDK 3: Visual QuickStart Guide was pretty useful to learn the API.

My exploration of Objective-C led me to Cocos2d for iPhone, a 2D game development framework. I started work on a 2D technical demo, as a porfolio item for my CV. However, the project quickly turned into a full game.

The game itself is very simple, just drag a colored box onto another box of the same color. The star indicates how many more matches are required to continue to the next level. The bomb counts down, showing how many seconds are left to the game. The more time left, the higher the score when you match blocks. When the timer reaches 0, the game is over.

The are three types of special blocks: bombs, stars and stops. Bomb blocks explode on any contact with other blocks, deducting 2 seconds from the remaining time. Stop blocks are sticky, they will stop the block you are dragging if you get too close to theme.

The game itself underwent numerous changes as I was building it. From a gameplay perspective, the first iteration of the game did not use a timer. Instead, the game would end if there was 30 blocks on screen. Although a nice idea, it was difficult for new players to understand and limited creativity for level design.

Graphic-wise, the game underwent several changes in style. I’m not a graphic artist, so I’m limited in the graphic resources I have. For this project, I used Inkscape, mostly because Adobe Illustrator is soo expensive. The figure bellow shows some of the artistic changes the game underwent.

For music, I used the wonderful tunes of Kevin MacLoed. Kevin has done scoring for TV, movies, ads, and many more. Programming-wise, the game code was written and re-written as I was learning Objective-C. It was a labor of love.

I have a few more ideas for the game, although it will depend on how much free time I have. I hope to have GameCenter integration soon, and maybe a multiplayer variant or an iPad version. The game was up in the App Store, but has since been removed as I did not renew my Apple development account. You can find more information on the game here and a video clip here.