Future of MonoGame

What does the future look like for MonoGame?

1 Like

If I were an optimist the future would look nice, specially with the PRs like the ShaderConductor (ditching the terrible MojoShader), work with the PBR models or the Compute shaders (plus Geometry, Hull, …)
But I’m not an optimist. The abandonment of the project is total. I mean, the near history is 4 commits in 4 months (all of them being a few lines long). It’s been 18 months to release 3.8.1 (a small maintenance release that is blocking those really good PRs). The few new PRs that are sent are completely ignored and I know people that hasn’t been sending PRs because “it’s just a waste of time”. iOS support will be soon a thing of the past because some day Apple will decide to really deprecate OpenGL. I don’t know how the future looks, but the present looks quite disheartening.
It’s still my favourite framework to make games with, but lately it’s been so hard to keep working with it.

1 Like

The future is as boring as it gets which is what I like about MonoGame and FNA. There are big plans for when we move past the XNA API but it’s unclear when or if that ever happens.

If you want to check another project with potential, there’s https://github.com/bottlenoselabs/katabasis It’s a fork from FNA with a lot of stuff removed. It spawned from the MonoGame.Extended project.

You can check the docs/dev/ folder for @LithiumToast’s notes.

2 Likes

monogame is still the best option for me for what I want to do (2D games).

What worries me though is it still cannot run in a browser. I entered a game Jam in january with 120 entries and almost all were unity or renpy which required no download. Only 8 people (from the hundreds of judges as the entrants were the judges) downloaded and rated my effort.
It didn’t seemed to be because of security concerns either - they just wouldn’t take the trouble to download and install.

The official efforts to replace the bridge.net capability seems to be dead in the water but there is real hope of a path forward with what @nkast is doing here:
https://github.com/nkast/WebGLxnaProj

2 Likes

Hey thanks for the shoutout. It’s all very much in progress. I’m still trying to navigate this space and have a clear upgrade path for people; something like MonoGame → FNA → Katabasis. I’m pretty close right now to getting all the C dependencies of FNA auto-generated bindings for C# which would make switching off FNA in the future very much a possibility within reach.

3 Likes

Interesting discussion. @harry-cpp @Tom any thoughts?

1 Like

The future is what the community makes of it.

The problem like most open source is the community depends on just a few people to do the work.

Myself, @Jjagg, @harry-cpp are all super busy these days and few others have stepped up to help push things forward. We have lots of ideas and plans on where to go, but not much time to move things forward myself at the moment (working on that).

@mrhelmut has been helping a ton with console stuff and we’re coordinating on what to do in 3.9 and beyond.

@CartBlanche and i started setting up a Patreon a couple years ago, but we never finished it. The hope was to get some funding to help one or two of us to be able to afford full time work on MG, but it never materialized.

The great news is C# is still a fantastic language with a big future in game development. We support all the console platforms and mobile platforms that matter. We could support more if more people helped contribute (dropping an unannounced PR that adds your pet feature isn’t really a good way to contribute).

I have no plans to stop supporting MG and i think it continues to be a good solution for teams that want full control over their tech and tools.

Tom

16 Likes

All this reminded me of how i got started in MG:

I reached out via the old Codeplex forums to see if it was ok to submit some Windows fixes and do a DX11 port for Windows 8 support.

6 Likes

Thanks, Tom, both for your reply and your efforts over the years.

What are your current thoughts on Patreon for MonoGame?

I think we should just do it and not worry if it will work or not.

@CartBlanche @mrhelmut @Jjagg @harry-cpp ?

I had originally written a script and started producing a video for it… but that never got finished. We should just punt on that and just finish it out.

No fancy rewards other than just helping direct some development focus and the big reward… having more MG updates.

13 Likes

Thanks for the replies.

I’ll check out how to help contribute. I love this project. I see there’s some good starting points like initial contributions needs too.

A bunch of discussions have been going on among the admins and some power-users, as well as discussing with the FNA team to continue levering C# for game development.

We have a pretty clear vision of where we would like to suggest MonoGame to go. I have been working on a post to expose this, but following discussions on the console discord, I realize that we would also need a comprehensive list of tasks up for grab to contributors.

