MonoGame 2.1

MonoGame 2.1

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.

The MonoGame 2.1 release is an update to fix bugs, implement optimisations and to add key features. In this release GamePad support was added and so was DrawUserPrimitives. There were also several bug fixes across all platforms.
To show off the DrawUserPrimitives we ported an old XNA 2 demo called VectorRumble to MonoGame (http://www.youtube.com/watch?v=jrwrLca871c) and also created a demo that shows off the first tentative steps into 3D (http://www.youtube.com/watch?v=3HPIe76f-VQ). The VectorRumble demo also shows off the improvements to the wavebank implementations.

ROADMAP

The 2.x series will be released frequently to provide bug fixes and performance optimisations.
The 3.x series will extend MonoGame with support for the XNA 3D APIs as well as something we are working on, which we believe the whole MonoGame will love.

HOW YOU CAN HELP

Firstly, go over to github and register. Then fork the main repo found at https://github.com/mono/MonoGame. This will allow you to make changes to your own repo and send us patches and enhancements, thus benefiting everyone.
You can also join the active community of developers on IRC at irc.gnome.org on the #monogame channel, where the day-to-day improvements are being discussed in real time.

If you release a game using MonoGame, please let us know so we can update our released games page, and mention MonoGame in your tweet.

SPECIAL THANKS TO FOR THIS RELEASE

Jalfx (for starting this project in 2010, when it was called XNATouch)

kjpou1

technomage

slygamer

Clancey

Grapes

JorgeMagic

espes

Tapani

Last but not least, Team Xamarin for their support and continued great work on all things Mono and everyone else that submitted patches/fixes and enhancements. Without your contributions this release would not have been possible.

Fixes and Features

All Platforms:

Content Manager rewritten to use partial classes and implementation of cached assets that are loaded. Greatly improves memory footprint.

Experimental support for GamePads and Joysticks. Enhancements will be coming to integrate better for developers.

ContentReader improvements across the board.

Improved support for XACT audio.

StarterKits

VectorRumble

iOS

Gesture support has been improved.

Better support for portrait to landscape rotations

Fixed a rendering bug related to upsidedown portrait mode

Better WaveBank support

Android

Updated to support Mono for Android 4.0.

Improvements to the Orientation Support.

Changed Sound system to use SoundPool.

Added Tap and DoubleTap Gesture Support.

MacOS X

A lot of enhancements and fixes for Full Screen and Windowed control.

Cursor support fixed for IsMouseVisible.

Implementation of IsActive property and the events Activated and Deactivated.

First steps of DrawPrimitives, DrawUserPrimitives, DrawIndexedPrimitives

Better WaveBank support

Support for ApplyChanges() and setting the backbuffer and viewport sizes correctly.

Linux

All new implementation which share quite a bit of code between MacOS X and Windows

Added shader support via the Effects class

Windows

All new implementation which shares quite a bit of code between MacOS and Linux