MonoGame

MonoGame is going strong

Oliver Brown
— This upcoming video may not be available to view yet.

When I recently started looking at getting Gravitas working again with MonoGame, I was concerned about whether MonoGame was still maintained. After all, I first got Gravitas working in MonoGame 14 years ago.

Apparently, not only is it still maintained, but I honestly think it is doing better now than when I first paid attention to it. So this is me doing my part to demonstrate continued community interest where I can.

What’s happening now

MonoGame is backed by the MonoGame Foundation, which keeps the project going as a community-governed open source effort rather than relying on a single corporate sponsor.

More recently, the team launched MonoGame Hub, a new tool primarily to “accelerate the creation of MonoGame projects” while also providing access to news, tutorials, and community resources.

There is also a YouTube channel with regular livestreamed coding sessions that are worth checking out if you want to see the framework in action.

Showcase

Interacting with this video is done so under the Terms of Service of YouTube
View this video directly on YouTube

MonoGame does not have the recognition of the bigger engines, even the ones often associated with indie development like Unity or Godot. But it has been used to build a remarkable number of well-known games.

The showcase includes titles like Celeste, Stardew Valley, Fez, Streets of Rage 4, Bastion, and Carrion.

And of course, it is being used in the continued development of Gravitas.

Gravitas updated to .NET 10 and MonoGame 3.8.5

Oliver Brown
— This upcoming video may not be available to view yet.
Interacting with this video is done so under the Terms of Service of YouTube
View this video directly on YouTube

Gravitas is a gravity-simulating space game I originally released on Xbox Live Indie Games, and developed using XNA.

Nearly six years ago I spent a few hours porting the game to MonoGame, but never took it further.

I recently decided to try and revive it, again. This time it took less than an hour to update it to MonoGame 3.8.5 and .NET 10.

As a small aside, my day job is mainly as an iOS developer. I’ve spent a lot of time working on CI and doing a lot of work to optimize the build time. Every job I’ve done that has involved mobile development has had problems with slow build times - that’s why things like hot reload and previews are so important.

A clean build of Gravitas on my Mac takes just two seconds.

Things to do

Before I can actually release it, there are some things I need to do.

Some issues are either because of the XNA to MonoGame porting, or just evolution in MonoGame:

  • Broken match options screen.
  • Weird duplicate UI in game.

Some issues that were in the original release that I always wanted to deal with:

  • Camera zooms in and out too quickly.
  • Some text hangs off the screen.
  • Some scoring glitches - you can get a double kill when the second kill is a suicide.

There are practical considerations about releasing it on more than just an Xbox:

  • Fix keyboard control.
  • Implement touch control.
  • Where to actually release it?

I also need to use some better fonts.