I like the idea of open source software and of giving away your work for free so all around you can enjoy it and so it was a sad moment when I decided to take down my source code files from my downloads page. I just didn’t feel there was any way to take credit for the work (in whatever form that is) and couldn’t stand the idea of someone taking it and claiming it as their’s.
Thankfully Linus Torvalds is a very clever man with the best of intentions and so stands GitHub, a place for coders to upload their source code for all the world to see for nothing but a place where it can be seen to be yours. Hence I have now signed myself up an account and uploaded my source code to Brick Buster, Flood Fill, Simon and Bomber Run. Peruse them, download them, fork them, do as you wish with them. Have fun!
In other news, smartphones are quite popular these days I think we can all agree. There are well over half a billion Android devices activated and last quarter nearly 50m iPhones alone were sold. With Windows Phone also apparently showing strongly and Blackberry 10 joining the market in the near future the future is mobile (as the cliche goes). So with the writing on the wall, you’d have to be a mug to go into programming these days without out some exposure to programming on these devices. I, unfortunately, don’t have access to a Mac or Windows 8 so that knocks out the prospect of developing for iOS or WP8 and with Blackberry 10 not out yet it would seem that I’m left with Android. Easily the largest mobile OS on the planet, it is also the most fragmented with nearly half the users running Android Gingerbread, an OS over 2 years old.
So it was with trepidation that I set out to find a library to help me along my way but I shouldn’t have been so worried. I came across Andengine first on my travels and gave that a few days of toil before losing all faith in it’s ability to create games using anything but a singleton design and packed it in. I then moved on to libGDX and I couldn’t be happier. It’s a lot more hands off then Andengine and lets you create your own game loop, whilst still providing a huge amount of back end functionality (loading and playing a sound effect can be done in one line each, incomparable to C++!). Again I’ve found a good site with useful tutorials, this time provided by Steigert (with free source code on Google Code too!), but most importantly the documentation and wiki provided by the libGDX team is unparalleled. There are Javadocs, a wiki, a simple game example that builds an entire working game and a whole raft of tests to look at (and borrow code from!). You just cannot go wrong with this library, incredible stuff. Be warned though, it is still in very active development and they’re releasing nightly versions fixing bugs, so development can be a bit of a moving target from the tutorials and code. Nothing that a good google search and stackoverflow can’t normally solve though.
libGDX also provides another benefit, you can test your game as a Java application instead of having to launch the emulator and wait for that to process and then lag. It makes testing so much quicker and allows you to make small changes and test them quickly. It also generates an HTML5 version of your software as well and is incredibly versatile and extensible. An A* library if ever I saw one. If you’re thinking of developing for Android, it’s definitely the way to go