It’s been three months since I said that, because it planned to give developers a much better cut of sales, the Epic Games Store could convincingly challenge Steam. It’s been a very busy three months. I expected Epic’s maneuvering to have an impact on the industry, but I didn’t expect it to be nearly this intense and abrupt. I’ve gone from being excited that there’s a new contender to being worried about the mess the Epic Games Store is making in the process.
Consumers have been angered by platform exclusives forcing them to use the Epic Games Store when they would prefer to use Steam. There have been accusations of spyware and even claims that the EGS client is “malware.” People have criticized the program for sniffing around in Steam files looking for user data. At the end of all of this, Epic CEO Tim Sweeney claimed his company was making the industry a better place:
Ultimately, this is about making the industry a better place, starting with the terms available for developers. I understand gamers don’t see that. They don’t see the hardship of making a payroll and seeing the store suck out 30% of the revenue from it. It can be jarring to see the industry is changing in ways that are typically invisible to us as gamers.
I’m usually very critical of CEOs of major publishers. In my work, I’ve spent a lot of time calling out a predatory and destructive corporate behavior. Despite that, I’m compelled to defend Epic Games from a bit of the criticism they’ve been getting. I think the company is making a pretty big mistake that’s worth talking about, but before I talk about what the EGS is doing wrong, I want to talk about why some of the anti-Epic criticism is perhaps overblown or focused on the wrong things.
Claim: EGS is buying exclusives, and that’s anti-consumer.
EGS has managed to secure several high-profile platform exclusives: The Outer Worlds, Metro Exodus, Satisfactory, and Phoenix Point, which I talked about last week. A lot of people are angry that EGS is securing exclusives, insisting that they want to be free to choose any platform.
This situation reminds me of the repeating pattern of behavior we see when it comes to dealing with traffic problems around major metropolitan areas. A survey will show that frustrated commuters overwhelmingly support the creation of more mass transit like high-speed commuter rail. The government invests billions of dollars building alternative transportation. Once the system finally opens, hardly anyone rides it. Everyone ends up stuck in traffic, angry at all the other commuters for not taking the train. They want the train to be a success, but they don’t want to personally deal with the inconvenience of riding it.
This is the situation consumers are in with Steam. Everyone wants more competition in the market, but nobody wants to give up their familiar Steam library and use a competing platform. Switching platforms is apparently something other people need to do, thank you very much.
There are over 10,000 games on Steam. Thousands of those games are exclusive to Steam on the PC. Some of them are exclusive because they were created by small-scale indies that don’t have the resources to negotiate their way onto competing platforms. Some of them are exclusive because they’ve been around for a long time and predate most Steam rivals. That’s fine. The problem is that nobody gets upset at Steam for having thousands of exclusives, but the moment EGS lands four exclusive deals everyone starts yelling about “consumer choice.” I like consumer choice as much as the next bitter disillusioned shopper, but if Steam is allowed to have exclusives and EGS isn’t, then EGS is damned if they do, damned if they don’t. Just like drivers don’t want to take the train for the good of the city, gamers don’t want to move to a new platform for the good of the industry. EGS can either be hated for dragging people on to their platform with exclusives, or they can become yet another useless also-ran like Origin and Uplay.
Claim: EGS is spyware
This claim comes from things like this Reddit thread where someone looks at how EGS behaves at startup. The software begins sniffing around the system, collecting hardware specs and looking at what programs are running and what root certificates exist.
These behaviors all seem shady, but there’s a good explanation for most of them. Unlike Steam, EGS will allow you to close the client even if a game is running. You can test this yourself by launching a game, then alt-tabbing back to EGS and closing it. It’s nice to be able to close the client, but it leaves EGS in the odd position where it needs to look around to see if any of its games are already running when you start it. It needs to know this so that it can correctly replace the usual launch button with a label telling you the game is running. It also needs this information so it doesn’t try to do anything crazy like attempting to update a game while you’re playing it.
I’m not sure why it needs to look at root certificates, but I suspect that a lot of the things EGS is doing are anti-cheat. Industry juggernaut Fortnite runs from this launcher, and so there are safeguards built into the system to stop cheaters. I can understand people objecting to the snooping around that EGS does, but the important thing to note is that this isn’t going to be all that different from what Steam does for Team Fortress 2 players. It’s fine to raise privacy concerns over what applications might be doing on your system, but it’s important to not hold Epic to a higher standard than Valve.
Claim: EGS harvests your Steam data without permission.
This one is basically true. There’s a file in your Steam folder called localconfig.vdf, and EGS locates this file and makes a copy for itself without asking first.
The thing is, the contents of this file aren’t supposed to be secret. This file contains the ID of your friends on Steam and some metadata on your game collection. It holds things like what titles you own and when you last played them. Any game on Steam is free to query any of that information at any time. Epic’s sin wasn’t looking in the file, it was how EGS looked in the file that was the problem. How developers are supposed to handle this is to add Steamworks support to their game or application.
Steamworks is a library of functionality for game developers. It allows the game to activate achievements, do matchmaking with friends, add items to the user’s Steam inventory, and a host of other things. Programmers use libraries all the time for different tasks. If you’ve ever noticed things like “SpeedTree” or “PhysX” in the splash screen for a video game, that’s what these things are. They’re libraries that offer some functionality to a game developer so they don’t need to code those features from scratch.
Adding a library to your program is not something to be done lightly. It takes time to integrate it with your project and to learn how to use it. It’s absolutely easier to add SpeedTree to a game engine rather than attempting to code a full-featured procedural tree generator from scratch, but I wouldn’t want to add SpeedTree if my game only needed one tree. In that case, it would be better to have an artist make the tree by hand rather than going to the trouble of adding an entire library.
In the same way, I wouldn’t want to add a new library to a program for doing something simple like reading a single file. If I was a programmer at Epic and Tim Sweeney came into my office to tell me to use Steamworks to access one file, then I’d ask him why we needed to mess around with the library instead of simply reading the thing directly. Direct access would be a lot less work. Moreover, I’d be worried about adding our competitor’s software to our game launcher.
Of course, I’d be wrong. Direct file access is the right thing to do in terms of software engineering, but it’s the wrong thing to do in terms of user etiquette. It’s important to get the user’s permission before reaching across application boundaries and accessing data, and it’s important to always be transparent about what information you’re collecting and why. While Epic’s mistake was kind of understandable from the viewpoint of a lazy or rushed programmer, that doesn’t make it okay. Sweeney has since promised to fix this.
The Real Problem with EGS
Earlier, I said that exclusives weren’t bad. (Or at least, they’re not any worse than what Steam is doing.) I do, however, have a problem with Epic landing so many high-profile exclusives while the platform is still so barebones.
There are no cloud saves, achievements, gifting games, offline mode, or multiplayer matchmaking within the existing friends list framework. When you’re viewing a game for sale, there’s no way to view any sort of external indicators of quality like critic reviews, metacritic scores, or user reviews. There are no forums for individual games and no way to see developer patch notes and updates except by clicking on their various social media icons until you find where they post announcements. The friends list doesn’t have any settings for hidden or do not disturb modes, meaning anyone on your friends list can interrupt your quiet time or streaming session. The screens to browse the store and your games library use enormous images so you only see pictures and no information. It feels like browsing Pinterest on a phone.
There are a lot more missing features, but those are the really serious omissions. This store is not ready to compete in the big leagues. That wouldn’t be a problem, except that the EGS exclusives dragged people onto the platform before it was ready. Now we’re stuck here waiting for Epic to finish building their store.
I think Tim Sweeney is right that in the long term Epic is doing things that will help the industry, but in the short term the store is harming individual games by shackling them to a launcher that isn’t ready for prime time. I’m all in favor of EGS trying to compete with Steam, but right now it feels like a retail outlet that’s trying to hold a grand opening event before the building has a roof on it.