It's less a matter of what data is passed, though that which can be made deterministic would be better so, and more a matter of how often that data must be passed.
Michael Abrash talks a bit about perceptual latency reduction:
In the subsection on QuakeWorld.
I have not implemented a network strategy myself, but I have already read some related texts and thought about network solutions for my game engine project. So maybe I can give you a small overview.
I recall reading that in Team Fortress 2, the computer tracks the trajectory of every projectile including every bullet, rocket. It seems like that would ...
Sometimes a time and discussion is everything, what man needs!
Seperated my Message Protocol to custom library suitable for building for .net standard (unity) and .net core (server-side). Of course I get rid of native implementation of JSON in it, so it isn't dependent on some JSON library. So now it isn't pain to get it into Unity project.
Now make some ...
As described in the doc, the function OS.get_unique_id() seems to do what I need, which is getting a constant string that is unique to the device. I don't know for certain that this uses the MAC address, but it satisfies the intent of my question.
var _user_id = OS.get_unique_id()
Your prediction method has "coarse granularity" so to say: when prediction fails, big amount of movement is cancelled, which leads to jarring visuals.
In comparison with games in other genres (FPS, RPG, plaformers, etc), where movement prediction is used, movement is usually continuous. In case of prediction fail, this leads to relatively small amount of ...
Why not have your server respond to all move requests with the new location of the client's player?
Client A requests to move its player from (15, 15) to (15, 16). Both the current position and destination are included in the request.
The server recieves the request and determines where the player will be after attempting to move from position to ...
Let us talk time budgets.
First of all, the rate at which the server sends updates, and the rate at which the client renders don't have to match. Many games will send updates less frequently than the client renders.
With that said, the server will have some time to get the input, simulate and send the updates. Let us say, a 1/60 of a second.
Getting input ...