I mean, the problem is kind of fundamental. They have a competitive multiplayer game. Many competitive multiplayer games are vulnerable to cheating if you can manipulate the client software; some software just can’t really be hardened and still deal with latency and such reasonably. Consoles are reasonably well locked down. PCs are not, and trying to clamp down on them at all is a pain – there are lots of holes to modify the software. Linux is specifically made to be open and thus modifiable. You’re never going to get major Linux distros committing to a closed system.
Frankly, my answer has been “Consoles are really the right answer for competitive multiplayer, not PCs.” It’s not just the cheating issue, but that you also want a level playing field, and PCs fundamentally are not that. Someone can, to at least some degree, pay to win with higher framerates or resolution or a more-responsive system on a PC.
My guess is that the most-realistic way to do do games like this on the PC is to introduce some kind of trusted hardware sufficient to handle all the critical data in a game, like a PCI card or something, and then stick critical portions of the game on that trusted hardware. But that infrastructure doesn’t exist today, and it’s still trying to make an open system imperfectly act like a closed one.
I think that the real answer here is to use consoles for that, because they already are what game developers are after – a locked-down, non-expandable system. In the specific context of competitive multiplayer games, that’s desirable. I don’t like it for most other things, but consoles are well-suited to that.
My own personal guess is the even longer run answer is going to be a slow shift away from multiplayer games.
Inexpensive, low-latency, long-range data connectivity started to give multiplayer games a boost around 2000-ish. Suddenly, it was possible to play a lot of games against people remotely. And there are neat things you can do with multiplayer games. Humans are a sophisticated, “smarter game AI”. They have their own problems, like sometimes doing things that aren’t fun for other players – like cheating – but if you can rely on other players, you don’t have to write a lot of complicated game AI.
The problem is that it also comes with a lot of drawbacks. You can’t pause most multiplayer games, and even when you do, it’s disruptive. If you’re, say, raising a kid who can get themselves into trouble, not being able to simply stand up and walk away from the keyboard is kinda limiting. You cannot play a multiplayer game without data connectivity. At some point, the game isn’t going to be playable any more, as the player base falls off and central servers go away. You have to deal with other people exploiting the game in various ways that aren’t fun for other players. That could be a game’s meta evolving to use strategies that aren’t very much fun to counter, or cheating, or people just abusing other people. Yeah, you can try to structure a game to discourage that, but we’ve been working on that for many years and griefing and such is still a thing.
Writing game AI is hard and expensive, but I think that in the long run, what we’re going to do is to see game AI take up a lot of the slack. I think that we’re going to to see advances in generic game AI engines, the sort of way we do graphics or sound engines, where one company makes a game AI software package that is reused in many, many games and only slightly tweaked by the game developers.
Multiplayer games are always going to be around, short of us hitting human-level AI. But I think that the trend will be towards single-player games over time, just because of those technical limitations I mentioned. I think that where multiplayer happens, it’ll be more-frequently with people that someone knows – someone’s friends or spouse or such – and where someone specifically wants to interact with that other person, and where the human isn’t just a faceless random person filling in for a smart piece of game AI that doesn’t exist. That’d also hopefully solve the cheating problem.
Developers have full control over servers in most cases. A viable server side anti cheat should be a thing. For every case of “client sending false data to server” we can come up with a solution to verify that to some degree. Finally, it should help a lot to rely on player generated reports and utilize replay recording on server.
But no, developers will continue to rely on 3rd party solutions (made by people who never developed a game), even infect their co-op-only games with it, and complain “uh oh we can’t handle Linux cheaters”.
I mean, the problem is kind of fundamental. They have a competitive multiplayer game. Many competitive multiplayer games are vulnerable to cheating if you can manipulate the client software; some software just can’t really be hardened and still deal with latency and such reasonably. Consoles are reasonably well locked down. PCs are not, and trying to clamp down on them at all is a pain – there are lots of holes to modify the software. Linux is specifically made to be open and thus modifiable. You’re never going to get major Linux distros committing to a closed system.
Frankly, my answer has been “Consoles are really the right answer for competitive multiplayer, not PCs.” It’s not just the cheating issue, but that you also want a level playing field, and PCs fundamentally are not that. Someone can, to at least some degree, pay to win with higher framerates or resolution or a more-responsive system on a PC.
My guess is that the most-realistic way to do do games like this on the PC is to introduce some kind of trusted hardware sufficient to handle all the critical data in a game, like a PCI card or something, and then stick critical portions of the game on that trusted hardware. But that infrastructure doesn’t exist today, and it’s still trying to make an open system imperfectly act like a closed one.
I think that the real answer here is to use consoles for that, because they already are what game developers are after – a locked-down, non-expandable system. In the specific context of competitive multiplayer games, that’s desirable. I don’t like it for most other things, but consoles are well-suited to that.
My own personal guess is the even longer run answer is going to be a slow shift away from multiplayer games.
Inexpensive, low-latency, long-range data connectivity started to give multiplayer games a boost around 2000-ish. Suddenly, it was possible to play a lot of games against people remotely. And there are neat things you can do with multiplayer games. Humans are a sophisticated, “smarter game AI”. They have their own problems, like sometimes doing things that aren’t fun for other players – like cheating – but if you can rely on other players, you don’t have to write a lot of complicated game AI.
The problem is that it also comes with a lot of drawbacks. You can’t pause most multiplayer games, and even when you do, it’s disruptive. If you’re, say, raising a kid who can get themselves into trouble, not being able to simply stand up and walk away from the keyboard is kinda limiting. You cannot play a multiplayer game without data connectivity. At some point, the game isn’t going to be playable any more, as the player base falls off and central servers go away. You have to deal with other people exploiting the game in various ways that aren’t fun for other players. That could be a game’s meta evolving to use strategies that aren’t very much fun to counter, or cheating, or people just abusing other people. Yeah, you can try to structure a game to discourage that, but we’ve been working on that for many years and griefing and such is still a thing.
Writing game AI is hard and expensive, but I think that in the long run, what we’re going to do is to see game AI take up a lot of the slack. I think that we’re going to to see advances in generic game AI engines, the sort of way we do graphics or sound engines, where one company makes a game AI software package that is reused in many, many games and only slightly tweaked by the game developers.
Multiplayer games are always going to be around, short of us hitting human-level AI. But I think that the trend will be towards single-player games over time, just because of those technical limitations I mentioned. I think that where multiplayer happens, it’ll be more-frequently with people that someone knows – someone’s friends or spouse or such – and where someone specifically wants to interact with that other person, and where the human isn’t just a faceless random person filling in for a smart piece of game AI that doesn’t exist. That’d also hopefully solve the cheating problem.
Developers have full control over servers in most cases. A viable server side anti cheat should be a thing. For every case of “client sending false data to server” we can come up with a solution to verify that to some degree. Finally, it should help a lot to rely on player generated reports and utilize replay recording on server.
But no, developers will continue to rely on 3rd party solutions (made by people who never developed a game), even infect their co-op-only games with it, and complain “uh oh we can’t handle Linux cheaters”.