It took a while, but here it is, the latest version of ExEn (10MB zip) [UPDATE 27th October: Fixed a bug]

ExEn is a port of Microsoft’s XNA API to iOS, Android and Silverlight. It is licensed under an open-source licence (MS-PL), so you can start using it to port your games right now, for free!

This version introduces support for Android. There are a few rough edges with Android support that I should mention: First of all the Android documentation isn’t done yet. The process for setting up a project for Android is similar to the process for iOS. Please take note that content for the Android platform needs to be set as “AndroidAsset” (and not “Content” as on other platforms).

And secondly: The code has not been tested on a wide variety of Android devices. Unlike iOS, Android suffers from fairly serious platform fragmentation and numerous weird device bugs. And I simply don’t have the resources to test it on enough devices. So please take note that ExEn for Android will not insulate you completely from the Android platform. It is up to you to test your game before releasing it – just as you would have to before releasing a normal Android game.

If you are using ExEn for Android, please send me an email and let me know how it goes. If you run into any device-related issues in ExEn, I’d be happy to work with you to try and fix them.

ExEn for Android requires a minimum of Android 2.1. However it should not be too difficult to modify it to target a 1.6 minimum if your project requires it.

And ExEn of course still supports iOS and Silverlight. This latest Public Preview version includes a number of improvements and bug fixes on those platforms. Most notably, ExEn now supports multi-touch (although not gesture recognition yet) on both iOS and Android.

If you would like to receive updates to ExEn as they are made, and to support the continued development of ExEn, please consider joining the ExEn Pre-release Program.



3:24 am, Thursday 6 October 2011

Hey Andrew,

Can’t wait to check this out. Question for you: Why did you branch off monogame into exen? Why not just improve on monogame?

What’s the difference between the two?


4:03 am, Thursday 6 October 2011

Hey great, thanks! I have an XNA game which I’ve already used SilverSprite to port in the past… I’ve been dying to get it onto Android. I’ll give it a whiz tonight.


3:48 pm, Friday 7 October 2011

Thanks for the Preview 2! I got my game mostly ported to ExEn Silverlight tonight. I am amazed of how well it works!

I did notice one strange behavior, but I don’t know where to report it. I had some logic in the draw method that was using gameTime.TotalGameTime. I found that over time the gameTime.TotalGameTime in Draw() begins to greatly differ from gameTime.TotalGameTime in Update(). Meaning after a couple of minutes it is a second or more different. I got around this by moving my logic strictly to the update method like it should have been.

Andrew Russell

5:16 pm, Friday 7 October 2011

Thanks Jared. I’ll add that to the tracker. If you (or anyone else) discovers any bugs, please feel free to email them to me.


5:25 am, Saturday 8 October 2011

Andrew, good work as always. For anyone who is using the Silverlight project, I noticed a change was made to how TTF Fonts are loaded but the documentation does not reflect this . Specifically, the method for loading them has changed from:

ContentManager.SilverlightFontTranslation(“”, new SpriteFontTTF(fontSource, fontFamily, ));


SilverlightFontTranslations.Add(“”, new SpriteFontTTF(fontSource, fontFamily, ));

Also, I take it that you did not have the time to address the memory leak issue yet in Silverlight? Either way keep up the good work and thanks!