Skip to main content
GameDev.net gamedev.net
🔒 Locked

Synchronizing actions to interpolated movement

Started by fjholmstrom Feb 4, 2012 at 9:39 AM 0 replies 1.9k views
Original Post
fjholmstrom
fjholmstrom
I've implemented pretty much the techniques described by valve here: https://developer.valvesoftware.com/wiki/Source_Multiplayer_Networking It all works on both the server and client(s). With one little issue, or rather, a concern/question:

When I interpolate the movement of an entity between two points I already know, this causes a blanked 100ms rendering lag on the client (I receive state updates at 20Hz) of remote entities. This is fine, but when a remote entity does some action (say shooting or jumping), which needs to be synchronized to movement - do I not also need to delay these events by the same amount when I receive them from the server, so everything lines up nicely?
hplus0603
hplus0603
Yes, you need to display object position and object actions at the same (consistent) time stamp. If they are somehow sent or simulated separately, then you'll get weird-looking artifacts unless you re-align them.

In this model, typically, you'll enter everything a remote entity does into a single receive queue on the viewing client, time-stamped, and play it back in order with some fixed delay based on your RTT to the server.
enum Bool { True, False, FileNotFound };

Topic Locked

This topic has been locked by a moderator. New replies are not allowed.

Sign in to reply to this topic.