Monogame Status and Community Perception

Dear @admins and @moderators,

I’m sorry to ping in this communication, but I feel this may be the best way to reach you. A few weeks ago, I reached out through official channels using the admin@monogame.net email, but have been met with no response. So I feel at this point, maybe the best way to reach out is with a community post here where other community members can also add to the conversation.

Quick Background

Please know that this discussion is coming from a place of love for the MonoGame framework. I started using MonoGame several years ago and immediately felt right at home. Over time, I started writing tutorials for others in a different community I’m involved in, specifically for those that were wanting to dip their toes into MonoGame coming from Unity. I have developed extensions for the MGCB editor that is used by others. Over the better part of the past year, I have invested more sociably within the community forums here as well as on the official MonoGame discord. I provide guidance and help on questions that are asked by users when I’m able to, mostly on the discord side. I have also been using the donation system monthly for a few years to give back to the project as a way of showing my support.

I say all this not as a brag or an ego, but to hopefully give some weight to the conversation and dialog I would like to open with the admins and maintainers and project leaders of the framework.

The Perception Issue

There are times within the community discussion that the question is asked “Is MonoGame dead?”. These types of questions are generally met with the same response, “Official releases take time”, or “Don’t judge a framework by update frequency, but rather by community activity”. Both quotes can be found in a recent forum discussion. One response in the linked thread in particular kind of hits the nail on the head. To quote from @SimonDarksideJ

“I agree, things could be a little more active but the team are working hard behind the scenes to improve momentum, however, remember, MonoGame is completely open source, no one gets paid to develop this stuff and if you are truly frustrated, just FORK the project and make the change yourself and see how it goes”

Outside of the community forums, there is also the discussion on the official discord. Here is a link to one of the more recent discussions. This user specifically stated

“I have been browsing this discord for a bit and now I am confused: it seems like a lot of people in here advise against using MonoGame these days and all sorts of other things are recommended. Is it just not a good idea to use MG for any new projects? Is it deeply flawed?”* (reference: Discord).

I would suggest taking a moment to view this question and some responses that come after to get an idea of how these conversations go.

Then there are other issues with community perception. To name a couple, PRs sometimes take a while to be reviewed and or merged. Sometimes even the maintainers do not have the user privileges to continue contributing to PRs. For example, here is one of my PRs which does a simple fix for including the missing XML documentation in the NuGet packages. It has been code reviewed and approved, just waiting on maintainers to push it through.

Another example is a different PR of mine, which fails due an issue with the GitHub actions, yet one of the maintainers (@CartBlanche ) does not have the repository rights to look into resolving the issue. To quote from his comment on the PR

@SimonDarksideJ, @tomspilman : I don’t have enough repo rights to kick off the build for that particular platform. Until Tom gives me that, I won’t be able to, I don’t think.

I, and many others, appreciate the work that has been done. However, it is disheartening to see the community discourse both on the forums and the discord sum things up to “just fork it and implement it yourself”.

Many new people coming into MonoGame are doing so from other engines such as Unity and Unreal, where they may not be as familiar with the concepts of judging how active the GitHub repo is based on PR’s merged and closed, seeing the Milestones in the repo, or looking into the Projects page listed in the Repo. All they see is the Release page showing the latest release (as of this post) was July 26, 2022, over a year ago.

And even if they were to look into how active it is based on PRs and Issues, that doesn’t tell much of a story either. The last PR to merge into the develop branch was on May 7th, 2023. Currently there are 107 PRs waiting to be reviewed and merged or closed. There are also 718 open issue, 164 of which have zero comments or communications, with the oldest dating back to 2012.

Let me be clear, I 100% understand that the admins and maintainers of MonoGame are real people, with a life, jobs, families, and other responsibilities. Working on MonoGame is not something that you are getting paid for as if it were a job with a salary and you have other obligations that take priority. Updates and official releases take time. I understand this and many others do too, but the general perception from a community standpoint is that MonoGame seems stagnated and often the more vocal members in the discord community do recommend using other frameworks and/or libraries instead.

As I am not a part of the administration team or MonoGame in any official capacity, I do not know what internal standard practices may be in place for directly communicating with the community and users who are considering using MonoGame. However, as a user of the framework, and someone who frequents the forums and the discord on a daily basis to offer help where I can, I can see from the “Last Seen” status of the admins and moderators shows that the majority haven’t been on the forums (at least logged in) in quite some time, and I very very rarely, if at all, see any direct communication from maintainers and admins on the discord.

So What Am I Saying?

