3 ms·
As long as users are running the game on their own computers, preventing that type of read-only cheating is not possible. "Solutions" to this problem come in th
by throwaway7679 4y ago
As long as users are running the game on their own computers, preventing that type of read-only cheating is not possible. "Solutions" to this problem come in the form of invasive spyware, such as Warden (Blizzard), Easy Anti-Cheat (Epic), Vanguard (Riot), etc. These are programs that run with the highest possible priviledge, inspect all memory/storage/devices/input, and report what they find to a server.
- toast0 4y agoOk, so option 1) is to make internet multiplayer run on a game server, not peer to peer, but that's not exactly running the game on their own computers. Another option would be for the peers to only send data that the other should know (fog of war), but that's a lot trickier. Because you then need to figure out how to validate the unseen data wasn't cheating, too. You might be able to do something with this today, because storage, computation, and bandwdith has grown so much. Maybe store all the local state changes, and when a block becomes visible, send its current state first, and then stream the history as time permits; the other side would accept the state initialy, until it could fully validate it. You would need some way to keep the randomizers in sync and fair, too. But that only protects from seeing what should be invisible; you could still have computer enhanced movement and maybe enhanced display of data attributes that weren't supposed to be human visible.
- scaramanga 4y agoAnd here we are using tech to try and solve social problems again :)
- toast0 4y agoWell sure. You could just play with your friends. But some people insist on playing with strangers?
- Sohcahtoa82 4y agoThere's no social solution to getting players to not try to cheat in competitive games.
- throwaway7679 4y agoYes, not having the entire game state on the user's computer in the first place is a solid choice. And for many games, that's exactly how multiplayer works. They run all the logic on a server, "never trust the client" (that is, validate all the input that clients send to the server), and only send data the user needs to know. However for something like an RTS, the amount of data in game state updates can be prohibitively large to transmit to clients. The deterministic lockstep networking model described in the article is a solution to that problem. In that system, the only data transmitted is input, and each client updates locally, so it does require them to have a copy of the entire game state.
- scaramanga 4y agoSo you're saying that in order to avoid the "elitist" nightmare world of "just play with your friends, and people you trust" and "normal people are never going to want to be able to run their own servers!" all we have to do is hand over unlimited powers of surveillance to games corporations and succumb to their daylight banditry, paying a premium price for the privilege of being able to play call of duty with the teenage edgelords you may know from such online wonders as "youtube comments"? Sounds like a bargain! Sign me up! :)
- hot_gril 4y agoRun entire game on server, send stuff to clients, get inputs from clients. Or full-on stream the game like Stadia (RIP). Which is hard with low-spec hardware.