Developer(s) | MonoGame Team |
---|---|
Initial release | September 2, 2009 |
Stable release |
3.6 / March 1, 2017
|
Repository | github |
Written in | C# |
Platform | iOS, OS X, Android, Linux, BSD, Windows Phone 8, Windows Store, Windows Desktop, Windows 10, PlayStation 4, PlayStation Vita, Xbox One, Nintendo Switch |
Type | Application framework |
License | Microsoft Public License |
Website | www |
MonoGame is free software used by game developers to make their Windows and Windows Phone games run on other systems. It currently supports OS X, Linux, iOS, Android, PlayStation Mobile, Nintendo Switch and the OUYA console. It implements the Microsoft XNA 4 Application programming interface. It has been used for several popular games, including Bastion and Fez.
MonoGame is the evolution of XNA Touch (September 2009) started by Jose Antonio Farias and Silver Sprite by Bill Reiss. The first official release of MonoGame was version 2.0 with a downloadable version 0.7 that was available from CodePlex. These early versions only supported 2D sprite based games. The last official 2D only version was released as 2.5.1 in June 2012.
Since mid-2013, the framework has begun to be extended beyond XNA4 with the addition of new features like RenderTarget3D, support for multiple GameWindows, and a new cross-platform command line content building tool.
MonoGame attempts to fully implement the XNA 4 API. It accomplishes this across Microsoft platforms using SharpDX and DirectX. When targeting non-Microsoft platforms, platform specific capabilities are utilized by way of the OpenTK library. When targeting OS X, iOS, and/or Android, the Xamarin platform runtime is necessary. This runtime provides a tuned OpenTK implementation that allows the MonoGame team to focus on the core graphics tuning of the platform.
The graphics capabilities of MonoGame come from either OpenGL, OpenGL ES, or DirectX. Since MonoGame version 3, OpenGL 2 has been the focus for capabilities. The earlier releases of MonoGame (2.5) used OpenGL 1.x for graphics rendering. Utilizing OpenGL 2 allowed for MonoGame to support shaders to make more advanced rendering capabilities in the platform.