With all of this said, I would like to offer some suggestions to help with the community perception for both new and existing users of the state of MonoGame.

  • A Monthly newsletter of some type. Either through an official email newsletter service or under the News category here on the official community forums. As @SimonDarksideJ mentioned in the previous quote "…the team are working hard behind the scenes to improve momentum…".. What is this work being done and could it be provided in a monthly communique that existing users and new users can see?

  • If possible, to correlate with the monthly newsletter mentioned above, maybe have a general meeting if possible, where maintainers look over existing PRs and submitted issues and provide responses to them. I realize that maintainers are spread across the globe and coordinating something like this would take a greater amount of effort than it may seem worth. However the lack of communication on PRs made by community members and not ones made by maintainers is clear. Some have even closed their PRs all together due to lack of update or review after it’s sat there for a while.

Regardless of the suggestions I’ve made above, I think the consensus is just more official and recurring communication as to the development of MonoGame behind the scenes in a way that can be easily communicated for current and potential new users to find and see. Even if it’s something like statistics of PRs submitted and merged over the past month and what future features are being worked on and developed and their current status.

I am open to having more discussion about this if needed and am willing to help play any part in this if needed to foster better communication with the community on such things. Regardless, I hope all is well with the admins and maintainers of this community and I really do appreciate all the work that has been put into this project over the years.

Thank you for your time,
Chris Whitley (AristurtleDev)

14 Likes

I will admit I just skimmed through but I think I got general idea.

Basically you are asking team working on open source project that is not getting and was never getting reasonable compensation to “do more work”. I mean… even read this feels like work, at least it is objectively time consuming.

Issue with MG isn’t that maintainers didn’t do enough work to get original idea to pretty good state (monthly scheduled communication absolutely counts as work), they definitely did! However original idea of nearly drop in replacement for framework from 2010 is problematic part in 2023 especially considering all advancements.

As of right now MG is usable, can’t be dead, it’s usable. Due to underlying goal it will however lose “market share” over time, it’s inevitable. From that perspective and from where I stand I am not sure if it is reasonable to ask them to “sink more time into it”. Especially considering that ,as far as I know, career of some of them (if not all) is doing absolutely amazingly (Tom: big, BIG, BIG congrats).

Hence only valid answer to “Is it dead?” is: “Nope, since you can use it without issue”.

When you look at current situation, with engine and frameworks and wrappers… ask yourself, what would be reasonable direction for MG to go? Last large merge I would recommend is compute fork, however as a fork it work just as well and getting it merged would be hell because of consoles.

If Monogame maintainer team indeed want to actively keep pushing this forward then I of course wish them the best of luck. However I don’t see issue with tagging MG as “complete”. Planned future of MG 5.0, which was imho the most reasonable path, could use new name anyway.

I think you’re either getting the wrong impression, or missed my discussion topic entirely just by skimming through it. Of course, what I’m asking can be reduced down to “please maintainers do more work”, but there are several community members, including myself, that have done that “more work”. And our “more work” just sits in a PR limbo.

Since you skimmed, I’ll point out a specific limbo example you may have missed. @CartBlanche needs the permissions from @Tom in order to resolve an issue. The funny thing about this is I only created this PR because

Another PR limbo is this simple one that adds the XML intellesense back to the NuGet packages. The issue here, if you read through it, is I only opened this because Sky was tired of theirs sitting in limbo and just closed their PR.

My contributions may not be something major like a compute fork, or anything on the level of nKast’s work on KNI, but there are basic fundemental issues with the communication from maintainers.

I agree, it’s usable, but it does have minor annoyances and bugs that have been fixed in PRs that, again, are just sitting in limbo. Like how DesktopGL doesn’t respect user icons. Again, another PR sitting in limbo.

But you can’t use it without issue. Take the perspective of a user migrating to the new version, so you read the migration documentation… Guess what it tells you? It tells you to install the dotnet tools as global which is no longer how it works. The documentation is updated, but it’s sitting in limbo waiting to be pushed to the actual site. This is actually an extremely common scenario with users on discord that is answered almost daily because they install it as a global tool.

So no, new users cannot use it without issue because even the documentation that has already been updated is sitting in limbo and hasn’t been pushed to the website.

There are other example I could give, but i’ll digress since reading this will be work and you’ll skim it as well. So i’ll end it with this quote from you again

There are many in the community already doing the work and our work is just sitting in limbo. Many of us that contribute both through PRs as well as financial backing over many years like myself. Sure, I don’t donate enough to fund a dedicated developer’s salary, but watching community members contributions sit in limbo is frustrating.

All I’m asking for is more communication from the maintainers. Talk to us, talk to the community, let us know what is going on.

8 Likes

@Aristurtle I fully agree with you, and to sum it up, my take on this is that MonoGame, the framework is perfectly usable as of today. What is broken is the ecosystem that surrounds MonoGame, that is the whole pipeline of submitting errors and PRs, having regular updates, have a minimum of public relations, etc.

