Fusion and lockstep
The whole answer can be found below.
Try Our
Documentation
Please check if you can find an answer in our extensive documentation on Fusion.
Join Us
on Discord
Meet and talk to our staff and the entire Photon-Community via Discord.
Read More on
Stack Overflow
Find more information on Stack Overflow (for Circle members only).
Fusion and lockstep
FrixQn
2022-09-14 19:44:48
Does Fusion use lockstep the concept if you run network runner in dedicated server mode?
Comments
Greetings~
It does not employ lockstep. It is based on state transfer from the State Authority (the server in the case of Dedicated Server Mode) to clients. Clients can either employ prediction to render remote objects in the local timeframe, or it can can employ Lag Compensation to account for clients seeing remote objects in the past.
But after all, every predicted tick on the client must be confirmed by the server. But after all, the server will never be able to confirm the next tick if it has not received input from all players and has not modeled the system at the time of the tick itself, since its simulated system state in a particular tick is 100% accurate
Kaiserludi
2022-09-15 06:20:00
Hi @FrixQn.
If you need a deterministic network engine (lockstep is a deterministic approach), then Photon Quantum is the correct choice for you and not Photon Fusion.
FrixQn 2022-09-15T02:27:33+00:00
But after all, every predicted tick on the client must be confirmed by the server. But after all, the server will never be able to confirm the next tick if it has not received input from all players and has not modeled the system at the time of the tick itself, since its simulated system state in a particular tick is 100% accurate
If the Server does not get the inputs from a client in time when it does the authority tick simulation, it will run without that input (defaulting to a default version of the INetworkInput struct). There is a callback this triggers, so you can implement your own handling for this - such as just replicating the previous input.
This will create a missed prediction for the client, and client reconciliation will force that client back into agreement with the server.
Back to top