Comment by soloridindan

Comment by soloridindan 2 days ago

10 replies

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 2 days ago

> 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.

  • Ukv 2 days ago

    I don't think those performance concerns are really much of an issue with any sensible implementation. You'd do line of sight checks against simplified geometry first to handle the vast majority of cases, and you'd load character models/textures in advance (game/match startup) rather than only when they first appear on screen.

    One non-trivial part seems to me that if you walk around a corner you don't want to wait 50ms (your ping) for the server to send enemy locations you can now see. Ideally every tick the server would be sending all enemies that you could potentially see before the next tick depending on what your movement packets that it hasn't yet received turn out to be. Wouldn't entirely eliminate advantage from cheating (e.g: a cheater walking around a corner could still see enemies up to a tick/~15ms in advance) but would hopefully make this form of cheating significantly less worthwhile.

    • ChocolateGod 2 days ago

      You have to do line of sight checks based on the players entire FOV, which requires the server to know this in realtime with little latency.

      This is unworkable for fast paced games.

      • maccard 2 days ago

        This is unworkable for even slow paced games.

  • Hikikomori 2 days ago

    Cs2 and Valorant does this, but start sending positions around corners before they're visible.

    • ChocolateGod 2 days ago

      Basic distance checking is doable, but any kind of "they're ducking behind a 2 feet wall in front of me" is going to be horrible to detect server side.

      • Hikikomori a day ago

        Both Valorant and cs have pretty simple geometry and low player count which helps a lot for a system like this. Can't really do for bigger outdoor games with buildings etc.

    • vablings 2 days ago

      CS2 does not do Vischeck culling anymore. It was ditched with the move to source 2. All players are globally visible to everyone

__alexs 2 days ago

I feel like you've only played 1 genre of video game or something.

vkou 2 days ago

> 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.