Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

You absolutely could design a multiplayer game such that the client only has access to what the player should be able to see. Whether such a game would actually be performant is obviously a different question, but as Internet bandwidth continues to improve on average I wouldn't be surprised if the server ends up becoming much more involved - both for anticheat reasons and to reduce the client-side workload.


It's not a problem of bandwidth, it's a problem of latency. What a client sees at any point in time is actually a client-side prediction.

If this wasn't the case, and the server wouldn't send player positions until they were actually visible, players would pop out of thin air when turning corners or crossing doorways.

This leads to a different kind of disadvantage called "peeker's advantage", where the peeking player shows up later at the peeked player's screen... but this is generally accepted as a tradeoff. Players like their object persistence apparently :)

Latency isn't getting any better soon, and there will always be an impassable limit on link latency due to distance.


Good points. I'd also add that the server would need to send enemy positions (albeit not with the same precision) for the audio system to play sounds (gunfire/walking/etc) even when player models are not visible.


Good catch! It's one of the variants of ESP cheats.



An excellent article, cheers! For those scrolling through, the article is written by a developer of Valorant, a recently-released FPS. He talks about his efforts to implement a system to prevent wallhacks and the challenges he encountered while doing so.

>Cheaters use wallhacks to see opponents through walls. In a tactical shooter like VALORANT, this gives them huge advantages when it comes to individual combat encounters as well as strategic decisions for the round as a whole. Wallhacks are especially insidious because they give an advantage that isn’t always obvious - your enemies could be using wallhacks... or maybe they’ve just figured out that you rush B every round. We really wanted to prevent that sense of doubt which lingers with players, poisoning their experiences long after the match.

>At the beginning of development, when we were talking about security goals for the project, the two things that came up over and over again were wallhacks and aimbots.

>League’s Fog of War system works because the game server withholds information about the positions of enemies until a client needs to display it. I knew if I could implement something like this for VALORANT we could solve the problem of wallhacks because there would be nothing for the wallhack to see. If an opponent was behind a wall, we wouldn’t send their location to enemy players, keeping them hidden until they decided to peek the angle. If we could pull it off, this seemed like the ideal solution - but we had no idea whether this would be feasible in Unreal Engine.


> You absolutely could design a multiplayer game such that the client only has access to what the player should be able to see

E.g. rocket league or online chess. No need to hide anything. Can't have wallhacks if there are no walls.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: