• RocketHub Member Photo

    Started by Andrew Russell December 21st, 2010

    ExEn: XNA for iPhone, Android and Silverlight

Share This Project:

Open Source

ExEn: XNA for iPhone, Android and Silverlight

The best indie game development platform is about to get a whole lot better!

 

Project Updates and Info:

 

Hi, my name is Andrew Russell, and I’m an Indie Game Developer and Software Engineer (BE Hons) from Australia. I’m a huge fan of XNA, a game development framework from Microsoft that runs on Windows, Xbox 360 and Windows Phone.

XNA is a great library – but I also want to make iPhone and web games! I’d heard about libraries like XnaTouch and SilverSprite that claimed to make this possible. But when it came time to use them I found they were very slow and buggy.

So I rewrote them, and the result is ExEn. A high performance XNA implementation for iPhone and Silverlight, specifically designed to allow a game to be written once and run on multiple platforms.

Now what I’d like to do is make ExEn available to the community as open source software (Ms-PL). And while I’m at it, I’d also like to add an Android port as well.

To do this I am using RocketHub to crowd-source funding for the project. Here’s how it works: You contribute a fraction of the funding target, and are rewarded for doing so. Once the project reaches the funding target it gets launched! But if the funding target isn’t reached, the project doesn’t launch and you get your money back.

Once the project has been fully funded, I plan to spend three months working on it before releasing it. But if three months is too long for you to wait you can get pre-release access by helping to fund the project (see the funding incentives).

 

Quick, show me a demo!

Here is my Light Blocks game running on Silverlight, and you can also get it for iPhone, iPad and iPod Touch from the App Store.

As an example of how easy it is to port a game, here’s a video of me porting the Marblets XNA sample to Silverlight and the iPhone in less than 15 minutes!

 

What is ExEn?

Currently ExEn is an implementation of a subset of the Microsoft XNA Framework API that runs on iPhone and Silverlight. It is based on XnaTouch and SilverSprite – but most of the important bits have been rewritten – most importantly the rendering, audio, input and timing systems.

 

Here is what is currently supported:

  • Everything needed to make a 2D game
  • SpriteBatch for high performance sprite graphics and text rendering
  • Music and SoundEffect for audio
  • Mouse input on all platforms
  • Keyboard on Silverlight
  • The Game and GameComponent system
  • The ContentManager class for supported types
  • The Maths types and various miscellanea

 

Here’s what I plan to add as part of this project:

  • An Android Port
  • On-Screen Keyboard support for text-entry on mobile devices
  • Switching from XNA 3.1 to XNA 4.0
  • Write documentation
  • Fix a few minor bugs and missing features
  • Open source it!

 

On iPhone ExEn requires MonoTouch to provide a .NET Framework. It uses OpenGL ES 1.1, so it runs on all iOS devices. On Android it will require MonoDroid.

The Silverlight version runs on Silverlight 3 and supports hardware accelerated 2D graphics. Silverlight 3 has a 67.7% penetration rate (December 2010, riastats.com).

Silverlight 5 has recently been announced (for the second half of 2011) with support for 3D graphics, so it will be possible in the future to add 3D support to ExEn as well.

 

Funding Incentives:

(Note: All of the higher levels of support include all of the incentives of the levels below!)

  • $1+: Every little bit helps, and as a thank-you gift for contributing, everyone gets a copy of my line-drawing code (as used in Captain Stretchy-Arms). Works on all of the platforms ExEn supports, plus XNA.
  • $20+: Get yourself recognised as someone who made this possible – have your name immortalized in the ExEn source code.
  • $50+: Early Access: Get access to the live source repository and bug tracker one month before the official release date.
  • $100+: Immediate Access: Get access to the live source repository and bug tracker as soon as this project is funded! An excellent opportunity to help influence the project during development.
  • $200+: I will personally provide email support for ExEn to you for one year. (limit: 6 support incidents – bugs fixed, questions answered, problems solved, etc)
  • $500+: Get the source code* to my Light Blocks game. A great example of how to make a game that runs on iPhone, Silverlight and XNA.
  • $1000+: I will personally work with you via email for up to three months to help you port your SpriteBatch-based XNA game to all of the platforms ExEn supports. (valid for 1 year)
  • $2000+: I will personally implement a reasonable feature request of yours into the ExEn library for you. Ask me in advance, or hang onto it in case you need something later (valid for 1 year).

 

(* Original artwork not included, but I’ll put in placeholders so you can compile it!)

Over-funding!

For every $2000 over the funding threshold, I will implement a community feature request into the ExEn library. So if there’s a feature you particularly need, but you don’t have $2000 yourself for the funding incentive, get all your friends to help support this project and then be really loud about the feature you want!

As an added bonus, for the first $2000 over the funding threshold, I will do a Macintosh Port of ExEn!

 

Tell Your Friends!

No, seriously – once you’ve made a contribution, go and tell all your friends! This is very much a community project – and not just in the funding stage. During development I want to hear your feedback, and after release ExEn will be available for the community to use. So it’s important that we build up a community around it.

 

Stay up to date

Follow me on Twitter @_AndrewRussell and subscribe to my blog at AndrewRussell.net.

 

Notice: Contributions can take a few hours to show up here! Check your email to see if your contribution went through. If you have any trouble please email me or RocketHub.