<?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: GDC 2010 Networked Physics Slides + Demo</title>
	<atom:link href="http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/feed/" rel="self" type="application/rss+xml" />
	<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/</link>
	<description>Glenn Fiedler&#039;s Game Development Articles and Tutorials</description>
	<lastBuildDate>Tue, 31 Jan 2012 03:56:23 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-9602</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Mon, 07 Mar 2011 20:13:35 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-9602</guid>
		<description>No there is no easy way around this that I have discovered. You could have an ordinal of player join, eg. 5th player to join, 6th player to join etc. but this would be unbounded. 

In the end, I have decided at least for my home project that I am moving toward a dedicated client/server approach instead. Many reasons, simplicity, late join, anti-cheat, higher player counts etc.

The dedicated server owns the white objects and simulates them, the colored objects are under authority of the client and are &quot;committed&quot; by the client to the server. If the server accepts this commit, then the dedicated server owns the database of all object state so late joining becomes much easier.

Alternatively, you could have a smaller world and like you say, not stream in prior-state on a need to know. Consider using a deterministic lockstep networking model instead, it may be better for your game.

cheers</description>
		<content:encoded><![CDATA[<p>No there is no easy way around this that I have discovered. You could have an ordinal of player join, eg. 5th player to join, 6th player to join etc. but this would be unbounded. </p>
<p>In the end, I have decided at least for my home project that I am moving toward a dedicated client/server approach instead. Many reasons, simplicity, late join, anti-cheat, higher player counts etc.</p>
<p>The dedicated server owns the white objects and simulates them, the colored objects are under authority of the client and are &#8220;committed&#8221; by the client to the server. If the server accepts this commit, then the dedicated server owns the database of all object state so late joining becomes much easier.</p>
<p>Alternatively, you could have a smaller world and like you say, not stream in prior-state on a need to know. Consider using a deterministic lockstep networking model instead, it may be better for your game.</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Trent Sterling</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-9577</link>
		<dc:creator>Trent Sterling</dc:creator>
		<pubDate>Mon, 07 Mar 2011 06:52:38 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-9577</guid>
		<description>Was reading through the PDF, and I have implemented the authoritative method in my P2P game. Essentially you stack blocks with other players to get through the levels. In the PDF, you mention a late joiner getting confirmation from the first player before broadcasting changes. 

You mentioned that the 3rd and 4th player need to ask for confirmation from player 1 and 2. If the world is persistent, and player 2 sends updates to player 1, then wouldn&#039;t late joiners only need confirmation from player 1? He was there the entire time right? 

Essentially player 1 knows everything, and player 2 only knows about the area around him, as confirmed by player 1. Why would you ask player 2 for anything but what he currently owns? Player 2 may not have ever been around player 3&#039;s area. What would player 2 know?

And touching a subject that wasn&#039;t covered... What if player 1 leaves? Should the entire world state be sent to player 2? At this point, I&#039;m having a hard time justifying streaming on a need-to-know basis. If player 1 leaves, the confirmed world state goes with him. Any way around this?</description>
		<content:encoded><![CDATA[<p>Was reading through the PDF, and I have implemented the authoritative method in my P2P game. Essentially you stack blocks with other players to get through the levels. In the PDF, you mention a late joiner getting confirmation from the first player before broadcasting changes. </p>
<p>You mentioned that the 3rd and 4th player need to ask for confirmation from player 1 and 2. If the world is persistent, and player 2 sends updates to player 1, then wouldn&#8217;t late joiners only need confirmation from player 1? He was there the entire time right? </p>
<p>Essentially player 1 knows everything, and player 2 only knows about the area around him, as confirmed by player 1. Why would you ask player 2 for anything but what he currently owns? Player 2 may not have ever been around player 3&#8242;s area. What would player 2 know?</p>
<p>And touching a subject that wasn&#8217;t covered&#8230; What if player 1 leaves? Should the entire world state be sent to player 2? At this point, I&#8217;m having a hard time justifying streaming on a need-to-know basis. If player 1 leaves, the confirmed world state goes with him. Any way around this?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jay Bee</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-3429</link>
		<dc:creator>Jay Bee</dc:creator>
		<pubDate>Tue, 26 Oct 2010 15:40:46 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-3429</guid>
		<description>Cheers for the input, it looks like we&#039;ll get around it by only sending detailed physics updates when it really matters, and we&#039;ll try to avoid axis-unaligned bounding boxes and so on.

Thanks!
Joe</description>
		<content:encoded><![CDATA[<p>Cheers for the input, it looks like we&#8217;ll get around it by only sending detailed physics updates when it really matters, and we&#8217;ll try to avoid axis-unaligned bounding boxes and so on.</p>
<p>Thanks!<br />
Joe</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-3107</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Wed, 20 Oct 2010 05:14:37 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-3107</guid>
		<description>I have no MMO experience you really shouldn&#039;t ask for my advice on this! I&#039;d say it&#039;s a very hard problem and not likely to have an easy solution. On one hand, you probably cannot afford the simulation cost on the MMO server, on the other hand you probably have a PC platform and cannot afford client authority. Can you find something in the middle where the MMO server can look at the stream of physics state coming in from the client and correct if the client tries something that is obviously non-physically correct? I&#039;d think that would be the only option unless you have a closed platform like console MMO (where they *do* cheat by having client side simulation btw...)

cheers</description>
		<content:encoded><![CDATA[<p>I have no MMO experience you really shouldn&#8217;t ask for my advice on this! I&#8217;d say it&#8217;s a very hard problem and not likely to have an easy solution. On one hand, you probably cannot afford the simulation cost on the MMO server, on the other hand you probably have a PC platform and cannot afford client authority. Can you find something in the middle where the MMO server can look at the stream of physics state coming in from the client and correct if the client tries something that is obviously non-physically correct? I&#8217;d think that would be the only option unless you have a closed platform like console MMO (where they *do* cheat by having client side simulation btw&#8230;)</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jay Bee</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-2960</link>
		<dc:creator>Jay Bee</dc:creator>
		<pubDate>Fri, 15 Oct 2010 09:39:51 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-2960</guid>
		<description>Hi Glenn,

I work for an indie MMO developer in the UK, and I was wondering what you&#039;d advise for an MMO client-server model with respect to physics? It will affect some fairly important aspects of the game, we have a few ideas, but just wondered what your take would be.

Thanks for your time, and for this great series of articles, I really ought to donate again soon!
Cheers
Joe</description>
		<content:encoded><![CDATA[<p>Hi Glenn,</p>
<p>I work for an indie MMO developer in the UK, and I was wondering what you&#8217;d advise for an MMO client-server model with respect to physics? It will affect some fairly important aspects of the game, we have a few ideas, but just wondered what your take would be.</p>
<p>Thanks for your time, and for this great series of articles, I really ought to donate again soon!<br />
Cheers<br />
Joe</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Richard Maxwell</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-2279</link>
		<dc:creator>Richard Maxwell</dc:creator>
		<pubDate>Wed, 15 Sep 2010 03:19:46 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-2279</guid>
		<description>On a whim I decided to refresh my knowledge on multiplayer game network coding. Came across your very insightful site.

Your demo got me thinking about how Firefall would implement their 100 player + FPS server. The only downside is that you rely on the peer to peer networking model to communicate state (a nono for FPS games due to cheating). I was thinking maybe clients connecting to multiple servers: peer to peer authoritative servers (like http://pvs.uni-muenster.de/pvs/forschung/edutain/material/From_a_Single-to_Multi-Server_Online_Game_A_Quake_3_Case_Study_Using_RTF_author-prepared.pdf ). 

It seems to be quite complex, but it could solve the cheating issue.

Dunno, just thinking out loud.</description>
		<content:encoded><![CDATA[<p>On a whim I decided to refresh my knowledge on multiplayer game network coding. Came across your very insightful site.</p>
<p>Your demo got me thinking about how Firefall would implement their 100 player + FPS server. The only downside is that you rely on the peer to peer networking model to communicate state (a nono for FPS games due to cheating). I was thinking maybe clients connecting to multiple servers: peer to peer authoritative servers (like <a href="http://pvs.uni-muenster.de/pvs/forschung/edutain/material/From_a_Single-to_Multi-Server_Online_Game_A_Quake_3_Case_Study_Using_RTF_author-prepared.pdf" rel="nofollow">http://pvs.uni-muenster.de/pvs/forschung/edutain/material/From_a_Single-to_Multi-Server_Online_Game_A_Quake_3_Case_Study_Using_RTF_author-prepared.pdf</a> ). </p>
<p>It seems to be quite complex, but it could solve the cheating issue.</p>
<p>Dunno, just thinking out loud.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-1795</link>
		<dc:creator>Marcelo</dc:creator>
		<pubDate>Mon, 30 Aug 2010 06:07:18 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-1795</guid>
		<description>Hey, Glenn.

I&#039;ve put the first version of the instructions and code up on github, here: http://github.com/malvim/fiedlerscubes, if you want to take a look.

Thanks!</description>
		<content:encoded><![CDATA[<p>Hey, Glenn.</p>
<p>I&#8217;ve put the first version of the instructions and code up on github, here: <a href="http://github.com/malvim/fiedlerscubes" rel="nofollow">http://github.com/malvim/fiedlerscubes</a>, if you want to take a look.</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-1720</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Thu, 26 Aug 2010 05:42:51 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-1720</guid>
		<description>of course, feel free - thanks</description>
		<content:encoded><![CDATA[<p>of course, feel free &#8211; thanks</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-1696</link>
		<dc:creator>Marcelo</dc:creator>
		<pubDate>Tue, 24 Aug 2010 20:27:07 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-1696</guid>
		<description>Hi, Glenn.

I pinged you on twitter about this, but it was just too short! So I hope it&#039;s ok to ask you here as well:

Since I had some difficulty in compiling your demo on my machine, I have written some instructions and put ode&#039;s source along your files as well.

Would it be ok for me to publish that on github for other people that might have the same problem? I would, obviously, link to this article on your site. The intention is merely to help others that might be trying to learn from your code, as I am.

Thanks!</description>
		<content:encoded><![CDATA[<p>Hi, Glenn.</p>
<p>I pinged you on twitter about this, but it was just too short! So I hope it&#8217;s ok to ask you here as well:</p>
<p>Since I had some difficulty in compiling your demo on my machine, I have written some instructions and put ode&#8217;s source along your files as well.</p>
<p>Would it be ok for me to publish that on github for other people that might have the same problem? I would, obviously, link to this article on your site. The intention is merely to help others that might be trying to learn from your code, as I am.</p>
<p>Thanks!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Marcelo</title>
		<link>http://gafferongames.com/2010/03/11/gdc-2010-networked-physics-slides-demo/#comment-1425</link>
		<dc:creator>Marcelo</dc:creator>
		<pubDate>Sat, 14 Aug 2010 17:42:38 +0000</pubDate>
		<guid isPermaLink="false">http://gafferongames.com/?p=1402#comment-1425</guid>
		<description>Yeah, I really could not run from MacPorts&#039; ode, but I was able to compile ode to a library with help from this link: http://brockwoolf.com/blog/compile-ode-0-11-0-on-mac-os-x-10-6;
Instead of the dll, I used config=releasesinglelib and compiled the demo using the resulting ode lib.

Thanks again for these demos!

Cheers.</description>
		<content:encoded><![CDATA[<p>Yeah, I really could not run from MacPorts&#8217; ode, but I was able to compile ode to a library with help from this link: <a href="http://brockwoolf.com/blog/compile-ode-0-11-0-on-mac-os-x-10-6" rel="nofollow">http://brockwoolf.com/blog/compile-ode-0-11-0-on-mac-os-x-10-6</a>;<br />
Instead of the dll, I used config=releasesinglelib and compiled the demo using the resulting ode lib.</p>
<p>Thanks again for these demos!</p>
<p>Cheers.</p>
]]></content:encoded>
	</item>
</channel>
</rss>

