Thanks for the link to the Valve article. It explains how the lagging ship position is compensated when doing things like shooting. The server just says
"The client fired, but his shot was based on his 100ms-old view of the game world. I'll go back 100ms and see where his shot landed."
In theory, that works even for 5km/s engagements because the server has an accurate history of world state. According to the Valve article, the server keeps a cache of 1000ms of game state.
Note that the formation flying problem remains. If we want to fly in formation at 5km/s, we're each going to see the other's position 100ms in the past. While we can shoot at each other because the server corrects for positions, it can't do anything about what we see. So if we're both next to each other on the server, we'll both see the other ship 500m behind. So we'll both slow in an attempt to match positions.
In human FPS games, 'formation running' isn't common practice. But if it was, the sub-10m/s speeds would introduce about 1m of visible position offset. That's more than a body width, but it pales in comparison to the 10 ship lengths that Battlescape would see just for the 5km/s case.
And this takes me back to islands/bubbles to drop the velocities in the prediction code to near-zero. Note that I have some doubts about how it would work without the full warp prototype treatment. It was designed for a specific environment, and employing just a piece of it may or may not work out.
I'll close with the comment that the warp prototype never implemented client side prediction. Everyone just worked from the server data as it arrived. Nobody said a word about client control performance. I wonder if positions can discard client side prediction, with only orientation being client-predicted. It's a newtonian environment, after all. Ships are subject to the dictates of physics.
Yep. To avoid showing ships in their past locations. The technique can certainly throw the other ships around quite a bit when the lag gets particularly bad. I figured that having a reasonably accurate current location was better than the alternative.