You cannot break the speed of light with computational effort.
You’re saying that you want to have a round trip from client to server and back happen in-between frames.
You cannot do that. Period. You will not ever have latencies that low.
Even if you frame lock it at 60fps that means you’re calculating views, sending the data up the tube, checking it on the server, responding back with all the data about the new character that should appear and then rendering the new guy within 17ms.
You do see why that’s a serious issue right? Before the Server did nothing more than maintain a list of x,y,z coordinates of player positions. Now it’s rendering the entire game space and doing 3d calculations.
That’s several orders of magnitude more complex and costly.
You want a server to determine if a player should be visible (ie render each player’s perspective) and then get that back to them right before someone walks around the corner? With latency you’d need to render people in at least 200ms before they appear… Which is still plenty of time for a hacker to flick to them and kill them.
Your suggesting the server maintain a real time render for every single player and somehow manage to get the data back to them in less than 17ms so that they don’t have empty frames that suddenly become people?
Because that’s a ludicrous requirement in terms of latency (ping is totally reasonable at any value under 100ms) and server capacity.
Because your solution sounds like it would cause popping constantly and be a major burden on the server, which is already the largest overhead on a released game.
You need to account for every gap in the wall, nook and cranny and peephole for these sightlines. You’d have to bake so much detail into every calculation server side that it would effectively be rendering the entire map to host a single game.
You constantly have to render people in when they can’t be seen but will soon be seen. Which also means instead of keeping track of just locations the server needs to render the scene in sufficient detail as to determine sightlines.
Usually games just do this by sending info to clients of where everyone is and letting the clients render people in when the client determines that the sightline isn’t interrupted.
Some games will just not send the positions until they’re within a certain range of each other, but I’m a realistic game like tark you’d need several kilometers of info in case someone scoped in.
If you don’t do this correctly it leads to characters popping into existence from thin air
Based on reviews I’ve read there are some issues but it’s a small dev team (1 man shop iirc) and it’s the best medieval city builder since Banished according to reviews.
The fact that DMCA requests don’t have to be signed with an asymmetric key that lets you validate the company that sent it was actually behind the request is some of the dumbest shit.
We’ve known how to use certs online forever. Certainly well before the DMCA. Why the fuck wasn’t that a provision?
Oh right because our politicians are tech illiterate apes.