I don't think there would be enough gain when it comes to performance and requirements, when compared to the loss of "easiness" XNA provides. And there is a lot that XNA does for you, and/or makes easier to code/manage.
Very true. Played around with XNA in its earlier incarnations and compared it to just using C# and DirectX straight. There's a lot nice features XNA provides at the higher end, but sometimes it can be a bit heavy handed. Making a simple 3D cube using XNA framework in comparison to straight DirectX is one such situation. Getting a pure 2D display to work in is another bit that XNA can make difficult. Most 2D games in XNA typically are 2D via 3D.
I mean, it's not like UR is in some way heavy on CPU or GPU. I'm running it on netbook, in 1920x1080. It's pretty much all I can ever ask for.
Of course. But there are more technical requirements that XNA can put forth. Such as requiring a graphics card with a particular version of shader support, etc. Not too much of a an issue for your average Windows gamer, but might be annoying some. There's a lot of graphics card features that UnderRail won't use, but XNA will turn on or demand by default.
About compability - using direct DirectX would probably allow you to run UR on Linux, under Wine. And... as far as I know, that's about it?
XNA is basically a framework of frontend libraries that encapsulates a bunch of DirectX API calls. Not having to involve the XNA libraries would give Linux and Wine a fair chance. You could then make a leaned down display initialization that'd keep the display feature requirements low and optimize the render. Also later portability would be much easier, since DirectX API structure is similar (not the same by any stretch) to OpenGL's API structure. Also, it'd help break out of any proprietary formats that XNA likes.
But... I'm not on the front lines of development for this project. Just more or less curious as to why one developers does it one way or does it another, since I thinking of endeavoring on a project in the future.