Today our first iPhone game called ”Baby Roulette” was published on the Apple App Store. The whole submission process was really fast. We submitted our app to Apple on Sunday afternoon, it went into review on Monday noon and today (Wednesday) morning it was published on the iTunes Application Store.
The game is very very simple, so maybe that’s one of the factors for a speedy release…
Why did we build an app like this?
Baby Roulette is a really simple and fun game for kids (mostly) to learn animal sounds. Our main intention for building this game is to get a simple and nice looking game quickly in as many App Stores as possible starting with Apple. Our next targets will be the Ovi Store , Android Market and Vodafone 360, which is still running the ”Vodafone 360 App Star Competition”.
We mainly want to gain insights about different application stores regarding users, downloads, major downloading countries, devices and of course we want to practically go through the whole process of building an application/game and releasing and actually selling it on different app stores. This will help us to enlighten our clients and of course we are also blogging about it. So here are some first facts…
What did we want to build?
Our goal was to create a game or something to play with that would employ 2 major components for any game: animation and sound. We have a spinning arrow as an animation and we are playing sounds when the arrow spins and whenever the arrow stops (plays the animal’s voice). The game concept itself has been around for ages of course, there are similar offers on the app store but it was simple enough to implement it quickly (a few days).
Another main goal was to go international - that’s the reason we left out playing the typical, but localized “The pig says…” voice acting before the (international) animal sound. There is also no text except the title - however “Baby” and “Roulette” are both terms recognizable in a lot of languages even if they use a different alphabet.
How did we build it?
Unfortunately the mobile version of Safari does not play sound in the browser, but opens up the fullscreen audio player. The <audio> tag of HTML5 is also not available (yet), so no sound and we went with phonegap. This means carrying a little overhead, but also brings the advantage of simpler portability to other platforms and we are very happy with this decision.
Problems so far
One major problem occurred as we were in the early stages of developing the web app: The spinning arrow used to be a <canvas> element that loads an image and is then rotated. As this rotation was scripted and angles were dynamically calculated, movement of the arrow was very smooth and without any obvious stepping. Also there was only one image - the arrow. Unfortunately this seems to result in heavy CPU load for anything below 3GS devices, so on an iPhone 3G the frame rate dropped notably.
Our solution was to go back to good old sprite animations. So now the arrow is just a <div> with a background sprite containing 60 versions of the arrow in 6 degree steps. The script now still calculates the current angle of the arrow as it spins, but now instead of rotating the image we are sliding the background image through the div so the matching version of the arrow is visible. This works, is fast enough on a 3G and it’s a proven technology. Too bad there’s no real HTML5 in there for now.
We’ll release Baby Roulette for as many platforms as possible trying to keep porting efforts as low as possible and we’ll surely gain many insights as we do this. We are also already working on other games, of course. These will all be web based and cross-platform, but next time interaction and multi-player functionality will be our main topics. Maybe we will target grownups next time too :)
In the meantime we’ll keep you up-to-date on porting to and releasing on different platforms and we hope you have fun playing Baby Roulette with your kids or on your own!