I have furtively explained on the github that the current deceleration is mostly due to the admins being overbooked with console support, but we do have plans and the key to it will be to post this roadmap with a call to participate and github task lists.

A Patreon would indeed help leveraging this. Among the future plans, there are very big work such as implementing Vulkan, DirectX 12, and Metal targets, as well as refactoring the code base into separating the high level C# stuff from all the actual implementations (à la FNA3D). These are really big and complex to undertake as a community unless someone takes a big chunk for themselves. A Patreon and the current donations may help setting up bounties to encourage taking those big chunks.

12 Likes

I would like to be able to contribute directly but I think it is very difficult to build enough knowledge about how things work to be able to do this. But even then I could probably hardly contribute because I am very busy most of the time.

I hope I can provide at least some useful stuff for the community. That’s why I published a bash script which does the MonoGame installation on Linux unattended and it also does everything so that content compilation works right out of the box especially effects / shader and spritefonts with windows fonts which aren’t natively available on linux using tt-mscorefonts.

Another project of mine published a while ago is another script which is helpful to setup a visual studio solution with projects for different platforms which I use everytime now myself because it is quick and easy. Of course the better way to to this is creating dotnet templates but until I became aware of this the script was already there and working very good. It generates a visual studio solution with a dotnet standard library for the code and as default a windowsdx, desktopgl and android project. Everything tested under Windows 11 with visual studio 2022. Only thing I have to do, is adding the Android project to the solution myself. Shared content is available and also if wanted additional content for Android only.
It also comes with a small demo that clears the background depending on which platform the game is running and which graphics backend is used and a little animation to demo how to use a vertex buffer, index buffer and custom effects / shaders).
If I find time I can record some up to date video for this. The bash script works on windows (using the console which comes with the git installation) and linux.

Oh and of course thanks to the people that do the work on advancing and improving MonoGame!

5 Likes

Just FYI, some of the FNA folks have been experimenting with Vulkan first and only API that feels similiar to XNA. This would also be in sphere of influence when considering what the future looks like along the lines of XNA hertiage. You can learn more here: Releases - Refresh - Moonside Games Gitea

but what about all the platforms and consoles? i don’t see katabasis’s list of platforms…

Monogame is great!
The only thing I miss is the possibility of making releases for the Web, and today it is essential to be able to publish WASM prototypes, it is the only way for people to play your game without having to do a super advertising campaign to get it (even if its free)

PS: Please set patreon I can contribute

2 Likes

Not a user of Patreon yet, never really considered it, for anyone looking to support MG:

Donate | MonoGame

My issue is helping to develop MG is not clear, my skills are using my paid for references [books] to learn to use MG, there are a lot of things I learned, and I am currently learning Databases, I could write code for that when I get it working, but, how would I ‘by the rules’ add it to MG? this is my roadblock to helping with MG really, and also my still learning skillset.

Remember to donate folks!

1 Like

Blockquote
Among the future plans, there are very big work such as implementing Vulkan, DirectX 12, and Metal targets,

Thanks for bringing this up. In your opinion, is there a prioritization?
Vulkan/DX12 seem pretty neat for long term progression. Metal though seems a bit urgent given iOS mandates from years ago to move out of OpenGL.

For a newbie, are tests etc good place to start? Just to understand how the PR/review process etc is.

1 Like

Welcome Mindful.

I hope it remains active. I do my part by donating. I really don’t have the time to really contribute much besides that to the community although I do answer the odd question.

I’m pretty happy with where its at for now. As long as can release my game to a few platforms when its finally finished that’s all I need.

I’m not sure what I’d really want in a future release. I feel that I’m not going to compete with £70 AAA+ game with a budget of millions and team of 100+ people on it so I don’t really need to be able to access any new shiney stuff like RTX stuff anyway. Games made using MG and DX11 can look pretty nice anyway.

3 Likes

I’m fairly happy with Monogame as is and deeply appreciate all of the work that has been done for it. Just maintaining a presence and being supported by platforms is what keeps it alive - Console support is likely very difficult, so it’s going to take away from furthering the framework overall. No problem, there’s only so much time in a day.

My only feature request at this point would be a content processor + loader for text files as xnb :slight_smile: but I can live without it until they have time for something like that