4 ms·
Easy: code your game correctly and check for impossibilities server-side. But that costs money in development and infra.
by viccuad 5y ago
Easy: code your game correctly and check for impossibilities server-side. But that costs money in development and infra.
- endtype 5y agoIt's not the impossibilities I'm worried about. Those are easy to see and report. It's the slight corrections which look "natural" but are actually the work of cheats "assisting" players.
- anonymousab 5y agoIf the hackers are no longer rampantly ruining the game and rendering it effectively unplayable as someone instantly headshots everyone on sight; if the hackers or botters have become indistinguishable from other competent players, then... Well, excellent! Mission Accomplished. All you have remaining is a matchmaking problem, which they're already, separately trying to solve. (As an aside, we already have games using built in assistance/cheats as an accessibility feature to level the playing field for people using certain hardware or controllers e.g. games with PC and console crossplay, so perhaps there's some approaches and lessons from that which we can apply here as well.) The only thing at stake then is the integrity of leaderboards or tournament brackets, which is a problem that already had some different, separate approaches to solve. But IMO that a problem is absolutely subservient to the integrity and playability of the base game.
- endtype 5y ago"if the hackers or botters have become indistinguishable from other competent players, then... Well, excellent! Mission Accomplished" "... that a problem is absolutely subservient to the integrity and playability of the base game." If you use hacks/cheats to help you play higher than your natural skill/ability, doesn't that ruin the integrity of the game? The mission is not accomplished in this case. Instead it's just tricky to determine who's hacking. Headshotting everyone on-sight also sounds like the old days of hacks in games. In my experience, there is more nuance to the way these cheats are used these days. Most people aren't trying to be obvious about it.
- DizzyDoo 5y agoCould you expand on "code your game correctly"? Let's say I'm playing your (correctly coded) game and I've got an aimbot, that snaps onto someone's head, how do you detect/stop that from the server-side (the only place you can trust)?
- Stevvo 5y agoYou look for aim that is too perfect. E.g. humans nearly always overshoot their target before correcting, aimbots never do (unless they are trying to imitate humans)
- vkou 5y agoGreat, so now we'll adjust our aimbot to slightly overshoot the target, and swing back. Give it a little bit of randomness. A random delay of 50-100ms. Make it flat out miss a small percentage of the time. It'll still be better than 99.99% of human beings at clicking on heads, and will still win you 99% of fights against non-cheaters. Now what do you do, in your correctly coded game? Keep in mind, as a cheat developer, I can keep moving these goal posts.
- DizzyDoo 5y agoThis is exactly right. I actually think the worst thing about the suggestion you're replying to is that it is an over-generalisation. "Most players will do X", "they nearly always do Y"... yeah, okay, but what about the 10% who don't? The 1% or the 0.1% who don't? What about the ones who do as you describe, except for 5% of the time when they don't, or when they get lucky? I've hit genuinely lucky shots in a game, accidental good plays, for the receiving player they probably thought I was cheating, and yet I wasn't. The potential for false-positives is horrible, and you end up outlawing legitimate behavior based on a poor understanding of play.
- maccard 5y ago> Easy: code your game correctly and check for impossibilities server-side. But that costs money in development and infra. Do you have any experience developing networked multiplayer games? I do it for a living, and it's not that easy, at all. In a situation where I shoot at your head on my screen, but you were already around the corner on your screen, what happens? This happens _all_ the time due to latency, and has nothing to do with development costs or infra. There's no way to avoid the problem when you have people with varying levels of connection quality, and different distances to the game server.