So if a ship has set a course and has stopped accelerating it doesn't need to send anything else unless that course is changed.
So if a ship has set a course and has stopped accelerating it doesn't need to send anything else unless that course is changed.
This allows a client to have a light-weight "cached" view of the reality, and the only trade-off is the occasional discrepancy from the reality. However, if you send updates about changes in speed/directions in real time, you get a pretty reliable representation of the state known by the server.
But even if you only send a "real" update once a second, I still don't see how this thing scales (that still leaves 1 PB in the above calculation). And if you send it less than that, I imagine things would start to look rather jittery. The "occasional discrepancy form reality" would be awful.
Last but not least, compression is your friend.
With higher bandwidths and server capacities I'm guessing these timeouts have been reduced, but never underestimate the player's ability to abuse your trade-offs.
The effect was to allow you to sling shot past the destination at warp speed, and if you logged back in at teh right time (seconds later) you could setup a waypoint far outside the outermost celestial body.
(Normally you can only warp to planets and moons, etc... you can't just pick an arbitrary direction and engage warp).
What I'm describing is definitely leaning more towards players that are constantly moving around though. It helps explain to me why in Asheron's Call, for instance, when you had too many people in the same city a "portal storm" arose and people started getting teleported out of the city randomly.
I think for some really hard engineering problems like this the best course could be to try and find a 'good enough' approach that will allow a significant ammount of players to interact while limiting the upper bound with a game mechanic to make it feel less artificial.
http://code.google.com/p/stableorbit
here are a couple videos from the never ending pyopencl port.
http://www.youtube.com/watch?v=lnOmy1ly6M0 http://www.youtube.com/watch?v=XCvRBHtPbzE
The ship movement command in Eve are limited to:
* Set course / speed (double clicking in space, speed set via clicking a speed dial thing). This is not something that gets constant tweaks, more a 'move in a general direction' command.
* Orbit x @ y distance
* Keep x @ y distance
* Approach x
In addition other actions in eve are relatively long lived, there isn't fps style aiming but 'locking on' and activating modules which have cycles times of 2-60 seconds.
In practice, even in the heat of battle, I doubt the average player gets even close to 1 input action per second over the course of a fight.