So today, I went a bit crazy and decided to try to port Puzzle Path to Mono, which is an open, cross-platform implementation of C#.
After many hours of frustration and discovery, which included cloning three other Git repositories, compiling SDL2, and doing all sorts of horribly messy hacks, I got the game to "run", which really means that it didn't immediately crash upon startup.
There are tons of caveats, though:
Unfortunately, I couldn't get the Reactive Extensions to work with Mono 2.10, so anything that is input-related is commented out, which means that you can't really get past the main menu :\ I know that Mono 3 has System.Reactive stuff built-in though, so there's still some hope of getting that working in the future.
I didn't compile SDL2_mixer, so there's no sound for now. Due to this, the game also crashes upon clicking the close button as it tries to call some sort of Close_Sound() function.
MonoGame hasn't implemented the content pipeline yet, so you'll have to build the .xnb files in Visual Studio and then copy the Content folder into the build directory, which is really annoying.
I just threw the SDL2 library (the .so file) into the build directory, which isn't what you're supposed to do at all.
I didn't push a branch of this to my fork yet because it's the biggest pile of spaghetti ever, and I'm also not sure when I'm going to come back to this to work on it some more. I just wanted to see if this is possible at all, and I guess it is :)
You can have a screenshot though! :) All those projects in the solution, ugh...
This issue is definitely of low priority, but it's something that I had in mind, so :p If I work more on this, I'll post updates as I go.
So today, I went a bit crazy and decided to try to port Puzzle Path to Mono, which is an open, cross-platform implementation of C#.
After many hours of frustration and discovery, which included cloning three other Git repositories, compiling SDL2, and doing all sorts of horribly messy hacks, I got the game to "run", which really means that it didn't immediately crash upon startup.
There are tons of caveats, though:
I didn't push a branch of this to my fork yet because it's the biggest pile of spaghetti ever, and I'm also not sure when I'm going to come back to this to work on it some more. I just wanted to see if this is possible at all, and I guess it is :)
You can have a screenshot though! :) All those projects in the solution, ugh...
This issue is definitely of low priority, but it's something that I had in mind, so :p If I work more on this, I'll post updates as I go.