You know, it seems to work
I’ve just tried a pair of clients in the UK against a server running on a machine we rent in Canada. As you’d expect the TCP connection out there isn’t the fastest or for that matter the most consistent.
With the test client (screenshot here) I can watch the simulations running (red dots), move my player around (yellow dot) and watch other clients move (green dot). I can see the simulation time being displayed, the checksum for the game world and the offset to the server time this client is currently running at (not including the time taken for a message to go from server to client).
The observed behaviour is that the TCP connection is relatively stable though you get odd spikes here and there where the client will get slightly ahead of time (which the algorithm auto adjusts for).
Cooler - I can pause the simulation running locally, let the server run off into the future, let the client get way behind where it should be. On starting the client running again it runs a whole bunch of simulation cycles which allow it to catch up with the other client. Once the client has caught up (close to instant) the commands become as responsive as always.
Seems to be ok - though I guess I won’t know until there are more players, more operating systems, more network traffic and a real game to play
Kev