Archive for the ‘Development Notes’ Category

Android SoundPool Bug – still no fix

March 2nd, 2012 1 comment

I had to remove certain devices from the availability list in the Android Market to prevent “bad reviews”. The SoundPool Bug from June 2012 is still not fixed and has now around 100 Comments in the Bug Tracker from other Developers. So feel free to push this Bug for getting more Attention.

Meanwhile I’m thinking of rewriting the SoundPool myself and distribute a free SoundPool Library. I keep you posted.

Software Patent claims – Seriously ?

October 3rd, 2011 2 comments

I had to remove the “Buy Full Version” Button from my “The Defense” Demo because it may infringe some Patents from intellectual Property Company in the US. So the first thing that came to my mind was “WTF – seriously ?” as I received a Fedex letter with the infringement claim. I thought this has to be a joke – but it wasn’t. In the US it’s still possible that you can have patents that are so trivial and widely interpretable that everybody can be sued. Good times for patent attorneys that are making a crap-load of money these days.

The same thing with Apple vs Everybody because other tablets might look nearly the same….so who cares. Table size and colorization is no rocket science. It’s common sense that tablet all over the world have to be somewhere near the size of a book and kind of thin. It’s so sad to see that this “Cold war of Patent Claims” costs billions and billions that could better be invested to do something useful

It’s a common pattern these days to buy patents from tiny companies and build up a whole intellectual  Property Company around it to sue everybody that may have money. This goes on and on and it’s getting worse. Starting with Oracle that may have currently more attorneys than developers for earning money these days , I’m kind of frustrated when I realize  that the world and the companies are getting more greedy every day. I’m not quite sure who can end this mayhem of patent madness, but hopefully soon.


Samsung Galaxy SII – Bug

July 1st, 2011 1 comment

Sadly, I got some bad reviews because the new Samsung S2 Owners where having some problems with the Game (The Defense). A friend of mine has a S2 and i invited him over to take a look at the problem, but I wasn’t able to fix it. The Problem seems not to be a Implementation fault. I narrowd it down to the SoundPool but the SoundPool in Android is only a Wrapper for the native SoundPool Class from Android OS.

So I opened a Issue on the BUG Tracking System in Android (Issue 17623) and it seems that this bug is not only related to my game. There is a Workaround for S2 Users: Simply go to Options and disable SoundFX. The Music will still work because the background music is processed via the MediaPlayer.

So If you have a solution to the HeapDump Problem with the Soundpool, let me know =)

Tags: , ,

How does your developer notes look like ?

April 20th, 2011 No comments

Some “weeks” ago I bought some cork plates for my personal “wall of brain-damage”. Don’t know if you can comprehend this, but when it comes to game logic sometimes your brain can follow anymore. My workaround is to visualize things that are a little more complex, so i began to work with excel or small hand-drawings. After my recent Tower Defense game I will offer you my final boad status.

Especially interesting is the Diagram at the center / bottom of the picture. This is the “curve of difficulty” in the game…so the first 1-50 level are more or less casual, but after that it’s getting pretty messy

Fast Game Mathematics

April 2nd, 2011 7 comments

As for myself, I never had anything to do with game programming. I’m a normal J2EE Developer / Architect in my “real” life, working for a big IT-Company here in Germany. If you are entering game programming you have to learn to throw some common java habits overboard. Besides the “Aiming for Performance” Arcticle ” down below, there are some more technical issues that can speed up your game. A good starting point is a wiki article about fast square roots (Link). The thing with the square roots is especially interesting if you are going 3D.

Another aspect is the Math factor.

int result = inputInt / 2;
int result2 = inputInt >> 1;

If you have some division by the power of 2, then you can simple shift the bits. In my TestCase this is like 8x faster than the standard division. Another useful approach are Data Tables, when you don’t need exact values. If you are calculating angles with Math.tan() or something similar, you might want to consider to pre calculate the angles your need for your game. In my case the rotation of arrows in 10 degree steps. So the only thing you have to to is to divide the cathetus and search for a Number in the table. In my case 5x times faster that Java Math.

Resolution Breakdown on Android Displays

March 29th, 2011 1 comment

You’ll find a couple of “not that official” Numbers on Phone Specs across the Market. Following Diagram is a rough statistic snapshot over ~35.000 Devices End of 2010.

For my game this is a very valuable information, because to support 800×480 and 854×480 is not a big problem, but i should think of the time i have to invest to support 480×320.


Google itself now has a official Site where you can check overall statistics of the android market: see

Let the music play…

September 3rd, 2010 1 comment

While a game consists usually of more pieces than simple code, from my point of view music and sound effects are a big part of the fun.  By testing a lot of “successful” games, i noticed that the have mostly pretty poor sound effects or music.

The reason for this could be the more or less poor implementation of MediaPlayer Capabilities in Games. As Developer you will struggle in playing multiple sounds at once, or loops that run smooth. There are several things that currently look more like a “workaround” implementation-wise, like the SoundPool.

Whatever…here are some samples of background loops it created recently, enjoy:

Loop Choir
Loop Piano
Loop E-Bass

Tags: , , ,