logoalt Hacker News

Ukvtoday at 1:10 PM1 replyview on HN

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.


Replies

ChocolateGodtoday at 3:31 PM

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.

show 1 reply