Wednesday, December 11, 2013

Ant Colony Live Wallpaper - First Android App - Post-Mortem

Introduction

It all started with a Samsung Galaxy Young S6310 I bought myself after the plain old cellphone decided to die on me. Our kids soon discovered the gaming possibilities of the phone: My eldest [5] got rather interested in this side-scrolling adventure game called "wind-up knight" by Robot Invader and my youngest kid [3], actually 2nd youngest kid now, enjoys himself a lot with "Bubble burst" from Androgames.
It has been pretty cool to see how our eldest explains and even assists his younger brother in "wind-up knight", which still seems to be a bit more challenging then his usual "Bubble Burst". Anyway, I guess this experience made me wanna look at the Android platform and I decided to write a rather small application based on some simple concepts: I decided to make a live wallpaper with particles, which resulted in Ant Colony Live Wallpaper.

Some reference material

It is always interesting to have some reference material and since I'm getting used to reading books on Kindle, I've gotten the Kindle version of "Beginning Android Games, 2nd edition".
If you have a look at the Android statistics, it also shows that today, 1/12/2013, over 98% percent of Android devices support OpenGL ES 2.0, so a book about OpenGL ES 2.0 seemed a must have as well.

Live wallpaper

Android allows you to develop an animated wallpaper. However, it doesn't seem to support OpenGL out of the box and that is what drove me to use glwallpaperservice. It basically boils down to calling your draw-call in the onDrawFrame() function in a class inherited from GLSurfaceView.Renderer, which in turn is set as Renderer in a GLEngine object. The latter is instantiated in onCreateEngine in a GLWallpaperService object.

AdMob

Since the app-market is pretty well known for its advertisement banners, I also decided to include an Admob ad in my application. For a live wallpaper, the most convenient was to include this in the live wallpaper's settings screen. Integrating this was no issue at all.

Google play

Well publishing the app on Google play went fairly as well. I guess it took about 30 minutes to get the app published after I signed up (and payed the one-time 25$ sign-up fee) and this only because I had to take additional screenshots since it wasn't immediately clear to me that I had to upload at least 3 of them.

Next up

I did enjoy writing this little app for the Android platform and the most interesting thing for me was that I've gotten some experience with publishing an app on Google play and that I have had a chance to learn something about Android development. Needless to say, it was quite an eye-opener to see how easy it actually was to get an app out there! Next up will be a little touch-based Tetris clone with a custom written game engine.
Also, there was some pretty exiting news earlier on about the Oculus Rift coming to Android. Imagine a device like the NVIDIA shield being patched into the Rift... Looks promising to me anyway.