MonoGame is a popular open source port of Microsoft’s now defunct XNA game framework. They just announced the release of version 3.6 containing several improvements and fixes. If you are interested in learning MonoGame, be sure to check out our complete tutorial series available here. MonoGame has been used to create several of the biggest indie games on the market, including Stardew Valley, Braid and many more.
Details of the release from the changelog:
3.6 Release – 2/28/2017
- Fixed XML deserialization of Curve type. #5494
- Fix #5498 Pipeline Tool template loading on MacOS. #5501
- Fix typo in the exclude.addins which cause warnings when installing the Addin in XS. #5500
- Added support for arbitrary defines passed to the Effect compiler. #5496
- Fixed GraphicsDevice.Present() to check for current render target. #5389
- Custom texture compression for SpriteFonts. #5299
- Performance improvements to SpriteBatch.DrawString(). #5226
- Removed the OUYA platform #5194
- Dispose of all graphical resources in unit tests. #5133
- Throw NoSuitableGraphicsDeviceException if graphics device creation fails. #5130
- Optimized and added additional constructors to Color. #5117
- Added SamplerState.TextureFilterMode to correctly support comparison filtering. #5112
- Fixed Apply3D() on stereo SoundEffect. #5099
- Fixed Effect.OnApply to return void to match XNA. #5090
- Fix crash when DynamicSoundEffectInstance not disposed. #5075
- Texture2D.FromStream now correctly throws on null arguments. #5050
- Implemented GraphicsAdapter for DirectX platforms. #5024
- Fixed initialization of GameComponent when created within another GameComponent. #5020
- Improved SoundEffect internal platform extendability. #5006
- Refactored audio processing for platform extensibility. #5001
- Refactored texture processing for platform extensibility. #4996
- Refactor ShaderProfile to allow for pipeline extensibility. #4992
- Removed unnessasary dictionary lookup for user index buffers for DirectX platforms. #4988
- New SetRenderTargets() method which allows for variable target count. #4987
- Added support for XACT reverb and filter effects. #4974
- Remove array in GamePadDPad constructor. #4970
- Updated to the latest version of Protobuild. #4964
- Fixed static VBs and IBs on UWP on XB1. #4955
- Updated to the latest version of Protobuild. #4950
- Update Xamarin Studio addin for latest platform changes. #4926
- Replace OpenTK with custom OpenGL bindings #4874
- Fix Mouse updating when moving the Window. #4924
- Fix incorrect use of startIndex in Texture2D.GetData DX. #4833
- Cleanup of AssemblyInfo for framework assembly. #4810
- New SDL2 backend for desktop GL platforms. #4428
- Two MaterialProcessor properties fixed. #4746
- Fixed thumbstick virtual buttons to always use independent axes. #4742
- Fixed back buffer MSAA on DirectX platforms. #4739
- Added new CHANGELOG.md to project. #4732
- Added obsolete attribute and updated documentation. #4731
- Fixed layout of UWP windows in VS template to ignore window chrome. #4727
- Remove support for reading raw assets through ContentManager. #4726
- Implemented DynamicSoundEffectInstance for DirectX and OpenAL platforms. #4715
- Removed unused Yeti Mp3 compressor. #4713
- MonoGame Portable Assemblies. #4712
- Fixed RGBA64 packing and added unit tests. #4683
- Fix Gamepad crash when platform doesn’t support the amount. #4677
- Fixed Song stopping before they are finished on Windows. #4668
- Removed the Linux .deb installer. #4665
- OpenAssetImporter is now automatically selected for all the formats it supports. #4663
- Fixed broken unit tests under Linux. #4614
- Split out Title Container into partial classes. #4590
- Added Rider Support to Linux installer. #4589
- Implement vertexStride in VertexBuffer.SetData for OpenGL. #4568
- Performance improvement to SpriteBatch vertex generation. #4547
- Optimization of indices initialization in SpriteBatcher. #4546
- Optimized ContentReader to decode LZ4 compressed streams directly. #4522
- TitleContainer partial class cleanup. #4520
- Remove raw asset support from ContentManager. #4489
- Initial implementation of RenderTargetCube for OpenGL. #4488
- Removed unnecessary platform differences in MGFX. #4486
- SoundEffect fixes and tests. #4469
- Cleanup FX syntax for shader compiler. #4462
- General Improvements to Pipeline Gtk implementation. #4459
- ShaderProfile Refactor. #4438
- GraphicsDeviceManager partial class refactor. #4425
- Remove legacy Storage classes. #4320
- Added mipmap generation for DirectX render targets. #4189
In related MonoGame news, Nintendo Switch support was recently announced via Twitter: