My First iOS Work: Tilt Out
Writing a computer game is often a good way to learn a new programming platform. Simply put having something fun to make compensates for the frustration of learning a new platform.
There is large number of classical games out there that can be twisted and adapted to work on the iPhone. One of them is Breakout. Breakout was made by Atari in the 70es. You control a paddle playing a ball against a wall of bricks. Each time the ball hit a brick, the brick would disappear and when all bricks where cleared you would proceed onto the next level. Loose the ball and the game would be finished.
Breakout was also the product of two fellas who later became rather big names inside the computer industry: Steve Jobs and Steve Wozniak.
Often I sketch out ideas for applications on paper before I start implementing them. I found that it helps me thinking about my ideas, keeping track of what I was thinking at the time and it allows me to go back and look at ideas I did not pursue.
Here are my sketches:
If you compare this to the actual game it is fairly close: A pseudo 3D-breakout game controlled by the accelerometer. There are two ideas that did not make it into the final game: 1. Dropping bricks — when you hit a brick it would fall towards your paddle and you would have to avoid it. 2. Bricks smaller than standard size.
I wanted the gameplay to be high paced and the games to be short. Just a single life, simple controls. I suppose a bit like Flappy Bird.
There two things that are not in the notes and not in the original Breakout: Balls caries over to the next level meaning that you can end up with a very large number of balls in play. And to avoid dull slow moments with only a bricks left and a single ball a bonus brick is added if some heurestic deems the game too slow.
I had the basic game up and running fairly quickly, then losing interest in it only to pick it up again some months later. Getting the graphics right took some time — here are some of the earlier renditions compared to the final one.
At some point Apple put their exiting new language Swift into beta and I stopped working on the game. After building two fairly complex games in Swift I returned to finish Tilt Out. One thing I carried over from another game was the software synthesizer. It is essientially a port of an older Java-applet based synth.
It adds quite a bit to the game because the blip/blop synthesizer sounds get realtime modulated as you tilt the phone. (Technically the cut-off frequency of a low-pass filter is changed according to the accelerometer.)
Anyways — the game is here:
Free. Runs an iAd every third game.