<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Gaffer on Games</title>
	<atom:link href="http://gafferongames.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://gafferongames.com</link>
	<description>Glenn Fiedler, an Australian Game Developer in Los Angeles</description>
	<lastBuildDate>Fri, 22 May 2009 15:53:07 +0000</lastBuildDate>
	<generator>http://wordpress.com/</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<image>
		<url>http://www.gravatar.com/blavatar/925714986b7f999d0058f638b34d12f9?s=96&#038;d=http://s.wordpress.com/i/buttonw-com.png</url>
		<title>Gaffer on Games</title>
		<link>http://gafferongames.com</link>
	</image>
			<item>
		<title>Montreal International Game Summit 2009</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/</link>
		<comments>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comments</comments>
		<pubDate>Fri, 22 May 2009 15:53:07 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Physics]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=861</guid>
		<description><![CDATA[
Good news! I&#8217;ve been invited to speak at the Montreal International Game Summit 2009
I haven&#8217;t decided on a name for the talk yet, but it will focus on networked physics and combine material from my GDC 2009 tutorial, lecture and new material I&#8217;m going to develop over the next few months.
The basic overview of the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=861&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><a href="http://www.sijm.ca/2008/en"><img src="http://www.sijm.ca/2008/wp-content/uploads/2009/03/feuxartifice.jpg"></img></a></p>
<p>Good news! I&#8217;ve been invited to speak at the Montreal International Game Summit 2009</p>
<p>I haven&#8217;t decided on a name for the talk yet, but it will focus on networked physics and combine material from my GDC 2009 tutorial, lecture and new material I&#8217;m going to develop over the next few months.</p>
<p>The basic overview of the talk is something like this:</p>
<ul>
<li>How the internet works and why we should use UDP</li>
<li>Bandwidth considerations, packet structure, 64kbit/sec</li>
<li>Describe basic algorithm for synchronization: push/pull/serialize with visual smoothing</li>
<li>Synchronize one server controlled cube, client is just a viewer of simulation</li>
<li>Synchronize two player controlled cubes, client and server cube.
<li>Effects of latency, client side prediction</li>
<li>High simulation cost for rewind and replay, client side prediction breaks down in a dynamic world</li>
<li>Dynamic world synchronization: options &#8211; client side prediction, no prediction, styrofoam, authority scheme</li>
<li>Fiedler&#8217;s Cubes demo showing authority scheme to avoid high cost</li>
<li>Corrections, reverse corrections</li>
<li>Compression techniques</li>
<li>Cool demo to go out</li>
<li>Extended Q&amp;A</li>
</ul>
<p>The idea is to pretty much combine all the talks I&#8217;ve done so far on networked physics and present the information in a clear, simple manner &#8211; anybody who comes to this talk will leave with all the knowledge they need to network a havok physics simulation.</p>
<p>And of course, I get to spend a weekend in Montreal with my sweetheart about 2 months after we get married</p>
<p>So you see, it&#8217;s win-win folks <img src='http://s.wordpress.com/wp-includes/images/smilies/face-wink.png' alt=';)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/861/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/861/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/861/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=861&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>

		<media:content url="http://www.sijm.ca/2008/wp-content/uploads/2009/03/feuxartifice.jpg" medium="image" />
	</item>
		<item>
		<title>Aussie Aussie Aussie &#8211; OI OI OI!</title>
		<link>http://gafferongames.com/2009/04/07/aussie-aussie-aussie-oi-oi-oi/</link>
		<comments>http://gafferongames.com/2009/04/07/aussie-aussie-aussie-oi-oi-oi/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 16:14:34 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=848</guid>
		<description><![CDATA[
Incredible. Just Incredible! Heads are screwed on right down under. After years of bungling they&#8217;ve made the right call. Just perfect!
Kevin Rudd has announced that the NBN tender process has been terminated, and that the government will go it alone on a new $43 billion broadband network.
The new wholesale-only network will connect 90% of homes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=848&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://gafferongames.files.wordpress.com/2009/04/aussie.jpg"></img></p>
<p>Incredible. Just Incredible! Heads are screwed on right down under. After years of bungling they&#8217;ve made the right call. Just perfect!</p>
<blockquote><p>Kevin Rudd has announced that the NBN tender process has been terminated, and that the government will go it alone on a new $43 billion broadband network.</p>
<p>The new wholesale-only network will connect 90% of homes with fibre to the home and will offer 100Mbit/s, with &#8220;next-generation&#8221; wireless and &#8220;third-generation&#8221; satellites to cover the remaining population. The network will be &#8220;open access&#8221; so retail ISPs can build their own products to sell to businesses and consumers.
</p></blockquote>
<p>If they keep this up, I might just start getting a bit homesick! <img src='http://s.wordpress.com/wp-includes/images/smilies/face-smile.png' alt=':)' class='wp-smiley' /> </p>
<p>source: <a href="http://www.whirlpool.net.au/news/?id=1843&amp;show=replies">whirlpool.net.au</a></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/848/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/848/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/848/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/848/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/848/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/848/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/848/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/848/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/848/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/848/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=848&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/04/07/aussie-aussie-aussie-oi-oi-oi/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>

		<media:content url="http://gafferongames.files.wordpress.com/2009/04/aussie.jpg" medium="image" />
	</item>
		<item>
		<title>Almost There</title>
		<link>http://gafferongames.com/2009/03/26/almost-there/</link>
		<comments>http://gafferongames.com/2009/03/26/almost-there/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 22:43:16 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Physics]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=842</guid>
		<description><![CDATA[
If it before Friday 9AM, please please come to my talk Drop-In COOP for Open World Games in West Hall, Room 2014.
If it is after, then thankyou, good afternoon, good evening and goodnight.
If you would like to play the demo of Fiedler&#8217;s Cubes &#8211; please call me on 310-***-****, or email gaffer@gaffer.org
I&#8217;ll be in San [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=842&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://gafferongames.files.wordpress.com/2009/03/finish.jpg?w=600"></img></p>
<p>If it before Friday 9AM, please <i>please</i> come to my talk <a href="https://www.cmpevents.com/GD09/a.asp?option=C&amp;V=11&amp;SessID=8645">Drop-In COOP for Open World Games</a> in West Hall, Room 2014.</p>
<p>If it is after, then thankyou, good afternoon, good evening and goodnight.</p>
<p>If you would like to play the demo of <u>Fiedler&#8217;s Cubes</u> &#8211; please call me on 310-***-****, or email <a href="mailto:gaffer@gaffer.org">gaffer@gaffer.org</a></p>
<p>I&#8217;ll be in San Francisco all day today and all weekend after the conference</p>
<p>Wish me luck!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/842/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/842/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/842/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=842&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/03/26/almost-there/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>

		<media:content url="http://gafferongames.files.wordpress.com/2009/03/finish.jpg?w=600" medium="image" />
	</item>
		<item>
		<title>One Down, One To Go!</title>
		<link>http://gafferongames.com/2009/03/25/one-down-one-to-go/</link>
		<comments>http://gafferongames.com/2009/03/25/one-down-one-to-go/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 18:49:06 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Physics]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=813</guid>
		<description><![CDATA[
The tutorial went pretty well, I barely made the demo in time and had a few minor logistical issues, but the audience seemed to enjoy my little jokes and self-effacing australian humor so all seems to be forgiven.
I&#8217;ll say just one thing about this talk and then that&#8217;s it.
This is the first time I&#8217;ve ever [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=813&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://gafferongames.files.wordpress.com/2009/03/bush.jpg"></img></p>
<p>The tutorial went pretty well, I barely made the demo in time and had a few minor logistical issues, but the audience seemed to enjoy my little jokes and self-effacing australian humor so all seems to be forgiven.</p>
<p>I&#8217;ll say just one thing about this talk and then that&#8217;s it.</p>
<p>This is the first time I&#8217;ve ever spoken in public and not been <u>deeply ashamed</u> of my performance afterwards.</p>
<p>Not saying it was great. I didn&#8217;t hit it out of the park. But I did what I needed to do, I was entirely myself up on stage and I formed just a tiny small spark of connection with the audience. And by that metric, for a mere programmer who really doesn&#8217;t know what he&#8217;s doing, I think I did <u>OK</u>.</p>
<p>If you are looking for the slides they are <a href="http://gafferongames.files.wordpress.com/2009/03/networking-for-physics-programmers.pdf">here</a>. </p>
<p>If you are looking for more information about game networking and networked physics go <a href="http://gafferongames.com/gdc2009">here</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/813/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/813/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/813/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=813&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/03/25/one-down-one-to-go/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>

		<media:content url="http://gafferongames.files.wordpress.com/2009/03/bush.jpg" medium="image" />
	</item>
		<item>
		<title>Networking for Physics Programmers</title>
		<link>http://gafferongames.com/2009/03/24/networking-for-physics-programmers-draft/</link>
		<comments>http://gafferongames.com/2009/03/24/networking-for-physics-programmers-draft/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 08:13:01 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Physics]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=800</guid>
		<description><![CDATA[
Here are the slides for my tutorial tomorrow
The goal of the tutorial is to show people the basic ideas of how to network a physics simulation
The key points are:

Use UDP, not TCP
Aim for 64kbit/sec &#8211; That&#8217;s 256 byte packets, 30 times per-second **
Handle out of order packets with a sequence number
Send input and physics state [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=800&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://gafferongames.files.wordpress.com/2009/03/brick.jpg?w=300&#038;h=300" alt="brick" title="brick" width="300" height="300" /></p>
<p>Here are the <a href="http://gafferongames.files.wordpress.com/2009/03/networking-for-physics-programmers.pdf">slides</a> for my tutorial tomorrow</p>
<p>The goal of the tutorial is to show people the basic ideas of how to network a physics simulation</p>
<p>The key points are:</p>
<ul>
<li>Use UDP, not TCP</li>
<li>Aim for 64kbit/sec &#8211; That&#8217;s 256 byte packets, 30 times per-second <b>**</b></li>
<li>Handle out of order packets with a sequence number</li>
<li>Send input and physics state in your packet</li>
<li>Snap the physics state and extrapolate</li>
<li>Run the simulation on both sides, and use the input to improve extrapolation</li>
<li>Use visual smoothing to hide errors</li>
</ul>
<p>Of course, there is a <u>lot more to it</u> but I hope this serves as a good starting point if you want to get into networked physics</p>
<p>Cheers!</p>
<p><b>**</b> <i>actually, that&#8217;s a little bit over 64kbit/sec, especially when you include IPsec header for consoles and UDP packet header, it&#8217;s just such a nice number for folks to remember, I couldn&#8217;t resist a little white lie <img src='http://s.wordpress.com/wp-includes/images/smilies/face-smile.png' alt=':)' class='wp-smiley' /> </i></p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/800/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/800/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/800/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=800&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/03/24/networking-for-physics-programmers-draft/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>

		<media:content url="http://gafferongames.files.wordpress.com/2009/03/brick.jpg?w=300" medium="image">
			<media:title type="html">brick</media:title>
		</media:content>
	</item>
		<item>
		<title>Why you really should come to my GDC talk</title>
		<link>http://gafferongames.com/2009/03/20/why-you-really-should-come-to-my-gdc-talk/</link>
		<comments>http://gafferongames.com/2009/03/20/why-you-really-should-come-to-my-gdc-talk/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 03:52:29 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Game Physics]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=769</guid>
		<description><![CDATA[Two words: demo talk.
My entire talk is based around an interactive demo. It&#8217;s a demo talk. There are no slides. I have 45 minutes of material inside this interactive demo to show you guys and it&#8217;s all good stuff.
I just finished the demo today. Here&#8217;s a screenshot:

Now a bit of info on what info I&#8217;m [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=769&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Two words: <b>demo talk</b>.</p>
<p>My entire talk is based around an interactive demo. It&#8217;s a demo talk. <u>There are no slides</u>. I have 45 minutes of material inside this interactive demo to show you guys and it&#8217;s all good stuff.</p>
<p>I just finished the demo today. Here&#8217;s a screenshot:</p>
<p><img src="http://gafferongames.files.wordpress.com/2009/03/demo-cropped.png?w=577"></img></p>
<p>Now a bit of info on what info I&#8217;m actually presenting&#8230;</p>
<p>Open world games are very difficult to network. I learned this lesson the hard way on Mercs2. The key problem is that open world games have really high CPU, memory and streaming costs, so if you try networking these games using client/server you end up with two, three or four times the CPU, memory and streaming cost on the server player&#8217;s machine.</p>
<p>It gets worse. If players are free to go where they like then streaming performance degrades at a rate <u>worse</u> than linear, because you have to do lots of additional seeks when players are in different areas of the map. </p>
<p>All of this adds up to a gigantic pain in the ass. The sort of problem that makes grown programmers cry. And I did. You see there is really no way out other than reducing quality and tethering the players together *OR* offloading all the work to a dedicated server.</p>
<p>And a dedicated server gets expensive. So for Mercs2 we basically threw our hands up, reduced the hibernation distance by 50% when the second player joined the game (notice the extra pop-in during Mercs2 COOP? this is why&#8230;), and tethered the players together within 500m.</p>
<p>Yes we may have shipped the game with COOP, but only just.</p>
<p>After I shipped Mercs2 I had a hunch. What if there was some way to distribute CPU, memory and streaming cost across each player in the game? I wasn&#8217;t 100% sure, but I suspected it may be possible if I used peer-to-peer instead of client/server.</p>
<p>This way I could avoid paying for a dedicated server and I wouldn&#8217;t have to reduce quality or tether the players together. Overall the quality of the game would be significantly better in COOP.</p>
<p>So after Mercs2 shipped, I quit my job at Pandemic and started working on a demo&#8230;</p>
<p>If you come to my talk you get to see this demo.</p>
<p>In fact, everything I tell you in my talk, I&#8217;ve already coded and can show you working right in front of your eyes. I&#8217;ll even compile the fucking code live during the talk as I flip #defines to go from one part of the demo to the next. <img src='http://s.wordpress.com/wp-includes/images/smilies/face-smile.png' alt=':)' class='wp-smiley' /> </p>
<p>I&#8217;ll show you how to keep a physically simulated world of one million objects in sync using peer-to-peer. How to avoid feedback, how to use an authority scheme to eliminate latency. And finally, how to support late joins so players can join and leave at any time.  In summary, how to keep one million physically simulated cubes in sync using peer-to-peer. Even cubes that were pushed around before the player joined the game.</p>
<p>If you want to learn how do all of this then <a href="https://www.cmpevents.com/GD09/a.asp?option=C&amp;V=11&amp;SessID=8645">you <i>really</i> should come to my GDC talk</a>!</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/769/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/769/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/769/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/769/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/769/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/769/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/769/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/769/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/769/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/769/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=769&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/03/20/why-you-really-should-come-to-my-gdc-talk/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>

		<media:content url="http://gafferongames.files.wordpress.com/2009/03/demo-cropped.png?w=577" medium="image" />
	</item>
		<item>
		<title>GDC2009: Officially Shitting Bricks RIGHT NOW</title>
		<link>http://gafferongames.com/2009/03/19/gdc2009-officially-shitting-bricks-right-now/</link>
		<comments>http://gafferongames.com/2009/03/19/gdc2009-officially-shitting-bricks-right-now/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 07:17:01 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=751</guid>
		<description><![CDATA[
Checked the calendar today, I fly out to GDC this sunday, for some reason I thought I had a week more than I did. Oh man.
Well I have my final talk layout done, and the demo is nearly finished &#8211; but I&#8217;m still scared shitless. Why?
I guess it&#8217;s always difficult to talk in front of [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=751&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p><img src="http://gafferongames.files.wordpress.com/2009/03/lotsofbricks.jpg?w=300&#038;h=245" alt="lots and lots of bricks" title="lots and lots of bricks" width="300" height="245" class="alignnone size-full wp-image-767" /></p>
<p>Checked the calendar today, I fly out to GDC this sunday, for some reason I thought I had a week more than I did. Oh man.</p>
<p>Well I have my final talk layout done, and the demo is nearly finished &#8211; but I&#8217;m still scared shitless. Why?</p>
<p>I guess it&#8217;s always difficult to talk in front of an audience of 500 people, no matter how hard you prepare&#8230; there is always more you feel you can do. Oh and even better, my talk is 9AM friday, which means I&#8217;m get to stay in this awesome scared shitless state ALL WEEK LONG, meaning I&#8217;ll spend most of my time in sanfran practicing and preparing my talk in my hotel room. Argh.</p>
<p>Oh, and that previous post I gave about <a href="http://gafferongames.com/2009/02/15/how-to-prepare-a-talk-for-gdc/">how to prepare a talk for GDC</a>? </p>
<p>Forget everything I said and <a href="http://www.amazon.com/Presenting-Win-Telling-Financial-Prentice/dp/0130464139/ref=pd_bbs_sr_2?ie=UTF8&amp;s=books&amp;qid=1237446917&amp;sr=8-2">buy this book</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/751/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/751/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/751/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=751&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/03/19/gdc2009-officially-shitting-bricks-right-now/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>

		<media:content url="http://gafferongames.files.wordpress.com/2009/03/lotsofbricks.jpg" medium="image">
			<media:title type="html">lots and lots of bricks</media:title>
		</media:content>
	</item>
		<item>
		<title>Last Minute GDC Crunch!</title>
		<link>http://gafferongames.com/2009/03/13/last-minute-gdc-crunch/</link>
		<comments>http://gafferongames.com/2009/03/13/last-minute-gdc-crunch/#comments</comments>
		<pubDate>Fri, 13 Mar 2009 20:43:06 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=743</guid>
		<description><![CDATA[Still hard at work on my GDC talks!

Practice session at USC went great yesterday, and I just finished the slides for my second talk Networking for Physics Programmers.
It&#8217;s turned into something pretty cool, a short 30 minute lecture on how to network a physics simulation, better than boring everybody over an hour, and I can [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=743&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>Still hard at work on my GDC talks!</p>
<p><img src="http://gafferongames.files.wordpress.com/2009/03/death-by-keyboard.gif?w=150&#038;h=107" alt="death-by-keyboard" title="death-by-keyboard" width="150" height="107" class="alignnone size-full wp-image-744" /></p>
<p>Practice session at USC went great yesterday, and I just finished the slides for my second talk <a href="https://www.cmpevents.com/GD09/a.asp?option=C&amp;V=11&amp;SessID=8531">Networking for Physics Programmers</a>.</p>
<p>It&#8217;s turned into something pretty cool, a short 30 minute lecture on how to network a physics simulation, better than boring everybody over an hour, and I can keep the content really nice and dense! Lots of &#8220;Aha!&#8221; moments is my goal</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/743/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/743/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/743/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=743&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/03/13/last-minute-gdc-crunch/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>

		<media:content url="http://gafferongames.files.wordpress.com/2009/03/death-by-keyboard.gif" medium="image">
			<media:title type="html">death-by-keyboard</media:title>
		</media:content>
	</item>
		<item>
		<title>GDC Practice at USC GamePipe</title>
		<link>http://gafferongames.com/2009/03/03/practice-talk-at-usc-gamepipe/</link>
		<comments>http://gafferongames.com/2009/03/03/practice-talk-at-usc-gamepipe/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 00:42:00 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=734</guid>
		<description><![CDATA[I&#8217;m practicing my GDC talk &#8220;Drop-IN COOP for Open World Games&#8221; as part of the USC GamePipe seminar series.
I&#8217;m talking next week on Thursday, March 12th at 10AM.
So if you&#8217;re a student at USC and are interested in game networking, drop on by and give me some feedback!
Click for details.
      [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=734&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><p>I&#8217;m practicing my GDC talk &#8220;Drop-IN COOP for Open World Games&#8221; as part of the USC GamePipe seminar series.</p>
<p>I&#8217;m talking next week on Thursday, March 12th at 10AM.</p>
<p>So if you&#8217;re a student at USC and are interested in game networking, drop on by and give me some feedback!</p>
<p><a href="http://gamepipe.usc.edu/USC_GamePipe_Laboratory/Seminars/Entries/2009/3/12_Glenn_Fiedler_-_Networking_for_Game_Programmers.html">Click for details</a>.</p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/734/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/734/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/734/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/734/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/734/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/734/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/734/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/734/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/734/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/734/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=734&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/03/03/practice-talk-at-usc-gamepipe/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>
	</item>
		<item>
		<title>Game Developer Magazine Recommends my GDC Talk</title>
		<link>http://gafferongames.com/2009/02/19/game-developer-magazine-recommends-my-gdc-talk/</link>
		<comments>http://gafferongames.com/2009/02/19/game-developer-magazine-recommends-my-gdc-talk/#comments</comments>
		<pubDate>Thu, 19 Feb 2009 17:14:12 +0000</pubDate>
		<dc:creator>Glenn Fiedler</dc:creator>
				<category><![CDATA[Game Development]]></category>
		<category><![CDATA[Networking]]></category>

		<guid isPermaLink="false">http://gafferongames.com/?p=727</guid>
		<description><![CDATA[
&#8220;DROP-IN CO-OP FOR OPEN WORLD GAMES [LECTURE]
Glenn Fiedler (Sony)
Fiedler was the multiplayer lead programmer on Pandemic/EA&#8217;s MERCENARIES 2, which featured a streaming open world and drop-in, drop-out co-op throughout its entire campaign &#8211; one of the things critics and fans liked best about the game. Making that work requires a huge amount of technical knowledge [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=727&subd=gafferongames&ref=&feed=1" />]]></description>
			<content:encoded><![CDATA[<div class='snap_preview'><br /><blockquote><p>
&#8220;<b>DROP-IN CO-OP FOR OPEN WORLD GAMES [LECTURE]</b><br />
<u>Glenn Fiedler (Sony)</u><br />
Fiedler was the multiplayer lead programmer on Pandemic/EA&#8217;s MERCENARIES 2, which featured a streaming open world and drop-in, drop-out co-op throughout its entire campaign &#8211; one of the things critics and fans liked best about the game. Making that work requires a huge amount of technical knowledge and skill. When I consider the great times I had with another co-op open worlder, Realtime Worlds/Microsoft&#8217;s CRACKDOWN, which offered a similarly free-form co-op experience, I&#8217;m convinced more developers need to emphasize this in open-world games. Here&#8217;s where to start.&#8221;
</p></blockquote>
<p>Woot! <img src='http://s.wordpress.com/wp-includes/images/smilies/face-smile.png' alt=':)' class='wp-smiley' /> </p>
  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/gafferongames.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/gafferongames.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/gafferongames.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/gafferongames.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/gafferongames.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/gafferongames.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/gafferongames.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/gafferongames.wordpress.com/727/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/gafferongames.wordpress.com/727/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/gafferongames.wordpress.com/727/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=gafferongames.com&blog=4587103&post=727&subd=gafferongames&ref=&feed=1" /></div>]]></content:encoded>
			<wfw:commentRss>http://gafferongames.com/2009/02/19/game-developer-magazine-recommends-my-gdc-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gaffer</media:title>
		</media:content>
	</item>
	</channel>
</rss>