Re:PC games are fighting a new surge of cheaters and hackers
by jrockway on Saturday May 09, 2020 @09:16AM
(#23124459)
I can forgive some of these things because they are basically implementing a distributed system where events have to be finalized in 1/240th of a second and where communication latency changes the outcome of the game. Some hacks are necessary, and players have to deal with the consequences.
I never enjoy dying to a weapon that was never even fired, but that is the reality of Internet latency. The travel time of the projectile in the game is less than the travel time of the packet that says "the weapon was fired". So the game client gets that and before it can draw anything, gets another message that says "btw you died". Then you're dead to a weapon that was never even fired from your view. That sort of thing would never work for storing data to a database, but it works out okay in a fast-paced game. (I know this is not what you're talking about, but what you're talking about stems from needing to reduce latency, and this is meant to be a story about how that can be annoying even when people aren't synthesizing "hey I'm cheating!" packets.)
Having said that, I feel like the game industry decides that because some hacks are necessary, they're all necessary. Hearthstone is a card game and relies on the client for critical checks, and people hack the client to successfully cheat. It happened recently with a certain card that copies itself and costs 0. Obviously a strong combination. There is a limit to the number of cards you can play per turn, however, and so you couldn't really go infinite with this. The card takes a certain amount of time to play, and your turn is a fixed amount of time, and that bounds the blast radius of a combo like this. What people did, though, was just hack the client to skip animations. The server happily accepted this. That sort of hack is a real problem; the server should know how many cards you are allowed to play and just say "nope, not possible". The fact that that's missing is just a hack; why write the code if it's not needed? One day it is needed, though, and people get mad and stop playing your game.
It is a tough balance, and as someone who favors correctness and least surprise... I'm glad I don't work in the game industry. I would die. But people seem to be making money selling games, so perhaps my opinion is simply wrong.
I never enjoy dying to a weapon that was never even fired, but that is the reality of Internet latency. The travel time of the projectile in the game is less than the travel time of the packet that says "the weapon was fired". So the game client gets that and before it can draw anything, gets another message that says "btw you died". Then you're dead to a weapon that was never even fired from your view. That sort of thing would never work for storing data to a database, but it works out okay in a fast-paced game. (I know this is not what you're talking about, but what you're talking about stems from needing to reduce latency, and this is meant to be a story about how that can be annoying even when people aren't synthesizing "hey I'm cheating!" packets.)
Having said that, I feel like the game industry decides that because some hacks are necessary, they're all necessary. Hearthstone is a card game and relies on the client for critical checks, and people hack the client to successfully cheat. It happened recently with a certain card that copies itself and costs 0. Obviously a strong combination. There is a limit to the number of cards you can play per turn, however, and so you couldn't really go infinite with this. The card takes a certain amount of time to play, and your turn is a fixed amount of time, and that bounds the blast radius of a combo like this. What people did, though, was just hack the client to skip animations. The server happily accepted this. That sort of hack is a real problem; the server should know how many cards you are allowed to play and just say "nope, not possible". The fact that that's missing is just a hack; why write the code if it's not needed? One day it is needed, though, and people get mad and stop playing your game.
It is a tough balance, and as someone who favors correctness and least surprise... I'm glad I don't work in the game industry. I would die. But people seem to be making money selling games, so perhaps my opinion is simply wrong.