Sep 19 2012 03:03 AM
The image is a screenshot of my android live wallpaper: Mad Marbles. It renders multicolor marbles on your device home screen. Marbles move according to your device orientation and they can collide with each other. They are also interactive: you can select a marble with your finger and move it (or throw it) around the screen.
Physics is implemented using Box2D in C/C++ compiled for ARM and JNI. Marbles are rendered with an OpenGL ES 2.0 fragment shader.
I decided to develop for android because when my old phone stopped working I found a good deal for an android phone. At the beginning I thought learning android programming would be nice so I developed an app for internal use checking a web service status. After that I wanted to give a try to something I enjoy more: graphic programming.
Well.. Mad Marbles is the result.
Some of the lessons I learned during this project are: - how to write (and use) native code in android for CPU-intensive tasks - how to implement a live wallpaper with OpenGL ES using custom preferences, reading orientation, etc. - how to effectively use intents, create a shortcut, select (and scale) images from device, write code adapting to different resolutions - how OpenGL ES works (I've been a Direct3D guy for years)
I also learned how hard it is to get visibility on google play!!!
If you have an android device you can give a try to the free version: