Android and dreams undreamt

Sam Hart

2010-07-05 01:03:42

The Linux community and its associated industries has been a very interesting thing to observe lately. It's gone from an underground hit to an extremely mainstream staple in the 15 or so years I've been working with it, and we have Linux-based devices and platforms which are truly bizarre and unique even in the diverse landscape that is the Linux-verse.

It's no secret that I've spent the last two years in a self-imposed Windows development environment, but it was never my intention to abandon my free software love completely. At Funavision, we've spent two years building some high-quality, first class, gaming technology in the form of an engine we call "Mimicware". This engine is currently closed source and proprietary, however we are seriously considering the pros and cons of releasing it under a free or open software license (since, honestly, our intended business was not centered on this bit of technology).

Mimicware currently is mostly written in C#. This was a practical decision to bootstrap our technology against Microsoft's XNA, but our intention was never to stick with C# ad nauseum. Our intention was to eventually rewrite the core of Mimicware in something more portable and then provide bindings for it in several high level languages (including C#, and using our existing Mimicware engine code).

In fall 2009 we began the work of rewriting our core in a more cross-platform way. Admittedly we haven't completely finished this rewrite, and we have a way to go before we can utilize it in our games, but what we have so far is already fairly impressive as it technically allows us to develop applications which can run on a diverse range of platforms including the Xbox 360 and Google Android (in fact, to my knowledge, we're the first to actually be able to do that :-) If we do ultimately release the source to this engine, I think we'll likely be the first free/open-source multimedia game API to target such a wide range of platforms.

Well, as we've been working on this cross-platform core, I've been learning more and more about Google's Android platform. What I've learned is completely and utterly fascinating, so I thought I'd share...

One bit of warning before I begin: This post is likely going to get melancholy and reminiscent. It may even get ponderous and be spread over several posts. In fact, I'm creating it as a Drupal book in anticipation of it being multi-part.