Several developers have walked back their use of Denuvo after fan outcry, usually armed with data about how it adversely affects performance.
That's pretty much all we can do. Of course neutralizing Denuvo (i.e. cracking it to demonstrate that it's not meaningfully preventing piracy) would also help.
> Several developers have walked back their use of Denuvo after fan outcry, usually armed with data about how it adversely affects performance.
No they haven't. They stopped paying for Denuvo after a time, given they have to pay on a monthly basis, because the number of sales they make goes down over time and Denuvo has done it's job.
So you would let cheaters win? What a weird take. Small amount of people wants to ruin game for everyone > the solution shouldn't be abandoning online games
There are more effective ways to deal with cheaters than using anti-cheat systems that degrade system security and performance by hooking into the OS kernel. Also, in many games, anti-cheat is anti-user, because the games are /not/ online multiplayer, which means the only thing the user is "cheating" is themselves.
I don't cheat in most games, but there are a lot of games that are pretty grindy in genres I otherwise enjoy for the story, and I want to just get through it because I have a job, family, kids, and other hobbies and friends to keep up with, but I still enjoy gaming. I no longer have the ability or time to spend 200+ hours to get all aspects of a game story completed. Meanwhile, there are other games I could cheat in I would never do, because the difficulty of them is the point (Dark Souls).
Cheating in online games, especially competitive online games, is a real problem. But another piece of the problem is that this genre is dominated by "free" games which have cash shops, microtransactions, and extremely aggressive anti-cheat software, all of which are anti-user.
What GP meant was "Don't buy games with client-side anti-cheat". For any given method of cheating, either it will be detectable from the server, or it won't be detectable even from the client (e.g., <https://arstechnica.com/gaming/2021/07/cheat-maker-brags-of-...>).
Devs can do whatever they want server side. Leave the client machine alone. But also, at the end of the day, they're just games. I think we started taking things a bit too seriously.
It doesn't even need a crack, it "just" needs more accurate emulation.
It may turn out that cracking is the path of least resistance, but making emulation more accurate is less of a legal issue - I for one would feel comfortable working on it "in the open" (which I may well do, depending on how much I care about the first Denuvo'd switch games to come out).
Accurate emulation is extremely hard, even for ancient hardware. See this article from 2011 for example: https://arstechnica.netblogpro.com/gaming/2011/08/accuracy-t... It takes a 3 GHz CPU to emulate the SNES accurately. You can do with less, obviously, but you will notice differences in some games.
With modern hardware, I don't think perfectly accurate emulation will ever be possible. We don't have that for the PS2 and XBox, maybe on the original PlayStation, but I am not even sure. Emulators for modern systems are all high level, emulating API calls instead of the hardware.
If denuvo does anything that actually requires cycle-accurate emulation, I'll eat my hat.
Modern hardware is easier to emulate "accurately", simply because the real hardware does not behave as consistently as, say, a 6502 core. DRAM and cache latency are variable, and the core/bus frequencies are scaling up and down all the time. Furthermore, the coupling between the CPU and GPU is more asynchronous than it used to be.
Your emulator doesn't have to hit any specific timings, becaure there aren't any - it just has to be within some range of plausibility.
I wouldn't be surprised if denuvo does make use of timing to some extent, but it won't need cycle-accurate emulation to defeat, just fudging the numbers to get close enough.
That's pretty much all we can do. Of course neutralizing Denuvo (i.e. cracking it to demonstrate that it's not meaningfully preventing piracy) would also help.