About a year ago, I posted this thread in codeplex detailing my attempts to port my game, DwarfCorp from XNA to Monogame for Linux + Mac support, with, erm… extremely underwhelming results. I think the consensus was to “wait a while” for a new SDL version of MonoGame, so I’ve been just developing in XNA ever since. I’ve noticed a new release as recently as April, so I was wondering if it was worth it to take another shot?
To reiterate: my game is full-3D, desktop-targeted, makes extensive use of custom shaders, uses JSON serialization, etc. so not the typical 2D mobile sprite-batch based game MonoGame tutorials are usually about.
Just to reiterate, some of the frustrations I was having with MonoGame a year ago were:
Really bad windowing support on Linux
No support at all for compressed audio (“Songs”) on Linux or Mac
Very limited support for custom shaders (and in general tons of limitations from OpenTK)
Really complicated content pipeline setup
I was wondering if these issues have been resolved yet? And, if so, is there any updated documentation anywhere for porting a game from XNA to Linx/Mac OSX?
thefiddler (OpenTK maintainer) is working on fixing windowed/fullscreen in monogame non SDL2 version as well.
SDL2 version supports compressed audio on all platforms via libvorbis (ogg) IIRC.
Main branch uses SDL(1?) to play music on linux, so should support whatever your install does, Mac supports AAC audio.
These should be a bit better (I’ve seen some PRs improving minor bits), but I’m not totally sure on this one.
Sweet. I’ve gotten the samples to work on the Windows GL build and Linux build. Question: can I continue building on windows and then copy the contents of my Linux build folder to linux and it will automatically work? (Assuming of course I have the proper dependencies)
This is what my game looks like right now in monogame SDL on Windows. I had to change many of the things I changed last year : instancing doesn’t work, some shader features like texcube don’t work, etc. but it was much easier to track them down and change them this time. I will now try porting to Linux.
Well, there we go! It runs maybe 100x slower on this ancient mac book, but it at least does run! I will have to figure out how to profile it on mac to figure out why its so bad.