Duck Game [Official Site] is a popular action game that's a little insane and it's actually possible to run it on Linux, thanks to developer "0x0ade".
We spoke over email to explain the situation and it's really quite interesting. To make it as simple to understand as I can: It uses the XnaToFna project, which essentially "relinks" the game from Microsoft's XNA to Ethan Lee's FNA.
Direct Link
You can find the full instructions on how to do it, on this github page. You obviously need to own a copy of Duck Game to do this.
It doesn't currently work with mods, as the developer said "From what I understand, mods are built against XNA and could contain Windows-limited hacks, f.e. hardcoded \ in paths instead of using C#'s Path.Combine function". They hope to be able to get some mods running in future though.
The developer told me that both XnaToFna and DuckGame-Linux are done in their free time. Also, XnaToFna was started originally as an effort to see how accurate FNA is and to hopefully get more games on Linux. They do need some help, in particular they need more people to test it and report back. It will be interesting to see if more people chip in and help develop XnaToFna.
Hopefully someone at Adult Swim Games or the developer, Landon Podbielski, will take notice and get a proper port going. Sure would be fun to have on Linux, but they never replied to game porter Ethan Lee when he asked about it before.
I really liked that , and if I remember correctly it was built on MS XNA
Quoting: Purple Puddinghey, maybe someone can try this with "Cthulhu saves the word"? It seems a XNA game too and I want to play it! steam forum thread about possible linux version
Ethan Lee already tried CStW and a few other games a long time ago with very early builds of XnaToFna. CStW required a single FNA-side change to fix windowing:
You should be able to follow the DuckGame-Linux instructions.
MonoMod can possibly fail but will do nothing. The DuckGame.Mod.mm.dll only affects DuckGame.exe :)
As for the Steam.dll / Steamworks.NET, it shouldn't cause any conflicts, but I don't know what Steamworks binding CStW uses. If it's SW.NET, this should work out of the box.
You then just need to modify the DuckGame.sh to run the CStW .exe instead of DuckGame.exe.
If it doesn't work, please tell me on Twitter, I'll be happy to help! Even though I don't own the game, if something burns down, I can still help. @0x0ade
Quoting: Purple Library GuyI gather then that XNA is some kind of framework or engine-ish thing that helps with writing games, which being Microsoft (ritually spits on ground) is Windows-only?
Yes, XNA is a C# game framework. It's not comparable to a fully fledged engine like Unity, but offers most basics (content management, input, graphics, audio, ...). And you got it, it's Xbox 360 - and Windows-only (technically also supports Windows Phone)... and not supported by Microsoft anymore.
FNA is an accurate open-source reimplementation of XNA 4.0 by Ethan Lee. It spawned as a MonoGame fork using SDL2 instead of OpenTK, but the paths have diverged heavily ever since. For example, FNA uses MojoShader to deal with HLSL (DirectX shaders) at runtime; with MonoGame, you've got a content pipeline separated from XNA Game Studio. In my opinion, the situation can be summarized as "FNA = XNA 4.0, MonoGame = XNA 5.0"
Quoting: Sir_DiealotAFAIR Banished and Dust: An Elysian Tail were done in XNA, but isn't it dead since a few years?
Owlboy is another game using XNA and it was released last year.
Although one really shouldn't use XNA for new games if you can avoid it, the Owlboy developers started out with XNA and switching to f.e. Unity so late was impossible.
XNA itself is not actively maintained anymore, but you can still use it on Windows 8+, just not in "Modern UI apps." And projects like MonoGame and FNA will keep the "spirit" of "XNA" alive.
Something that's not looked at often enough is preservation. If XNA will not work on Windows in the future at all, FNA will help us get old games running again. And as XBLIG is dead in a week, MonoGame could help the developer in bringing the game to Xbox One.
See more from me