The framework might be enough if you’re already an expert on monogame, or if you need console support and you have to bite the bullet, or you’re just learning and want to do some small project casually.

But the ecosystem is critical if you want to enter MonoGame as an investment , that is, expending your time to fully learn the framework in order to use it as your engine of choice for your present and future projects, in which case it is more than possible you encounter a critical bug you need to have fixed, or you need a must have new feature, and the answer is “fork and fix it yourself”

And that leads me to my conclusion: If, as of now, bug fixing and new features must be added by every developer, on their own, in their fork, it means MonoGame is no longer a colaborative project. The point of open projects is that you contribute your bugfixes for stuff you fix, while other developers do the same, so we all benefit from each other PRs. That’s no longer the case for MonoGame, which means a newcomer must realize the current state of the project is equivalent as if the whole repository would be archived .

7 Likes

Hi all, first I want to thank you for all the hard work on this framework.

That is pretty much the perception I have as a newcomer to Monogame. Also a quick search in the Gamedev related reddit show posts that give also that perception such as this one. Is monogame worth learning?

I share the same concerns as the OP after looking through the repo, thank you for the post.

Hopefully we can get a glimpse on the future of the framework.

5 Likes

We’re working on a announcement to hopefully dispel many of the concerns and acknowledge them.

12 Likes

Thats fantastic to hear. Thank you so much.

2 Likes

This is great news indeed. The topics of discussion in this thread have been also been concerns of mine over the last year I have been utilizing MonoGame.

Personally, I am just hoping for increased transparency on what is happening with MonoGame behind the scenes. I was excited when I first chose MonoGame a year ago to see the 3.8.1.303 release as it signified that the library was being kept current. I’ve definitely had some concerns since then that the framework itself may fall into a state of being outdated.

I am curious what initiatives are in the works or what we as a community can do to help MonoGame be the strongest it can be. Thank you all for the hard work you do put in behind the scenes even though it may not go noticed.

James

2 Likes

Hi, new here. Honestly MG is a breath of fresh air compared to some other platforms. I’ve been a .net developer for over 20 years, and only recently got into trying my hand at making games, though over the years I’ve poked around at various platforms. Even though I didn’t really get into it, I was sad to hear when xna was being sunsetted by MS. Fast forward to now and I find MG intuitive, and I get to write game code in my most familiar language. It also doesn’t get in your way like Unity. I hated Unity fwiw. Too in your face, too much cruft, etc. for what I like to do (retro-style 2d games). Anyway, thanks for all the hard work and keeping this ship afloat. I appreciate it!

4 Likes

My concerns are less… intense, than some, since major updates tend to provide me more in the way of hassle than benefit. I compile MonoGame from slightly-modified source and am pretty sure NuGet was concieved in one of the lower circles of hell. So I don’t mind updates being spaced out.

With that said, I have been keenly awaiting 3.9 and the integration of the compute fork. That functionality will make a world of difference to what MonoGame is capable of, and a world of difference to me specifically.

Separately, I so have some concern that some bits of MonoGame inherited from XNA 4 are… outdated, let’s say.

SpriteFont is an obvious one: I switched to FontStashSharp and am never going back. I don’t consider localization to be even remotely feasible with the default SpriteFont implementation.

There’s also the xnb Content Pipeline, which manages to be simultaneously overcomplicated (I found trying to build content at runtime, for example, to be very involved) and limiting (I can’t procedurally edit mesh geometry in a content processor. That’s what content processors are for).

And there’s BasicEffect: I’ve never quite been sure if it’s supposed to be used in our games, or if it’s there more as an example to follow when you start writing your own effect library. If it is supposed to be used, it really needs to come with a few more complex variants.

4 Likes

As someone who’s pretty familiar to MonoGame, I find it very hard to get people to use this framework over something like Raylib. the biggest urk to me is the lack of good Documentation/Updated API that make it unclear to what certain modules/namespaces with confusing or no documentation whatsoever. And Raylib I heard as far as community and ease of access is something I wish MonoGame had.

This isn’t to knock anyone’s hard work, but there’s also this really weird pattern I see where people are constantly adding stuff that’s already been done before for some reason and don’t… bother getting updated. Legit, there’s probably about 4-5 extensions/helpers on Github that don’t even work/haven’t been updated in forever.

I love MonoGame, but like the original OP, I can’t just sit back and ignore how MG’s PR, issue fixes and updates on latest releases are almost nonexistent. From the outside looking in, it looks (not actually) that the project is dead to most people trying to get into MG.

2 Likes

Alright… where’s this announcement?

1 Like
2 Likes

All questions are answered by the recent news post linked by @Kayhen above. Consider this closed

:partying_face:

4 Likes