hey guys, gaffer here
so i'm doing two talks at GDC 2009 this year
first i'm doing a 1hr talk "Networking for Physics Programmers" during the physics tutorial days (monday/tuesday)
and i'm doing a lecture called "Drop-In COOP for Open World Games"
*both* talks will explain how to network a physics simulation, and build on the work i presented at GDC 2008 - the key idea here is simply that you send the physics state for objects as frequently as possible (in one direction), and you always extrapolate using the physics simulation itself. there is no traditional interpolation/extrapolation - just a visual smoothing of objects you render from the snapped states in the physics simulation, i'll be explaining this in the first talk.
so networking physics is actually really easy, but there are interesting aspects like how to synchronize input, how to distribute authority (who "owns" an object) and various other tricks that help you remove the perception of latency. for example with authority management (or an "authority scheme") you can remove any perception of latency when players interact with physically simulated objects, even when there is seconds of lag. this works as long as the players interact with different sets of objects. effectively, each player is the server for objects they control, and becomes "the server" for objects they interact with.
i'm so convinced this is the right way to do things, that my lecture is about a generalization to a new peer-to-peer architecture for synchronizing physics in an open world. i'll show you guys how to synchronize a physics simulation of a million cubes *without* having a server, each player is a peer and they have a set of authority rules that keeps the world in sync, and minimizes latency
see you guys at GDC! if you can't make it, check back on my website, i'll have the slides and hopefully a video of the demos up
http://www.gafferongames.comcheers all!