<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Montreal International Game Summit 2009</title>
	<atom:link href="http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/feed/" rel="self" type="application/rss+xml" />
	<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/</link>
	<description>Glenn Fiedler&#039;s Game Development Articles and Tutorials</description>
	<lastBuildDate>Tue, 24 Apr 2012 19:30:32 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-31221</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Tue, 27 Dec 2011 09:02:10 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-31221</guid>
		<description>Styrofoam physics is a trick to avoid synchronizing cosmetic physics objects. Treat the objects as if they have zero mass. The player can push these objects around, but they do not push back. Obviously this is not good for all situations but if you have a lot of debris flying about or if you just want secondary motion driven by the player and the actual sync of the the objects on each machine is not so important, it is a useful trick to consider. cheers</description>
		<content:encoded><![CDATA[<p>Styrofoam physics is a trick to avoid synchronizing cosmetic physics objects. Treat the objects as if they have zero mass. The player can push these objects around, but they do not push back. Obviously this is not good for all situations but if you have a lot of debris flying about or if you just want secondary motion driven by the player and the actual sync of the the objects on each machine is not so important, it is a useful trick to consider. cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Kevin Smith</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-31001</link>
		<dc:creator>Kevin Smith</dc:creator>
		<pubDate>Mon, 26 Dec 2011 04:24:08 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-31001</guid>
		<description>You mentioned a few options for dynamic world synchronization. I think your articles cover most of them but I can&#039;t seem to find anything on &quot;styrofoam&quot;. Could you elaborate on that one a bit?</description>
		<content:encoded><![CDATA[<p>You mentioned a few options for dynamic world synchronization. I think your articles cover most of them but I can&#8217;t seem to find anything on &#8220;styrofoam&#8221;. Could you elaborate on that one a bit?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Chan</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-1110</link>
		<dc:creator>John Chan</dc:creator>
		<pubDate>Tue, 18 Aug 2009 17:20:48 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-1110</guid>
		<description>Awesome! Thanks very much. I&#039;ll see you there :)</description>
		<content:encoded><![CDATA[<p>Awesome! Thanks very much. I&#8217;ll see you there <img src='http://gafferongames.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-1109</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Tue, 18 Aug 2009 03:08:28 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-1109</guid>
		<description>ok. confirmed! :)</description>
		<content:encoded><![CDATA[<p>ok. confirmed! <img src='http://gafferongames.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-1108</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Wed, 12 Aug 2009 17:40:29 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-1108</guid>
		<description>awesome, well the title of my talk is &quot;Solving the Networked Physics Puzzle&quot;, I&#039;m told it is confirmed, but I guess be 100% sure you should wait until they announce the sessions!

They also have me signed up to host a networking round-table, so you should come to that too

See you there!</description>
		<content:encoded><![CDATA[<p>awesome, well the title of my talk is &#8220;Solving the Networked Physics Puzzle&#8221;, I&#8217;m told it is confirmed, but I guess be 100% sure you should wait until they announce the sessions!</p>
<p>They also have me signed up to host a networking round-table, so you should come to that too</p>
<p>See you there!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: John Chan</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-1107</link>
		<dc:creator>John Chan</dc:creator>
		<pubDate>Wed, 12 Aug 2009 06:49:04 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-1107</guid>
		<description>Is this confirmed? If yes, I&#039;m going to register for the conference just for your talk!!
Too bad EA doesn&#039;t sponsor me on this since it&#039;s not GDC... :(</description>
		<content:encoded><![CDATA[<p>Is this confirmed? If yes, I&#8217;m going to register for the conference just for your talk!!<br />
Too bad EA doesn&#8217;t sponsor me on this since it&#8217;s not GDC&#8230; <img src='http://gafferongames.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomasz Stachowiak</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-1105</link>
		<dc:creator>Tomasz Stachowiak</dc:creator>
		<pubDate>Tue, 02 Jun 2009 04:34:06 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-1105</guid>
		<description>Thanks! Unfortunately I may be stuck with the client/server model since I&#039;m targeting PCs with player-vs-player gameplay. It&#039;s going to be tricky making the authority scheme relatively secure even without peer-to-peer ;) If it doesn&#039;t scale well enough, perhaps something special could be done for &#039;team deathmatch&#039; since well, it&#039;s a two sided co-op mode. I&#039;m basically trying to make a Battlefield-like game in my spare time, although there&#039;s going to be a second project using the same net code for Quake-like gameplay.

I think I see what you mean with the adaptive jitter buffer. Sounds like a cool trick :D And I guess interacting time streams aren&#039;t really much different from what happens in the client-server model when two players collide - you&#039;re bound to have some undefined behavior anyway.

The peer-to-peer model seems more or less clear now (except there are always lots of tiny and not so tiny details from concept to implementation). I&#039;ve been wondering how you&#039;d resolve authority clashes, but I see you had already given the answer to Maciej Sawitus in another post. I had thought it would be something more fancy than &quot;he who connects first shalt have the upper hand&quot;, but I guess it boils down to KISS again ;) I&#039;d have guessed at something distance-based, e.g. giving auth to the player whose object was nearer to their controller/camera.</description>
		<content:encoded><![CDATA[<p>Thanks! Unfortunately I may be stuck with the client/server model since I&#8217;m targeting PCs with player-vs-player gameplay. It&#8217;s going to be tricky making the authority scheme relatively secure even without peer-to-peer <img src='http://gafferongames.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  If it doesn&#8217;t scale well enough, perhaps something special could be done for &#8216;team deathmatch&#8217; since well, it&#8217;s a two sided co-op mode. I&#8217;m basically trying to make a Battlefield-like game in my spare time, although there&#8217;s going to be a second project using the same net code for Quake-like gameplay.</p>
<p>I think I see what you mean with the adaptive jitter buffer. Sounds like a cool trick <img src='http://gafferongames.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' />  And I guess interacting time streams aren&#8217;t really much different from what happens in the client-server model when two players collide &#8211; you&#8217;re bound to have some undefined behavior anyway.</p>
<p>The peer-to-peer model seems more or less clear now (except there are always lots of tiny and not so tiny details from concept to implementation). I&#8217;ve been wondering how you&#8217;d resolve authority clashes, but I see you had already given the answer to Maciej Sawitus in another post. I had thought it would be something more fancy than &#8220;he who connects first shalt have the upper hand&#8221;, but I guess it boils down to KISS again <img src='http://gafferongames.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  I&#8217;d have guessed at something distance-based, e.g. giving auth to the player whose object was nearer to their controller/camera.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-1104</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Mon, 01 Jun 2009 19:42:35 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-1104</guid>
		<description>got it, that works well for client/server - i&#039;m working more peer-to-peer these days so there is no concept of relative time, each peer has his own time stream, i use the same std. deviation type buffering (adaptive jitter buffer) but i don&#039;t call it time synchronization anymore, i&#039;m just trying to get smooth playback, i let each peer maintain their own concept of time, within limits

yes, interaction between different time streams are undefined. but, they are already undefined given that we predict on each peer, can anything be more undefined than undefined? :) :)

anyway, it seems you have the client/server approach down pretty well, so congrats!</description>
		<content:encoded><![CDATA[<p>got it, that works well for client/server &#8211; i&#8217;m working more peer-to-peer these days so there is no concept of relative time, each peer has his own time stream, i use the same std. deviation type buffering (adaptive jitter buffer) but i don&#8217;t call it time synchronization anymore, i&#8217;m just trying to get smooth playback, i let each peer maintain their own concept of time, within limits</p>
<p>yes, interaction between different time streams are undefined. but, they are already undefined given that we predict on each peer, can anything be more undefined than undefined? <img src='http://gafferongames.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  <img src='http://gafferongames.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>anyway, it seems you have the client/server approach down pretty well, so congrats!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomasz Stachowiak</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-1103</link>
		<dc:creator>Tomasz Stachowiak</dc:creator>
		<pubDate>Mon, 01 Jun 2009 06:57:08 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-1103</guid>
		<description>I&#039;m afraid I haven&#039;t given much thought or work to this part... I currently do time synchronization and some queuing. Clients try to run ahead of the server by the uni-directional ping (well, client-server tick offset) plus 3 standard deviations of it (in a moving window of the last 2 seconds, then smoothed a bit). When the server receives data that&#039;s supposed to be used in a future tick, it waits in a queue. Clients just apply any data that arrives from the server, although they catch-up (sim a lot) when it&#039;s for a future tick - I still have the olde roll-back catch-up functionality there :D</description>
		<content:encoded><![CDATA[<p>I&#8217;m afraid I haven&#8217;t given much thought or work to this part&#8230; I currently do time synchronization and some queuing. Clients try to run ahead of the server by the uni-directional ping (well, client-server tick offset) plus 3 standard deviations of it (in a moving window of the last 2 seconds, then smoothed a bit). When the server receives data that&#8217;s supposed to be used in a future tick, it waits in a queue. Clients just apply any data that arrives from the server, although they catch-up (sim a lot) when it&#8217;s for a future tick &#8211; I still have the olde roll-back catch-up functionality there <img src='http://gafferongames.com/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2009/05/22/montreal-international-game-summit-2009/#comment-1102</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Mon, 01 Jun 2009 04:14:45 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=861#comment-1102</guid>
		<description>got it, sounds like a good half-way point for objects with mostly linear motion - how do you handle the jitter over the network, do you have any jitter buffering or time synchronization or do you timestamp and sweep ahead to offset time differences, hold in a jitter buffer before presenting to the sim, or just discard everything but most recent state?

cheers</description>
		<content:encoded><![CDATA[<p>got it, sounds like a good half-way point for objects with mostly linear motion &#8211; how do you handle the jitter over the network, do you have any jitter buffering or time synchronization or do you timestamp and sweep ahead to offset time differences, hold in a jitter buffer before presenting to the sim, or just discard everything but most recent state?</p>
<p>cheers</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 0.362 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-04-26 23:51:33 -->

