Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enable sending interpolation updates with a history. #847

Open
cBournhonesque opened this issue Jan 26, 2025 · 3 comments
Open

Enable sending interpolation updates with a history. #847

cBournhonesque opened this issue Jan 26, 2025 · 3 comments
Labels
A-Interpolation Related to snapshot interpolation

Comments

@cBournhonesque
Copy link
Owner

Currently we only send interpolation updates at regular ticks, and we discard old updates.

This means that if the server sends updates for ticks 4 and 8 and that the update for tick 4 is received after tick 8, the tick 4 update is ignored.
On the client this might make the interpolation less accurate (bouncing ball issue).
So maybe we could still accept old interpolation updates?

Another option is to actually send a history of values, for instance a history of a few values (the history would contain values up to replication_interval).
This would fix issues like this:

  • send message for tick 8
  • entity despawns at tick 10
  • the despawn message is only sent at tick 16, and is applied too late on the client! (we want it to be applied on tick 10 if it's possible (if the interpolation_tick did not already go past tick 10)
@cBournhonesque cBournhonesque added the A-Interpolation Related to snapshot interpolation label Jan 26, 2025
@skygrango
Copy link

skygrango commented Feb 4, 2025

How about client maintain a buffer for ensuring correct critical operation ?

If there are missing updates, keep and use the old data and quickly replay when the required updates arrive

@skygrango
Copy link

replay seems too expensive under the conditions of real-time judgment and simulation. It might be simpler to include the historical value each time

@skygrango
Copy link

If old values ​​are accepted, a form of replay is also required?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-Interpolation Related to snapshot interpolation
Projects
None yet
Development

No branches or pull requests

2 participants