| ▲ | soloridindan 2 hours ago |
| I think the moment you accept data from the client as truth you've lost the battle already, everything else is just damage control. Loads of games have realized this and kept checking game rules on the serverside and reveal data on a need-to-know basis. This makes it nearly impossible for cheats to be made because anything you know you should know, and everythin you act is parsed by the backend according to rules already present |
|
| ▲ | jsheard 2 hours ago | parent | next [-] |
| Some kinds of cheating can be mitigated that way, but it can't really stop cheats which just play the game more optimally than the user is able to, using the same inputs and outputs that a legit player would use. Aim assistance in shooters, automatic parries in fighting games, economy-breaking levels of automation in MMOs, and so on. There's also practical limits to how much data you can filter out in complex 3D games, both due to performance constraints, and because culling information too perfectly can cause things to pop into existence too late under real-world network latency. The effectiveness of ESP cheats can be reduced, but not eliminated in practice. |
| |
| ▲ | soloridindan 2 hours ago | parent | next [-] | | I think anything that relies on reflex alone is flawed design. You can design around this, by for example in Dota2 it doesen't matter how fast you click an entity, because the turnrate of your character is limited, so a person clicking reasonably fast and a bot clicking in 0.01ms both arrive there at the same time. Precision also doesn't matter, because a player can click the icon of the enemy instead of trying to match the pixels on screen. MMO scripts that use information already given by the game just seem like the MMO should invest in UX instead of trying to ban people for using the tools the game already gives them. | | |
| ▲ | bluecalm 29 minutes ago | parent | next [-] | | There is rampant cheating in online chess and poker as well, you know?
You can have an opinion about what constitutes a better game for humans: should it be about making better decisions, arriving at them faster or being fast and precise with your mouse but the reality is bots/assistance can make you unplayable in all of those domains. | |
| ▲ | vkou 2 hours ago | parent | prev [-] | | Unless DOTA2 is running at a ~3 tick rate (Which it's not), even taking account processing delays and action batching, a bot will always have faster reaction times than an actual player. It will also never misclick. This problem is magnified in a shooter game, which would be unplayable with that kind of batching, but where a cheater with an aimbot is actually impossible for a legitimate player to beat. | | |
| ▲ | soloridindan an hour ago | parent [-] | | After you click, the character will begin to turn, which can take several hundred ms. A delta of couple ms compared to the time it takes to turn is completely negligible and even an inch better positioning of a character, or having a character with items or stats that makes them turn faster (because picks are asymmetric) will make several magnitudes more of an impact. If your game allows your sights to just teleport on people's heads and take that as the winning condition then that just sounds like bad design, there's no reason to allow infinitely fast movement and omitting strategy even from a shooter | | |
| ▲ | komali2 an hour ago | parent | next [-] | | > If your game allows your sights to just teleport on people's heads and take that as the winning condition then that just sounds like bad design, there's no reason to allow infinitely fast movement and omitting strategy even from a shooter This is interesting, because I feel like the fundamental gameplay of an fps is players exposing themselves to each other's field of view, and then trying to click the other's head first. Skill is a measure of map knowledge (so you can try to expose yourself to a possible field of view but not where the enemy is actually looking at that moment) and speed of clicking head. How would you design FPSs to remove this "bad game design?" | | |
| ▲ | DJBunnies 28 minutes ago | parent [-] | | > How would you design FPSs to remove this "bad game design?" I think we just need to accept that bots will always be better at reaction based KPIs & abusing "knowing" too much game state, we should just remove those conditions. 1) Move most of the application logic to the server, the client should be a fairly dumb terminal that knows how to render and accept inputs, and only receives the state that it needs. No more spying issues. 2) Just give everybody auto aim & immediate/auto controlled firing, etc. No more aim bot issues. 3) Improve the quality of gameplay around the types of interactions which bots are bad at. Decision making, strategy, communication, execution, adaptation. |
| |
| ▲ | Hikikomori 41 minutes ago | parent | prev [-] | | >If your game allows your sights to just teleport on people's heads and take that as the winning condition then that just sounds like bad design, there's no reason to allow infinitely fast movement and omitting strategy even from a shooter From the servers perspective you always kinda do that for fast movements as the client send rate usually isn't more than 60hz. |
|
|
| |
| ▲ | nkrisc an hour ago | parent | prev [-] | | You could probably detect those kinds of cheats heuristically on the server. There are limits to human ability. It’ll take more time to catch the cheaters, but I’m sure it’s possible. This player is posting 30 auctions per second. Bot. This player is turning at a rate of 500 radians per second to make perfect headshots. Bot. | | |
|
|
| ▲ | brettermeier 2 hours ago | parent | prev | next [-] |
| However, this only solves the cheat problem to a minimal extent. There is a lot of important data that players should not be directly aware of, but which is important for the game. For example, it is important for calculating sounds to know where enemies are nearby, even though you cannot see them, which makes wall hacks possible, etc. |
| |
| ▲ | soloridindan an hour ago | parent [-] | | Sounds are core to shooters and very much within the expected abilities of the players to hear them. If anything, I'd incorporate this kind of indicator in the game itself, allowing for deaf people to "hear" footsteps as well |
|
|
| ▲ | vkou 2 hours ago | parent | prev [-] |
| That only solves half of the cheating problem - illegal inputs from clients. The other half is much harder to solve. For a simple example - my client knows that there is an enemy player around a corner. It knows exactly where that player is, because that player is walking, and making noise. A cheats could allow the cheater to see his opponent's player's model through the wall. For a more blatant example, consider cheats in a first-person shooter that just snap your aim to the nearest enemy's head. This involves zero violation of the game's logic, and also makes the game completely unplayable for everyone in a lobby. |
| |
| ▲ | soloridindan an hour ago | parent [-] | | You already know where an enemy is if you hear them behind the wall, you don't need a cheat to tell you that there is noise coming from other side of the wall. The server also doesen't need to tell you they are behind it if they're sneaking. A game that allows zero home-in time sounds like a flaw in the game and something solvable on the serverside. You can replace a playermodel with wider "sound coming from around here" if you want to make it even harder for a cheat to pinpoint a sound | | |
| ▲ | ChocolateGod an hour ago | parent | next [-] | | > The server also doesen't need to tell you they are behind it if they're sneaking This requires the server to calculate line of sight checks for every player, which is costly, requires loading the entire geometry into the server and would be horribly prone to latency. Then you're looking at potential performance problems on the client due to only knowing about a player the second its in view and having to stream the assets to the GPU, which if don't happen in time for the frame you'll experience as hitching. > You already know where an enemy is if you hear them behind the wall Yes but this requires using your brain rather than just seeing them straight up through a wall. | |
| ▲ | __alexs an hour ago | parent | prev | next [-] | | I feel like you've only played 1 genre of video game or something. | |
| ▲ | vkou an hour ago | parent | prev [-] | | > You already know where an enemy is if you hear them behind the wall, You know they are somewhere behind the wall, you don't know which exact angle they are behind the wall, because headphones and our ears don't work with that degree of accuracy. The cheater can just swing the corner with his cursor already pre-positioned exactly on his target. Between peeker's advantage (inherent to any online game with latency) and human reaction time, there's not a lot you can do to fight that. |
|
|