Andrew Russell has a tool called ExEn that lets Windows Phone developers to port their XNA based games for the Windows Phone platform with very little code changes to iOS and Android. ExEn is currently in Pre-release version 2.1 and costs $200 to join. You can, however, get a public preview of ExEn from Andrew’s Blog.
The description of ExEn reads:
ExEn is an implementation of a subset of the XNA API that runs on Silverlight, iOS and Android. The goal of ExEn is to make it as easy as possible for you to port your game with the absolute minimum of platform-specific code. ExEn has been written with performance, robustness and API accuracy in mind.
On Silverlight, ExEn maps XNA’s immediate-style API onto Silverlight’s retained-style object tree in a high-performance way that does not require you to do any scene management. ExEn on Silverlight makes full use of Silverlight’s hardware acceleration.
On iOS and Android, ExEn translates the XNA API into the platform’s own API (and OpenGL for graphics) using Xamarin’s MonoTouch and Mono for Android products to provide an implementation of C#/.NET and platform API bindings for each platform.
ExEn currently only supports XNA’s 2D APIs for graphics (ie: SpriteBatch). However it is still possible to access the underlying platform using ExEn. For example, to port a 3D game to iOS and Android, you could port your renderer to OpenGL, and use ExEn for everything else.
In addition to ExEn, developers will also need to obtain licenses to MonoTouch for iOS development ($400 for a pro license) and their own AppStore developer subscription (for $99). Android development requires Mono for Android ($400) and Android Market registration ($25). So in short, for around $700, your game could be in iOS appstore next week.
The blog shows some sample games that have been created using XNA and then ported to Silverlight, Android and iOS platforms. This seems like a fantastic opportunity for people to be able to write games once and then publish then to all platforms. We hope that the tools mature quickly and similar opportunities open up for app developers in addition to game developers (despite skepticism by Steve Jobs).
The big win for Windows Phone in this case is, obviously, that this allows people to build their games in XNA first, and then publish everywhere. So anyone who is planning to use this code path will have their games on Windows Phone, boosting the app count in the winphone marketplace.