GDC 2009 Talks Accepted!

by Glenn Fiedler on December 12, 2008

I have two talks accepted at GDC 2009:

The first talk is part of the physics tutorial day, covering networking basics (UDP vs. TCP), reliability and flow control, building a node mesh – then moving on to how to synchronize a physics simulation, interpolation/extrapolation, client side prediction and authority management. The end result, hey look! a fully networked Havok simulation that plays well even under terrible internet conditions.

The second talk is the cutting edge of my personal research…

Here is the quick overview:

Open world games typically have high per-player simulation, streaming and memory costs, making them exceptionally difficult to network with a traditional client/server approach. This session presents an alternative peer-to-peer networking architecture that avoids this O(n) cost, while supporting seamless drop-in and drop-out play.

Topics covered include how to structure your game and networking systems when networking a large streaming world, how to synchronize a physics simulation so players feel no latency in their interactions with the game world, and how to synchronize mission progress when players can drop-in and drop-out of the game at any time.

Let me break that down a bit…

Basically, the challenge is you have a large streaming world game with physics simulation, and you want to network this. Problem is you have a very high per-player cost: CPU for physics, streaming for your open world, memory overhead. Assuming your players can each move freely around your large open world, this cost grows at O(n).

So if you just network your game using a traditional client/server model, suddenly you have this per-player cost on the server, and you find that you either have to reduce game quality by 1/n, tether your players together (the suck), or both – *OR* you end paying a shit-ton of money to host dedicated servers…

This talk is all about how to break this O(n) cost by distributing it across all players in the game using a new peer-to-peer architecture. Basically, it generalizes the authority management technique I developed in last year’s GDC talk: “Mercenaries 2: Networked Physics in a Large Streaming World” into a new way to distribute simulation, streaming and memory costs across all nodes. As a bonus it gives you host migration for free, because there is no host.

I also share a cool technique for synchronizing mission progress that is super-robust and makes it possible to support drop-in/drop-out COOP with a complicated mission structure, as well as the usual physics synchronization tricks from my networking lectures. Yes there will be a demo with cubes at some point … a large streaming world of cubes! :)

OK so enough about my talks…

Looking through the other talks, it seems to me that we have a very strong programming track at GDC next year.

Here are some of the talks I’m really excited about:

See you guys at GDC next year!

{ 3 comments… read them below or add one }

Marko January 2, 2009 at 6:35 am

Hi,

the first lecture “Networking for Physics Programmers” seems to be pretty interesting, but unfortunately, fyling to the US just for this lecture is a little bit expensive :)
Are you going to release the code in some form? That doesn’t mean, that I want it for free, I wouldn’t have a problem to donate money for it, as it contains lots of “brain power”.

Greetings

Reply

Glenn Fiedler January 2, 2009 at 1:25 pm

that depends entirely on whether i can get permission from sony or not! cheers

Reply

Paul Du Bois January 28, 2009 at 7:10 pm

Hey, glad to hear you’re excited about my Robotic Testing talk. I just found out about yours and it sounds really interesting! Let’s hope the schedule gods don’t get angry at us.

Reply

Leave a Comment

{ 1 trackback }

Previous post:

Next post: