Of Epic, Rocket League and Linux

— Part of this article was based on a comment I wrote on Rock, Paper Shotgun, minus various grammatical errors and typos.

Of course “everyone” hates Epic.

As you may have read on Tim Sweeney’s Twitter page, Tim has been killing babies since the new year.

Just kidding. But you wouldn’t know that just by reading the long discussions of people simply angry at Epic Games. There’s a lot of hate, a lot!

For those who don’t know about the story, you can easily pick it up on some long, albeit deceitful, post on a blog somewhere, or an angry video rant from some YouTube “influencer”. Suffice to say that Epic has made its mission to disrupt the current status quo in online game distribution and is paying mucho bucks and a better revenue share to attract big names and upcoming stars to distribute their game to its store. And that, my friends, pisses some people off. A capitalist move in a capitalist world and suddenly, the whole gaming world seems to have turned socialist. Now, I’m not against socialism in any way. I like to think myself as socialist. But I like to confine it to actual important things, like health care or wealth distribution, not whether Rich Gaming Company A can or cannot compete with equally Rich Gaming Company B using ugly capitalistic tactics. Ironically, it’s under the mantra of “better distribution of wealth” that Epic started this whole crisis.

It sounds like a lot of people are not buying this.

It also sounds that a lot people are buying this if you count the number of developers jumping ship and joining the Epic train. Sales of Metro Exodus went really well and Borderlands 3 is poised to be a monstrous hit. So it’s not just those developers who agree, but users (yes, actual gamers !!!) do too. Such much for boycotts and review bombs

So if fortune smiles on Epic despite the hate, it has become customary from haters to find peripheral reasons to hate Epic in a desperate effort to unmask the villain: that Epic is selling player IDs to the Chinese, that Tim Sweeney hates consumers, that programmers weren’t consulted on any of the publisher’s decision to move to the Epic Store (and that is a sin), that the Epic Store doesn’t support their God-given right to vote on a game, etc., etc. All things that, under the critical eye, are either false, misconstrued or totally peripheral to the matter at hand.

I even read someone scolding Sweeney that Epic should have considered the harm it would bring to the reputation of these unwilling developers. That’s strange! I always thought that a developer’s bad reputation was earned by releasing shitty games. If that’s not the case anymore and a Steam offering is all it takes to have a good reputation, then the reputation of Bethesda and Bioware must be stellar. Which wouldn’t surprise me anyways as these entities and their parent companies don’t appear to have used all their good karma as gamers buy again and again their games – and don’t let the current wave of vitriol over Fallout 76 and Anthem fool you; forgiveness is only a GDC or E3 demo away.

So imagine my surprise when I read today that since Psyonix, the company behind Rocket League, has joined Epic, there’s a new reason to hate it now:

Epic hates Linux.

Rocket League has long supported Linux and Linux modding apparently so people are concerned down right angry that Epic will not support Linux. Oh, and apparently Sweeney said something bad about Linux, too.

What a load of crap.

To be fair, there is genuine concern that support for an arguably less popular gaming platform may be axed, especially since the Epic Store is not ported to Linux even though it is based on Electron, a multi-platform framework that should be trivial to port – at least according to its developers.

I’m not necessarily well-informed on all gossip around Epic as I rely on a small set of outlets – although I can myself distinguish genuine concerns and critiques from a bunch of hooplah. But – full surprise disclosure here – as a game programmer who uses Unreal Engine, here are two opinions of my own on the subject (which is, by the way, the core of the title for this article).

1) Unreal Engine, at least since version 3, has Linux support, both on client and server (the latter, I believe, makes a better choice for dedicated servers over Windows as you don’t need as much licences to operate). Now, I’m not totally familiar with UDK, aka Unreal Engine 3, which is used by Rocket League, but the way it works on Unreal Engine 4 (UE4) is that the same code base is used for both client and server. You don’t create a separate code base exclusively for each end and thus creating multiple teams working on potentially different platforms. If your server runs under Linux, a Linux client will most likely work out of the box too. So it’s not like Psyonix would be slashing a Linux team because “Big Ol’ Evil Epic” says so. Linux is part Unreal’s DNA.

