Epic is probably one of the biggest enemies of Linux since they're killing Linux support of every game/product they buy [1]. And while games aren't as important as some business/productivity applications, people do get lots of enjoyment from playing an occasional game. It's a great stress relief. And now even those little indulgences are being taken away.
Epic's CEO, Tim Sweeney, is extremely negative on Linux if you check out his Twitter feed [2] and I get a feeling from reading his comments that he despises Linux with passion.
When reading the context of the statement itself, it isn't that bad. He was concerned that Microsoft would introduce restrictions that place inhibitors on other vendors hardware with the introduction of a Pro operating system. The statement itself isn't the best, but his stance was that as a community Windows developers and users should push back against such changes.
An employee at Epic has mentioned that if someone with Linux development skills was interested, they would be more than happy to bring them on to develop a EGS application for Linux. The thread can be found here: https://twitter.com/CanalOCaraDoTI/status/110621899365072896... (scroll to the top for the beginning).
I honestly cannot blame someone in that business for hating linux. The number of variables to test for if you only care about windows gamers is staggering. Linux is 10x harder than windows if you care about supporting any arbitrary distribution and driver stack. I think if users were willing to load a linux VM for each game they'd like to play, this would be more manageable from a game developer's perspective.
I understand SDL2 exists. I understand that Valve has "mostly" pulled off linux/macos support. But, is it really worth it from a business perspective for all game developers to support linux? How big and wide do your margins need to be before it makes financial sense to fully support both operating systems? How many features (or even titles) will stay in the backlog because your developers are busy chasing down the 5000th weird linux network/GPU/sound bug that only occurs on this one kinda-old version of Ubuntu?
Is that tweet really "extremely negative" towards Linux? All he says is that he doesn't want to abandon Windows but instead push back on changes to it he doesn't like; he doesn't make any judgements about Linux. The reality is there are many barriers to Linux replacing Windows as a desktop platform for users today so it's not surprising that someone who runs a business that depends on users doesn't want to push for a huge switch to Linux if it's not necessary. If a company not wanting to act outside it's interests makes it Linux's "biggest enemy" then it will be a very long time before it succeeds as the major desktop platform.
It's not hard to hate Linux (Desktop) when you develop proprietary software since Linux seems to go out of its way to make it as difficult to deploy proprietary software as it possibly can [0]. Libraries are constantly changing underneath you in incompatible ways, there are several hundred "distributions" to deal with, etc.
[0] And frankly it is only slightly easier if you write FOSS software.
1. It seems as if he's addressing the context of the discussion (switching to Linux from Windows) rather than saying anything particularly negative about Linux.
2. I've been making some UE4 projects recently (as im getting back into game development as a hobby) and the toolchain to cross compile to linux is well made and easy to use (and even easy to dockerize).
I think unreal engine support of linux is probably the better barometer of Epic's stance towards linux than their not-so-fully-featured launcher/store (which is many years behind steam).
Rocket League's creator, Psyonix, was bought by Epic last year. The is concern/belief that this move is a precursor to making Rocket League an Epic Store exclusive, as the Epic store is Windows only.
Psyonix stated that they would offer refunds for Linux/ macOS users. In the first few days post announcement, everyones' refund was being denied. It appears that this has since been resolved. I received my refund yesterday.
If user base on those platforms is very small then it makes no sense for the developers to spend resources to keep it updated. At the end of the day its about demand and supply.
I was _so_ excited when Rocket League first came to Linux, but that was several years before Proton[1] was released.
But according to [2] the game runs really well on Linux via Proton. Personally, I don't see any problem using Proton to play the game on my Linux gaming-rig.
The concern is that Epic will add EAC and that Proton is going to cause you to get banned or they pull the game from Steam and move it to EGS which doesn't run on Linux, and likely never will. So the question becomes why should I put more effort into a game that's likely not going to be available to me in the very near future?
Epic acquired Kamu, makers of Easy Anti Cheat, for use in Fortnite. EAC is known to block Linux players using Proton, and there's decent odds Epic adds EAC to Rocket League.
Proton is pretty great, but there are hardware limitations. Im running a pretty old video card. I can run games like Deep Rock Galactic on Windows, but it wont work on Linux as Proton needs newer linux drivers, which don't support my card, in order to run that game.
Proton works great for single player games but isn't that great of an idea for multiplayer games. Their anti-cheat system could end up banning proton users. I believe this has happened to Destiny 2 and GTA:O players.
This is what I hate about ever-changing games. If it's such a big change, just make a new game, Rocket League 2. I'm sure people will still complain for some other reason, but no one looses what they paid for.
These days even if it's a sequel it might just be a repackaged update. Overwatch 2 is just Overwatch with additional stuff on top, for example - supposedly they both can play in the same matches on the same servers.
I’d be normally more upset about this, but the last sentence is a biggie in this situation. Psyonix is offering full refunds for the base game (which is better than nothing, although I wish it included DLC etc) to anyone, even outside of the two week window.
The refund process is a mess. I followed the directions on the Reddit page last night and got an email from Steam saying they’re refusing the refund because it’s been more than two weeks.
Other people on the comments have said similar things.
SuperTuxKart (https://supertuxkart.net) is a free racing game similar to Mario Kart and it also has a "Soccer" mode where you play in an arena with a ball and two goals like in Rocket League.
I love SuperTuxKart. It's the first game I install on any new computer, and I've beaten the story mode several times. I usually focus on the racing modes, but I've tried Soccer as well.
SuperTuxKart is not an alternative to Rocket League! If you go into it expecting anything Rocket League has -- polished realistic-looking graphics, physics that let you jump and tilt and drive up the walls of the stadium, a thriving online play community, a matchmaking system -- you're going to be disappointed.
It's both surprising and unsurprising to me how many comments here are focused on EGS (which is not what the article is about) and almost nobody is talking about how Rocket League's macOs and Linux players make up less than 0.3% of the players, combined. SMH
^ developer time is worth crazy much, it's just irresponsible to waste lots on it on a 0.3% of the users.
just go ask the actual playerbase if they'd prefer the devs working on linux/macos ports or actual gameplay/issues affecting the average player and see the answer.
However, it’s worth noting that Vulkan, Metal, and modern DirectX are so similar to each other that translation layers are extremely thin and have a performance penalty somewhere between negligible and nothing. That’s a dramatic improvement from where things were before OpenGL and DirectX had no interchangeability at all.
Don't forget consoles, though I've heard reports that you can use some variant of GL on Switch. PS4 requires a custom backend unless you license some sort of middleware. XBox left Direct3D 9 behind a long time ago (which is probably one reason to shift onto Direct3D 11 - to share more code between PC and XBox)
> Unfortunately, our macOS and Linux native clients depend on our DX9 implementation for their OpenGL renderer to function.
I'm not a gamedev and just have some hobby xp in DX and OpenGL, but I don't begin to understand why an OpenGL renderer would in any way depend on DX. Is this just code for "we have such few Mac and Linux users that it isn't worth our time to support OpenGL"?
They wrote the game targeting DX9, and then wrote a custom shim to translate from DX9 to OpenGL calls. Now they are transitioning to DX11 to get some newer features, and have evaluated the amount of work that it would take to either update that shim layer for DX11 -> OpenGL/Vulcan for Linux, or DX11 -> Metal for MacOS (remember, Apple is depreciating OpenGL on their platforms).
If linux and MacOS combine account for less than 0.3 percent of their revenues... then even as a MacOS guy I have to see their logic... there is little chance of recouping the heavy lift that they would have.
They probably use some outdated translation layer that converts DX9 calls to OpenGL ones so that they didn't have to maintain two renderers or use a higher level 3rd-party engine that abstracts over those calls. Newer games using Steam's Proton, like Sekiro, look and perform nearly equivalently to their Windows DX11 counterparts. I know Proton isn't exactly an apples-to-apples comparison, but it's an example off the top of my head. I guess CS:GO is another more apt one.
AFAIK: The way DX9 works for Windows software running under Wine, is that wine has a layer that intercepts all DX9 calls and retranslates them into OpenGL. There is no equivalent for DX11.
I'm always amazed by the longevity of DirectX 9. It was a truly excellent graphics API. DirectX 11 had more features, and was in some ways better designed, but it was always really painful to have to reimplement some of the things that were stripped out of the D3DX utility libraries that formerly were part of the SDK.
Honestly the game was not playable on macOS. If you wanted to play on your MacBook you had to run Windows with bootcamp, which you can still do.
So I doubt this change will really impact anyone.
Can anyone talk about how it plays on Linux? I can’t imagine a huge playerbase there.
Maybe I am missing some context here, but why would a game studio make a backwards-compatibility-breaking change to the engine a five year old game? I know that it's a popular game, but this sounds like an excuse to me.
Rocket league is an active multiplayer game that falls under the "Games as a Service" umbrella. There are limited time events, and new aesthetic upgrades being added to the game at a regular clip. Because of that, it's not a "five year old game" but rather a "game in active development."
Think about it like a game like World of Warcraft. It wasn't built once and then released, but rather new content is being produced for it constantly, so the game engine itself needs to be improved at every level as consumer hardware changes and improves.
It's backwards compatible for 99.4% of their users. Maybe there is future feature work they want to do, but are limited by DirectX9. Maybe they got tired of working with a 20 year graphics library and it's cheaper in the long term for them to update to the latest.
What I find a bit odd about this is the existence of the Switch version.
Surely the Switch's graphical power, presumably it's not going to get a bunch of fancy new DX11-esque features. I imagine they'll do the minimum to keep the Switch compatible with other clients in multiplayer.
But if they're keeping multiplayer compatible with an older Switch codebase, why not keep it compatible with older Mac and Linux branches?
The article makes it sound like they were running DX9 in Linux and MacOS. If true, how is this so? Is there some type of X11 extension that implements DX9 or something?
Not really, if you read carefully they are saying that their OpenGL renderer is very similar to the DirectX 9 one (probably because feature parity between these two APIs), but they have difficulty matching DirectX 11 features with OpenGL.
Like a database ORM which can have Postgres/MySQL as the backend, but then you want to replace Postgres with BigTable. It will be very hard to keep the MySQL support.
They probably have their own abstarction layer that implements the subset of DX9 they are using on top of opengl. This is very common on linux ports as it is hard to justify the cost of a full rewrite of the graphic engine.
DirectX9 is ancient, like somewhere between an original Xbox and an Xbox 360 in features. It's very difficult to use any modern graphics techniques with it. DirectX 11 is the most recent version of that classic style of graphics APIs, with DX12 being to DX11 sort of what Vulkan is to OpenGL. If I had a legacy DX9 codebase and I wanted to use some features of newer GPUs than what existed in 2002, I would convert over to DX11.
More modern programming interface that matches the hardware better.
Newer shader model support + newer shader compiler
Newer/more powerful debugging tools
Access to large new features like compute shaders, texture arrays, uniform buffers, etc
Access to new surface formats to enable features like VR and HDR
Better API performance + access to performance-enabling features like multi-threading
Direct3D 9 is nearly 20 years old. OpenGL has at least been receiving new extensions on a regular basis (though people are finally shifting to Vulkan) - with the exception of a few things shoved in by driver vendors via back doors, D3D9 has not changed at all.
Driver compatibility for D3D9 is also very bad at this point - the driver vendors don't give a shit about breaking existing software that uses it. I still occasionally hit driver bugs when working on old code that targets 9. Code targeting 11 will have fewer problems.
The game ran pretty bad on macOS though. Same computer with a GTX 1080 runs the game on win10 at hundreds of FPS with everything maxed vs barely able to run the game on macOS with all the detail on minimum.
[+] [-] Jerry2|6 years ago|reply
Epic's CEO, Tim Sweeney, is extremely negative on Linux if you check out his Twitter feed [2] and I get a feeling from reading his comments that he despises Linux with passion.
[1] https://news.ycombinator.com/item?id=19844241
[2] https://twitter.com/timsweeneyepic/status/964284402741149698...
[+] [-] mroche|6 years ago|reply
An employee at Epic has mentioned that if someone with Linux development skills was interested, they would be more than happy to bring them on to develop a EGS application for Linux. The thread can be found here: https://twitter.com/CanalOCaraDoTI/status/110621899365072896... (scroll to the top for the beginning).
[+] [-] bob1029|6 years ago|reply
I understand SDL2 exists. I understand that Valve has "mostly" pulled off linux/macos support. But, is it really worth it from a business perspective for all game developers to support linux? How big and wide do your margins need to be before it makes financial sense to fully support both operating systems? How many features (or even titles) will stay in the backlog because your developers are busy chasing down the 5000th weird linux network/GPU/sound bug that only occurs on this one kinda-old version of Ubuntu?
[+] [-] alephr|6 years ago|reply
[+] [-] AnIdiotOnTheNet|6 years ago|reply
[0] And frankly it is only slightly easier if you write FOSS software.
[+] [-] cliftonk|6 years ago|reply
2. I've been making some UE4 projects recently (as im getting back into game development as a hobby) and the toolchain to cross compile to linux is well made and easy to use (and even easy to dockerize).
I think unreal engine support of linux is probably the better barometer of Epic's stance towards linux than their not-so-fully-featured launcher/store (which is many years behind steam).
[+] [-] MFogleman|6 years ago|reply
Psyonix stated that they would offer refunds for Linux/ macOS users. In the first few days post announcement, everyones' refund was being denied. It appears that this has since been resolved. I received my refund yesterday.
[+] [-] kyriakos|6 years ago|reply
[+] [-] notinventedhear|6 years ago|reply
But according to [2] the game runs really well on Linux via Proton. Personally, I don't see any problem using Proton to play the game on my Linux gaming-rig.
[1]: https://github.com/ValveSoftware/Proton
[2]: https://www.protondb.com/app/252950
[+] [-] kgwxd|6 years ago|reply
[+] [-] wlesieutre|6 years ago|reply
[+] [-] MFogleman|6 years ago|reply
[+] [-] protanopia|6 years ago|reply
[+] [-] kgwxd|6 years ago|reply
[+] [-] kevingadd|6 years ago|reply
[+] [-] sangnoir|6 years ago|reply
[+] [-] Operyl|6 years ago|reply
[+] [-] ben1040|6 years ago|reply
Other people on the comments have said similar things.
[+] [-] threatripper|6 years ago|reply
[+] [-] csande17|6 years ago|reply
SuperTuxKart is not an alternative to Rocket League! If you go into it expecting anything Rocket League has -- polished realistic-looking graphics, physics that let you jump and tilt and drive up the walls of the stadium, a thriving online play community, a matchmaking system -- you're going to be disappointed.
[+] [-] vernie|6 years ago|reply
[+] [-] lullibrulli|6 years ago|reply
[+] [-] neura|6 years ago|reply
[+] [-] user_50123890|6 years ago|reply
just go ask the actual playerbase if they'd prefer the devs working on linux/macos ports or actual gameplay/issues affecting the average player and see the answer.
[+] [-] therealmarv|6 years ago|reply
DirectX on Windows, Metal on macOS, Vulkan/OpenGL4 on Linux
[+] [-] kitsunesoba|6 years ago|reply
[+] [-] kevingadd|6 years ago|reply
[+] [-] carlosdp|6 years ago|reply
[+] [-] aaron-santos|6 years ago|reply
I'm not a gamedev and just have some hobby xp in DX and OpenGL, but I don't begin to understand why an OpenGL renderer would in any way depend on DX. Is this just code for "we have such few Mac and Linux users that it isn't worth our time to support OpenGL"?
[+] [-] larkost|6 years ago|reply
If linux and MacOS combine account for less than 0.3 percent of their revenues... then even as a MacOS guy I have to see their logic... there is little chance of recouping the heavy lift that they would have.
[+] [-] ilikehurdles|6 years ago|reply
[+] [-] plopz|6 years ago|reply
[+] [-] Rannath|6 years ago|reply
[+] [-] thrower123|6 years ago|reply
[+] [-] a13n|6 years ago|reply
Can anyone talk about how it plays on Linux? I can’t imagine a huge playerbase there.
[+] [-] thethrowboat|6 years ago|reply
[+] [-] ch_123|6 years ago|reply
[+] [-] Kapura|6 years ago|reply
Think about it like a game like World of Warcraft. It wasn't built once and then released, but rather new content is being produced for it constantly, so the game engine itself needs to be improved at every level as consumer hardware changes and improves.
[+] [-] Pfhreak|6 years ago|reply
[+] [-] Wowfunhappy|6 years ago|reply
Surely the Switch's graphical power, presumably it's not going to get a bunch of fancy new DX11-esque features. I imagine they'll do the minimum to keep the Switch compatible with other clients in multiplayer.
But if they're keeping multiplayer compatible with an older Switch codebase, why not keep it compatible with older Mac and Linux branches?
[+] [-] dang|6 years ago|reply
[+] [-] cwt137|6 years ago|reply
[+] [-] iuweriopu|6 years ago|reply
Like a database ORM which can have Postgres/MySQL as the backend, but then you want to replace Postgres with BigTable. It will be very hard to keep the MySQL support.
[+] [-] gpderetta|6 years ago|reply
[+] [-] ubercow13|6 years ago|reply
[+] [-] jannes|6 years ago|reply
Looks like they were using some kind of translation layer that was translating DX9 calls to OpenGL.
[+] [-] monocasa|6 years ago|reply
[+] [-] kevingadd|6 years ago|reply
Newer shader model support + newer shader compiler
Newer/more powerful debugging tools
Access to large new features like compute shaders, texture arrays, uniform buffers, etc
Access to new surface formats to enable features like VR and HDR
Better API performance + access to performance-enabling features like multi-threading
Direct3D 9 is nearly 20 years old. OpenGL has at least been receiving new extensions on a regular basis (though people are finally shifting to Vulkan) - with the exception of a few things shoved in by driver vendors via back doors, D3D9 has not changed at all.
Driver compatibility for D3D9 is also very bad at this point - the driver vendors don't give a shit about breaking existing software that uses it. I still occasionally hit driver bugs when working on old code that targets 9. Code targeting 11 will have fewer problems.
[+] [-] TazeTSchnitzel|6 years ago|reply
[+] [-] ErneX|6 years ago|reply