The following is strictly a rant about my latest experience with Android fragmentation. I apologize in advance.
Developing a game (and by extension, any app I suppose) for Android is truly a roller coaster ride. While you have some awesome advantages like being able to easily drag-and-drop a build of the game to the device and installing it - all free of charge, you also have some disadvantages. One disadvantage, and probably the biggest one, is fragmentation. Jah know, I couldn’t hate that word more. Android fragmentation has been complained about well documented around the internet so I wont get into the specifics here. Basically, Android fragmentation talks about the hundreds of android devices there are, all made by different companies with different hardware & software (in comparison to iOS which has less than 30 devices which have all been made by one company - Apple). I’ve experienced it before in the form of a game running slower on one device than it would on another, but I experienced something brand new today with Hecticube.
I own and test on a Nexus 5, so I figure that, you know, the game will run the same or better on anything newer than a Nexus 5, and it will run the same or slower on anything older / with less impressive specs. I’ve tested it on a Galaxy Nexus (old phone) and while it does experience some lag, it runs. Okay cool. Tested it on some other devices. Worked like a charm. In comes the brand new 2014 Moto X. Crash!… I’m sorry, what? How does it crash on a brand new device (with better specs than my Nexus 5 too) when old, lesser spec’d phones are running it without crashing? It really rattled my brain. The same happened with a Samsung Note 4 and another new Moto, the 2014 Moto G. At this point I was thinking, hey, Hecticube must just not like new things! That must be it! But no, that doesn’t make any sense.
At the end of the day (i.e. as I’m writing this) I have yet to figure out why exactly it would crash on those newer devices while on older ones it worked just fine, but at least I figured out where it was crashing and resolved the issue. I’m fine with / have accepted the fact that fragmentation sometimes works like PC fragmentation does, where basically old stuff can’t run certain things that new stuff can. I am not fine however with these random crashes on new things. I thought that’s the entire point of them being new! Hopefully, I don’t run into any more serious inexplicable fragmentation issues, especially because I don’t want to have to harass my friends to try build after build to see if this / that works or doesn’t again (special thanks to those who were patient with and helped me!) or waste an entire day again.