Several people independently confirmed that the test build from the last post fixes the crash a startup problem.
The fix has now been published to Google Play and is available for update (version 1.24.4.0).
That means that I understand what was causing the problem. And it’s not pretty. For Android, that is. It is an extremely buggy system, and very inconsistent. Even when testing on 20 different devices one cannot be sure that the game works.
The problem it turns out is there were too many sound files being loaded in short succession. Android queues them to be loaded in the background, which I think is a truly idiotic idea – if I wanted to do that I could spin up a thread and do it myself. If too many are queued too fast, the whole process comes down, crash and burn. No errors, nothing. Testament to great quality engineering! Moreover, this only happens on some devices, on others the limit does not exist or is much higher, I don’t know. Basically random stuff. And we’re not talking about excessive numbers of sounds here – there’s a couple hundred of them taking several tens of MB when uncompressed. What a joke on devices which have 1 or 2 GB or RAM.
Anyway, let’s stop ranting. The fix is to stop preloading all sounds during game startup. It means that on Android sound will not work properly until after sometime after the game has started. For example you will not hear first footsteps or block breaking sounds. Not nice, but it’s better than crashing.
On the brighter side of things I have started work on 1.25 :-)
