For today's article I spoke to Ethan Lee, developer of FNA and who has ported something around 40+ titles to Linux. He also recently helped get Dust: An Elysian Tail ported to the Nintendo Switch and so he certainly knows his stuff.
As a reminder, you can see my initial thoughts about it all here. I did speak to game porters Feral Interactive in that article, although they only gave one line about plans not changing (which is good to know). Aspyr Media didn’t give a public comment for it and Virtual Programming still aren’t replying to our emails.
If you missed it, you can also see our interview with the creator of DXVK, one of the projects that makes up Steam Play. Again, this article was supposed to be part of a larger one, but given Ethan Lee's thoughts here (and all the work he's done for Linux gaming) I felt it deserved an article by itself.
I was going to ask Ethan Lee a bunch of questions, but honestly I think what he had to say right away was more than interesting enough, have a read:
EL: “Proton started making improvements to FAudio before it was publicly available, so in effect Proton has been making contributions to FNA for months now. A lot of Andrew Eikum's accuracy fixes helped while I was working on Dust Switch, and since Proton's release a lot more people are paying attention to FNA in general. FNA has largely been ignored until now, where people suddenly realized what I'd been up to for half a decade thanks to a Windows compat layer. Whether or not it affects future games I dunno, but it sure is helping with the current ones.
The last 6 or so years of my career have been on FNA and a lot of that was motivated by getting the back catalog fixed. XnaToFna was one example of myself and Maik Macho bringing it over to Linux by force. It's taken a lot of me intervening in how the XNA catalog has decided to willingly kill itself, and more and more I'm finding I have to do it by force because people just don't care about their own work anymore and won't do an FNA version, no matter how cheap it is to do and no matter how important it is for long-term preservation. A lot of recent news has big publishers and developers in the spotlight over this problem, but I can confirm that indies are really shitty about it too.
Proton is a lot like XnaToFna in my eyes, though with aging AAA games there's at least the reason that even old AAA games are extremely complex programs that few even remember how to work with. Compared to working with the XNA scene lately, Proton looks a lot less depressing. Valve doesn't like to intervene in their own ecosystem, but Proton is the ultimate intervention and I really like it a lot. I've spent a sizable portion of my career getting laughed at by developers when I tell them to take their back catalog seriously, and even customers look at me funny when they see that my AAA contract wishlist is a bunch of old-but-feasible-to-port games. Think of it as the PC version of console vendors' outright refusal to keep their catalog preserved and having to depend on a bunch of ROM archivists and emulator devs to do it for them.
It also comes at a really good time for me because FNA (as of 18.10) is at the point where I think I've essentially solved the XNA problem as best as anyone can do, to the point where all I have left is console/mobile versions and I haven't enjoyed doing that at all so far (other than minor ego boosts when you see your name in a Nintendo trailer, and that's not a healthy motivator). Since FAudio is looking to be a part of all this anyhow, and with all the problems they seem to be having with C# stuff as well, I would really like to spend the time that used to be on FNA and maybe try to work as an official Proton developer, if somebody lets me do that. I would still work on FNA games and do Linux games as usual, but you'd be surprised how much of my time over the years was just working on FNA by itself. Proton seems like it would be a good next step to get me back on Linux games 100%, back into my hacking/modding roots, and maybe have some fun in my life again.
Well, fun in my work life at least. Playing through old Windows games on my Bill's Hat machine with the missus after abandoning them alongside Windows 8+ years ago has been pretty fun.”
It’s very interesting to hear that Ethan Lee is looking into Proton work, hopefully he can jump in at the deep end with Valve like the creator of DXVK has. He certainly has the credentials needed for such a task.
This is something I honestly didn't even think about enough, how other people involved in the Linux gaming scene can get involved in it directly to improve it further. It all depends how deep Valve wants to dig into their pockets to push it forwards. We know that more cooks doesn't always result in a better meal, but a few more developers working on specific parts of Proton could really push it further.
And for that matter, at least in cases where the stuff isn't obsolete, presumably that middleware would become available to future cross-platform game development, making it easier to develop cross-platform in the first place. Multiple wins.
This probably seems obvious to many, but it had never occurred to me before--this article has enlightened me.
Last edited by Purple Library Guy on 12 September 2018 at 4:01 pm UTC
Quoting: thykrMy thoughts exactly! Is Valve aware of him? If not, someone need to bring these guys together asap!QuoteI would really like to spend the time that used to be on FNA and maybe try to work as an official Proton developer, if somebody lets me do that.
You heard that Valve? HIRE THIS MAN NOW!
Quoting: DrMcCoyQuoteI've spent a sizable portion of my career getting laughed at by developers when I tell them to take their back catalog seriously, and even customers look at me funny when they see that my AAA contract wishlist is a bunch of old-but-feasible-to-port games
I can really relate to that. I get the same looks when I talk to people about my work for ScummVM, and more recently, xoreos.
Yes, I care about the weird adventure games of an obscure French studio, thank you very much. I care about the that overlooked horror game with art by HR Giger. I care about d20 RPG games. And I wonder why so few do. They're part of our history, our culture, and it would be a shame if they were forgotten.
T thought that xoreos died! Glad to hear that it is not abandoned.
PS I just saw update notes on xoreos website- great work guys.
PS2 Or girls if there are any
They should jump on this and get him in a passionate place making improvements to the whole.
Quoting: DrMcCoyQuoteI've spent a sizable portion of my career getting laughed at by developers when I tell them to take their back catalog seriously, and even customers look at me funny when they see that my AAA contract wishlist is a bunch of old-but-feasible-to-port games
I can really relate to that. I get the same looks when I talk to people about my work for ScummVM, and more recently, xoreos.
Yes, I care about the weird adventure games of an obscure French studio, thank you very much. I care about the that overlooked horror game with art by HR Giger. I care about d20 RPG games. And I wonder why so few do. They're part of our history, our culture, and it would be a shame if they were forgotten.
I never did get around to beating Dark Seed!
Quoting: Purple Library GuyIt's odd . . . one thing this says to me is that the line between "(not) emulation" and "port" is fuzzier than I would have thought. Like, both tend to rely on creating various cross-platform or Linux middleware, generally open source, to duplicate the function of closed Windows-only middleware, so if you improve that replacement middleware it makes porting easier and things like Wine and Proton more effective.
And for that matter, at least in cases where the stuff isn't obsolete, presumably that middleware would become available to future cross-platform game development, making it easier to develop cross-platform in the first place. Multiple wins.
This probably seems obvious to many, but it had never occurred to me before--this article has enlightened me.
Actually it's REALLY simple. Wine is not emulation, as it's still x86 software made to run on a different operating system. Compatibility layer is probably the most accurate term.
Emulation means that the software is recreating functionality of hardware that doesn't exist on the hardware you're running it on (for example, UAE has a Motorola 68k core, which is shared by a few other projects).
Then I can throw in one you didn't mention; FPGA which is a recreation of the old hardware in new configurable hardware.
Then you get things like ScummVM which is an interpreter of the original data files, so sort of fits in with what Wine is, but not so much as a compatibility layer as it is like python/perl where it just interprets code.
At least that's how I look at things. Ports being directly using API/libraries within the operating system natively, vs using layers.
Also https://twitter.com/flibitijibibo/status/1039968072587722752 "No promises yet, we'll see what happens..."
Exciting.
Last edited by Liam Dawe on 12 September 2018 at 8:06 pm UTC
Quoting: liamdaweHmmm. https://twitter.com/flibitijibibo/status/1039966308887158784 "Just got off the phone... word spreads fast!" - did I just help someone land a job? One can hope.
Also https://twitter.com/flibitijibibo/status/1039968072587722752 "No promises yet, we'll see what happens..."
Exciting.
Crazy times for linux gamers - I'm getting goose pimples;)
See more from me