Friday, November 04, 2011

MonoGame - Cross Platform, OpenGL based XNA Framework implementation (Think "XNA" [mostly] based games for MonoTouch, MonoDroid, Mac OS X, Windows...)

Adventures of Roy - MonoGame -vs- XNA Comparison

"I  was toying around with switching to MonoGame earlier tonight.

First off, the transition was very simple. I downloaded MonoDevelop, OpenTK and the MonoGame source. I compiled MonoGame using MonoDevelop and got a dll out of it. I then deleted all of my XNA references from AstroMiner and added a reference to the MonoGame .dll.

After trying an AstroMiner build, I noticed a couple of differences. Texture2d.FromStream is now Texture2d.FromFile. render.SaveAsPng (for taking screenshots) is no longer available. Out of everything I do, that's it. Can't really complain.

...

So for not having to make any changes to the code (besides replacing FromStream with FromFile), I think it's a really viable solution. I'm going to keep researching to see if I can figure out how to fix the minor issues I had. It'd be nice to not require the XNA libraries and be able to publish to multiple platforms."

CodePlex - 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.

...

Current Roadmap

  1. After 2.0 release is out, we will stick to an odd release numbers are beta quality, while even numbered releases are stable, structure.
  2. 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.
  3. Once ES 2.0 with fallback to ES 1.1 is working and appears to be stable we will release MonoGame 3.0.
  4. Once we are happy that 2D is the best it can be...add 3D support. There is already some VertexBuffer code, and DrawPrimitives added by kelthar, but it needs to be fleshed out.
  5. Once 3D support is stable we can then release MonoGame 4.0 :).

...

SNAGHTML2d32647a..."

github - mono / MonoGame

"...

MonoGame Goes Multi-platform: MonoGame 2.0 Announced

MonoGame is an open source implementation of the XNA APIs that allows developers to build 2D games that run on Android, iPhone, iPad, Mac, Linux and Windows using the same code base, or reusing existing XNA code that runs on Xbox 360 or Windows Phone 7. MonoGame 2.0 release is a major evolution of the platform. We went from only supporting the iPhone to becoming a cross-platform stack that now also runs on Android, Mac, Linux and Windows. To help developers get started, more than twenty individual samples and more than five complete starter kits are shipped with this release. On the iOS platform, MonoGame runs on top of MonoTouch and there are at least eighteen games published on Apple’s AppStore built using the technology. This new release opens the doors for developers to publish games to the Mac AppStore using MonoMac, to Android Market using Mono for Android, and also to Windows and Linux systems using Mono. This major advance in the MonoGame platform was made possible by an exponential growth in the number of contributors to the project in the last seven months. New contributors took over major components of the stack, tuned the performance, added new platforms, tuned the engine and fixed hundreds of bugs to turn MonoGame into a solid 2D gaming platform. A new networking stack allows players on the same network to play with each other. One player could be running the iOS client, while another one might be using a Mac and another one an Android device. All playing the same game. The latest framework sources can be downloaded from : http://github.com/mono/MonoGame. A group of multi-platform XNA Samples can be downloaded from : http://github.com/CartBlanche/MonoGame-Samples

..."

I hadn't heard of MonoGame before today... it looks pretty cool and useful if you're writing cross-platform games or are currently a XNA only dev and thinking about crossing your game...

1 comment:

mgroves said...

I think MonoGame is a great application of the various Xamarin products, but the Android version is still pretty rough compared to the iOS version (or normal XNA on WP7). I'm confident that it'll get there though.