Fusion and lockstep

The whole answer can be found below.

Please note: The Photon forum is closed permanently. After many dedicated years of service we have made the decision to retire our forum and switch to read-only: we've saved the best to last! And we offer you support through these channels:

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

Write Us
an E-Mail

Feel free to send your question directly to our developers.

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

emotitron
2022-09-14 21:07:18

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.

FrixQn
2022-09-15 02:27:33

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.

emotitron
2022-09-15 16:39:00

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