Can you walk something back before you've even walked it forward?
It's common practice for PC games today to launch with Denuvo, a form of DRM designed to stop the spread of pirated copies of games, and it's also common practice for developers to remove Denuvo several months after launch as interest (and the risk of piracy) dwindles. Less common is a developer publicly announcing it's removing Denuvo from a game before it's even out, but that's the surprise Starbreeze pulled this Friday.
"Hello heisters, we want to inform you that Denuvo is no longer in Payday 3," the developer wrote in a post on Steam on Friday. That's pretty much the whole message—short and to the point, and seemingly a win on the good will front, with the Steam post racking up 524 thumbs up on Steam so far and another 10,000 or so on Twitter.
Payday 3 is less than a week away from its September 21 release, and Starbreeze is clearly looking to roll into the launch with an excited community behind it. Two months ago a thread on the r/paydaytheheist subreddit called out the inclusion of Denuvo and the responses were characteristically negative. This afternoon, one of the game's developers responded to that thread to highlight that Denuvo has been removed.
Denuvo has long had a reputation for hindering performance in games and bloating their executables, though the company behind it, Irdeto, insists that isn't the case. This summer it announced a plan to provide media outlets with two versions of games, one with Denuvo included and one without, to prove it has no impact on performance.
Programs bounce around between a ton of different code segments, and it doesn't really matter how they're arranged within the binary. Some code even winds up repeated, when repetition is more efficient than jumping back and forth or checking a short loop. It doesn't matter where the instructions are, so long as they do the right thing.
This machine code still tends to be clean, tight, and friendly toward reverse-engineering... relatively speaking. Anything more complex than addition is an inscrutable mess to people who aren't warped by years of computer science, but it's just a puzzle with a known answer, and there's decades of tools for picking things apart and putting them back together. Scene groups don't even need to unravel the whole program. They're only looking for tricky details that will detect pirates and frustrate hackers. Eventually, they will find and defeat those checks.
So Denuvo does everything a hundred times over. Or a dozen. Or a thousand. Random chunks of code are decompiled, recompiled, transpiled, left incomplete, faked entirely, whatever. The whole thing is turned into a hot mess by a program that knows what each piece is supposed to be doing, and generally makes sure that's what happens. The CPU takes a squiggly scribbled path hither and yon but does all the right things in the right order. And sprinked throughout this eight-ton haystack are so many more needles, any of which might do slightly different things. The "attack surface" against pirates becomes enormous. They'll still get through, eventually, but a crack delayed is a crack denied.
Unfortunately for us this also fucks up why computers are fast now.
Back in the single-digit-megahertz era, this would've made no difference to anything, besides requiring more RAM for this bloated executables. 8- and 16-bit processors just go where they're told and encounter each instruction by complete surprise. Intel won the 32-bit era by cranking up clock speeds, which quickly outpaced RAM response times, leading to hideously clever cache-memory use, inside the CPU itself. Cache layers nowadays are a major part of CPU cost and an even larger part of CPU performance. Data that's read early and kept nearby can make an instruction take one cycle instead of one thousand.
Sending the program-counter on a wild goose chase across hundreds of megabytes guarantees you're gonna hit those thousand-cycle instructions. The next instruction being X=N+1 might take literally no time, if it happens near a non-math instruction, and the pipeline has room for it. But if you have to jump to that instruction and back, it'll take ages. Maybe an entire microsecond! And if it never comes back - if jumps to another copy of the whole function, and from there to parts unknown - those microseconds can become milliseconds. A few dozen of those in the wrong place and your water-cooled demigod of a PC will stutter like Porky Pig. That's why Denuvo in practice just plain suuucks. It is a cache defeat algorithm. At its pleasure, and without remedy, it will give paying customers a glimpse of the timeline where Motorola 68000s conquered the world. Hit a branch and watch those eight cores starve.
Unfortunately, increasing cache seems to be the direction things are going, what with AMD's 3D cache initiative and Apple moving RAM closer to the CPU.
So Denuvo could actually get away with it by just pushing the problem onto platforms. Ideally, this would discourage this type of DRM, but it'll probably just encourage more PC upgrades.
I wouldn't be surprised if we end up with ram-less systems soon. A lot of programs don't need much more memory than the cache sizes already available. Things like electron bloat memory use through the roof, but even then it's likely just a gigabyte or two. Cpus will have that much cache eventually. The few applications that really need tons of memory could be offloaded to a really fast SSD, which are already becoming the standard. I imagine we'll see it in phones or tablets first, where multitasking isn't as much of a thing and physical space is at a premium.
Tbh I'm not really a fan of this stance either. If I'm buying a sequel I expect meaningful improvements, otherwise you're just ripping me off for something that could have been a dlc or expansion to the first game.
I mean, to be blunt, the game was never going to beat PAYDAY 2. PD2 is years of updates and content additions to make it fun despite the shitty engine, PAYDAY 3 is a brand new game with a lot of potential but all of it unrealized.
Appreciated but strange. Did they look at the sub cost and went nah or something else? I mean could have just wanted it for the beta but idk seems overkill (heh heh).
I don't understand why anybody would pay for it while it can be cracked.. sure its likely only one person in the world can crack it atm but if she wants to crack it she can and then it's gonna be uploaded and repacked by multiple people.
So, do people actually play Pay Day? All I know is that it's a game. Haven't seen trailers, haven't seen anyone play it on Twitch, it's like a "fake" game that's a joke that's been going on for a really long time
I mean the last one was released in 2013, it's not exactly super relevant but if you're that unaware of it I assume you were playing habbo hotel or whatever little kids played 10 years ago.
Holy shitballs. It feels like just yesterday we were firing up payday 2 on release day with a bunch of friends and risking having a seizure at any moment on the "start heist" page.
I figured yeah payday 2 was like 5 years ago, time for a new one. 10 fucking years.... i need a drink!
I used to play PD2 with international friends, but latency being what it was I could only really play loud missions. Here's hoping modern netcode somehow solves the issue of being spotted by guards that are behind a wall from my perspective.