2) I bet you dollars for donuts that Psyonix uses a heavily modified version of Unreal 3 just for Rocket League on all platforms it currently supports. So it’s not like their devs are going to rewrite the whole thing from scratch anytime soon – even in UE4 – and any change in the code will be immediately compatible to all their platforms of distribution.

So what’s at stake is the distribution of a Linux client. This is a genuine problem but not due to a coding or porting issue. However, this might be a good opportunity for Psyonix to teach a few things to Epic and praise Linux as a valid gaming platform, if there was any doubt from Epic’s part.

And of course, if the numbers are right …

Which leads to adding a third opinion, the one that puts me in a zen state whenever I see comments on Linux gaming in general. I was, and still am a Linux user. And I’ve use it as a gaming platform every since Quake and even compiled my own version of Doom from Id’s public FTP site.

An early adopter of Linux and modding was Id Software. There are currently a multitude of Doom ports on Linux and Id has released all versions of Quake on Linux. Moreover, Id systematically released the code for these games to the public after their end-of-use, under the Free Software Foundation’s General Public Licence no less.

I don’t know how much of Zenimax’s position went into this but John Carmack, Id’s ex-co-founder and ex-lead programmer isn’t usually a company mouthpiece and went on record, saying: “The conventional wisdom is that native Linux games are not a good market. Id Software tested the conventional wisdom twice, with Quake Arena and Quake Live. The conventional wisdom proved correct. Arguments can be made that neither one was an optimal test case, but they were honest tries.”

Before those comments, Rage, a game released after Quake IV, was never released on Linux.

No matter how you try, the case for a Linux gaming platform is still a tough call to make. If only today my love of Linux would extend to gaming like before. I cheered for Valve’s push for Linux – or SteamOS – and actually ran many Steam games on it but only after carefully curating my computer with relevant drivers and libraries – not necessarily the latest ones as I toiled many times on it while longing for the latest of apt-get updates and upgrades. And Steam Link sucked with two monitors on my gear as if it’s couldn’t display one of each separately on my TV screen. And how many friends rose a red fist in the air – or not – and wanted to make the move to Linux and “end the Windows monopoly” only to return to it less than a month later for <enter relevant reason here>.

Ironically, Tim Sweeney’s ill-labelled article about developers vs consumers may prove to be a balm to worried users: if consumers (aka, the market) have their way, then Carmack is right and Psyonix will probably look at the numbers and decide on them alone; you can’t really blame their move to Epic as a way to readjust and re-evaluate their stance on many topics, including, yes, Linux.

On the other hand, you can pray that Sweeney is right and that developers do make the most important decisions in gaming and that deep down, the Psyonix devs find it in their hearts that all of this is worth it.

World of voxibilities

I finally found a decent algorithm for creating a voxel world.   No it’s not Perlin- or simplex-based, just a plasma map.  It still needs work, of course, but running through it with a basic character does gives a sense of satisfaction.

A voxel world.Plasma map used in this world.

Voxel Test

My first post in two years. o.O

So I’m testing a bit of code I encountered regarding procedural meshes, creating shapes directly into UE4 by just loading cube geometry from this nice little voxel program called MagicaVoxel.

Result is satisfying with little or no optimization.  But the real sore thumb is the lighting.  Dynamic lighting in UE4 creates darker shadows  (Sky Light doesn’t help, but I believe the tool is geared towards static meshes, not dynamic ones).  So I’m using 2 directional lights, one with shadows, the other without to bury the darkness.  But when objects are getting other meshes’ shadows, the darkness returns.  And generally, not just because of using 2 lights, the overall colours are a bit bland compared to the original.

Still it’s “workable”,  it doesn’t stop me from pursuing other goals.  I’m going to test either Perlin noise or Simplex noise to generate random terrain.

Magica voxel original.

Test in UE4

 

return top