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

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





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.


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.


This is unworkable for even slow paced games.

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

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.

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



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

Search: