After all the stress in the last few weeks i decided to use 2 hours of my spare time to prototype a game with libgdx. It was more or less a small exercise to get a bit more familiar with Box2D. First off: doing this with libgdx was plain awesome, at no point did i curse its design. I also used the Box2DDebugRenderer so i didn’t have to write a single line of rendering code myself. For prototyping box2D based games that’s just awesome.
The game that i tried to implement is called Super Fill Up. You can play it over here. It’s a causal variation of the old game called Qix (which i played to death on my Game Boy). The basic premise: fill up 66% of the screen with balls (yeah, it’s funny) by clicking on the playing field. While you hold your mouse button down a ball will spawn beneath the cursor and grow. On the playfield there’s a number of other smaller balls which you should avoid while growing your ball. Each level adds more of the evil balls so it gets harder and harder to fill up those 66% of the playing field.
I reimplemented this with libgdx and the help of Box2D. All elements are actually simulated by Box2D, getting the evil balls right was surprisingly simple. The growing part needed some trickery as you can’t scale Box2D bodies. You basically want to create and destroy a growing ball each frame. Here’s how the game looks rendered with the debug renderer:
You can find the apk at http://file-pasta.com/file/10/fille-android.apk. Note: IT WILL CRAWL ON FIRST GEN DEVICES, SO DON’T COMPLAIN! It’s due to the debug renderer which is not intended to be used on Android devices.
Now the game mechanics are nearly 100% identical to the original but it fails to entertain on an actual touch screen device. Here’s the reason:
Occlusion is your worst enemy when doing touch based games. “Super Fill-Up” works great on the desktop as you don’t occlude a lot of the playing area with your mouse cursor. This way you can estimate at any time which evil ball will hit from which direction. You do not have to memorize the positions of the evil balls. On the touch screen device you have to build a full mental image of the playing field and all the moving objects as your thumbs will occlude large portions of the screen. This considerably lowers the fun of the game because building this mental image is hard, especially with a large number of objects on screen.
Conclusion: before implementing a full blown game think about the impact of inevitable occlusion!

