Skip to main content

January 2025 Update

· 4 min read
Christopher Whitley (AristurtleDev)
MonoGame.Extended Maintainer

Hi everyone,

It's been a couple of months since my last update, and I wanted to take some time to catch you up on what's been happening with MonoGame.Extended and where things are headed.

Current Focus: Tilemap System Overhaul

Following the initial release of Ember and the 5.3 release that addressed various bug fixes and improvements, my focus has shifted to the tilemap system overhaul that has been planned for some time. One of the first challenges to tackle in this is how tile collisions will be handled.

Previously @lithiumtoast has started work on refactoring the collision system in MonoGame.Extended based on information from the Real-Time Collision Detection book by Christer Ericson. I decided to pick up from where that work left off and continue moving forward with it.

A Decision to Benefit the Broader Ecosystem

After spending some time working on the collision implementation, I came to an important realization: this might be an area where the MonoGame ecosystem as a whole would benefit from having these implementations in MonoGame itself, rather than exclusively in MonoGame.Extended. I reached out to the MonoGame Foundation about the idea and opened a discussion issue to gauge interest. Responses from all were positive and everyone was on board with moving forward with this direction.

I have submitted a pull request to implement a 2D bounding volumes and primitives suite into MonoGame. This initial PR took some time as I worked through the reference material in Ericson's book and designed the implementation. The PR came out of draft status las week. Since the MonoGame Foundation is currently focused on the 3.8.5 release, this PR will most likely not be merged until MonoGame 3.8.6. In the meantime, I will offer it as a compatibility package within MonGame.Extended, with a release coming soon on that.

Tilemap System Progress

With the collision foundation now implemented, I have begun work on the actual tilemap system according to the original plan. This is a substantial undertaking,a nd I am estimating it will take around two months for the initial release, depending on various factors.

During this time, I also have other obligations that require attention within the broader MonoGame ecosystem. This includes keeping the 2D tutorial updated and addressing feedback, working on website improvements and integrations for MonoGame, and addressing issues that come up with future tutorials being written for the MonoGame Foundation that make use of MonoGame.Extended.

Address ContentBuilder Compatibility Concerns

I also want to take a moment to address a concern that has come up regarding the current state of using the MonoGame.Extended.Content.Pipeline extension with the new MonoGame 3.8.5 ContentBuilder project.

First, if you haven't seen the new ContentBuilder project coming in MonoGame 3.8.5, I highly recommend checking it out and trying it. You can read more about it in the Working with new Content Builder Projects on the MonoGame website. This new ContentBuilder project will create a simpler and more intuitive way to manage assets for your MonoGame projects compared to using the current MGCB Editor. However, since this is a new project type, there are some breaking changes that are not playing well with MonoGame.Extended.Content.Pipeline at the moment. Specifically, importing Tiled (.tmx) tilemaps is having issues due to how external references are built when importing and processing tilemap data.

I have addressed some of these concerns in a thread in the MonoGame Discord, but i find myself at a crossroads here. The tilemap system in MonoGame.Extended is getting a complete overhaul, which will include refactoring how content assets are imported through the content pipeline. So this issue will naturally be address as part of that work.

The alternative would be to spend time patching the current Tiled implementation to work with ContentBuilder, which will be replaced soon anyway with the new system. After weighing the options, I believe my time is better spent focusing on the tilemap overhaul rather than applying temporary patches to a system that is being replaced.

If this is a pressing issue for your project, I encourage the community to work on a solution. If the issue remains unresolved by the time MonoGame 3.8.5 comes out of preview, users should still be able to use the MGCB Editor to import Tiled (.tmx) files specifically, as the MGCB Editor itself is not going away.

Looking Ahead

The next couple of months will be focused on completing the tilemap system overhaul. This area is one of the most requested and used features in MonoGame.Extended, and I am commit to delivering a solid implementation.

As always, if you have any questions or concerns, please let me know in the comments below or reach out on the MonoGame.Extended Discord. Thank you all for your patience and continue support of this project.

- ❤️ Chris Whitley (AristurtleDev)