MonoGame - Write Once, Play Everywhere

Our dev world is a big place (Cpt. Obvious here again...). While we might like to stay inside our own little dev world, never leaving our platform of choice, with the rise of others, that might not viable anymore. Yet it would be cool if we could leverage what we already know. To take our C# development experience and use that when developing games for different platforms...

MonoGame - Write Once, Play Everywhere

What is MonoGame?

MonoGame is a free OpenGL implementation of the XNA Framework for MonoTouch, MonoDroid, Mac OS X, Windows & soon Linux. Our goal is to allow XNA developers on Windows & Windows Phone 7 to port of their games to the iPhone / iPod / Android / Mac OS X (visa versa), with minimal hassle.

MOVE TO GITHUB

The latest, and greatest, cutting edge source code for MonoGame can now be found here - https://github.com/mono/MonoGame

If you've never used GitHub before, try out my GitHub Tutorial.

Codeplex will still be our home page, as the discussions forums are excellent, but the code will now be updated over on github, as members of the Novell team are also helping out.

Current Roadmap

  1. Add OpenGL ES 2.0 support so we can use 2048x2048 textures and then have shader support. If ES 2.0 is not found on the device it will fall back to ES 1.1, hence 1.1 working properly before moving onto ES 2.0 support.
  2. Once ES 2.0 with fallback to ES 1.1 is working and appears to be stable we will release MonoGame 2.5.
  3. Once we are happy that 2D is the best it can be we'll add 3D support.
  4. Once 3D support is stable we can then release MonoGame 3.0 Smiley.

image

So are there any samples we can play with on Windows? Yep!

MonoGame-Samples

image

image

And does it actually work? Yep!

SNAGHTML4d9d7f73

Some notes to get the samples running;

  • There are references to the OpenTK framework. I used Nuget and found an "unofficial" OpenTK package that seemed to work okay.
  • The Windows Samples also reference the "Lidgren.Network.Windows" and "MonoGame.Framework.Windows" projects but doesn't include them. So download the source for these from the git page, mono / MonoGame, and replace the broken project references with those.
  • There's a link to the SDL.DLL that might also be broken. That file is also available in the source download in the  \ThirdParty folder.

So a there's a little fixup needed, but once done I was able to compile and run the samples.

What kind of samples are available?

image

imageimageimageimageimageimage

Also available are starter kits too.

image

Finally lets quickly look at the framework itself. This is a complex project...

image

SNAGHTML4da94580

If you're feeling the need, the need to code for different hardware platforms, to write games that use C# and XNA and run in many places, MonoGame might be something you'd like to check out...

Comment on the Post

Already have a Channel 9 account? Please sign in