<?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 Slides Released</title>
	<atom:link href="http://gafferongames.com/2008/02/27/gdc-slides-released/feed/" rel="self" type="application/rss+xml" />
	<link>http://gafferongames.com/2008/02/27/gdc-slides-released/</link>
	<description>Glenn Fiedler&#039;s Game Development Articles and Tutorials</description>
	<lastBuildDate>Tue, 07 Sep 2010 17:03:11 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-701</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Sun, 06 Dec 2009 18:20:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-701</guid>
		<description>There has already been some work porting to PC, check the comments on this page for a download link:

http://gafferongames.com/conferences/migs09/

Also, the SVN on google code is updated with win32 support

cheers</description>
		<content:encoded><![CDATA[<p>There has already been some work porting to PC, check the comments on this page for a download link:</p>
<p><a href="http://gafferongames.com/conferences/migs09/" rel="nofollow">http://gafferongames.com/conferences/migs09/</a></p>
<p>Also, the SVN on google code is updated with win32 support</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomas</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-700</link>
		<dc:creator>Tomas</dc:creator>
		<pubDate>Sun, 06 Dec 2009 04:25:36 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-700</guid>
		<description>Sweet, thanks! Any instructions on how to compile in PC? (you know this one was coming) :-)</description>
		<content:encoded><![CDATA[<p>Sweet, thanks! Any instructions on how to compile in PC? (you know this one was coming) <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/2008/02/27/gdc-slides-released/#comment-699</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Sat, 05 Dec 2009 16:10:03 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-699</guid>
		<description>Take a look at the more recent source code, it implements much of what you are talking about - an entirely P2P solution with distributed algorithms and no arbitration via server.

http://netgame.googlecode.com/files/Fiedler%27s%20Cubes.zip</description>
		<content:encoded><![CDATA[<p>Take a look at the more recent source code, it implements much of what you are talking about &#8211; an entirely P2P solution with distributed algorithms and no arbitration via server.</p>
<p><a href="http://netgame.googlecode.com/files/Fiedler%27s%20Cubes.zip" rel="nofollow">http://netgame.googlecode.com/files/Fiedler%27s%20Cubes.zip</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Tomas</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-698</link>
		<dc:creator>Tomas</dc:creator>
		<pubDate>Sat, 05 Dec 2009 14:01:33 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-698</guid>
		<description>First of all fascinating I am glad you are doing this work.
Very interesting in a way I think the network code will get more unified with the rest of the game system by thinking in these terms. I would like to take some of your time to see what you think about some possible directions.
I would like to explore the possibility of having the system entirely peer-to-peer if you don’t mind, that way get can finally remove all the server migration issues as well.

1.	It may be possible to say that every island of simulation belongs to a client. When the islands finally overlap (red) “the server takes over”. But I would ask why not one of the clients takes over the simulation of the second client (in essence becoming a server to the second client)? Why a 3rd party must get involved to resolve the issue?

2.	This way time will only be meaningful in islands of simulation. (I am referring to the physics part of the problem by passing all others). In a way the client becomes the server for the particular island that he is responsible for. Your concern is that you think this won’t scale because a naïve implementation will be O(n) per client. I agree but don’t you also have scoping and prioritization involved as well? Also ones the client releases the owner ship of the island to a (white) state then any client which may have acquire the updates can transmit the island to any other client.

3.	I think having a system which detects the band width of all clients and allocated resource a properly will also be very helpful. This way you will take full advantage of your computing cloud.

There are other issues which I am bypassing such if there is only one client with the knowledge of one island then he leaves what happens to that island? The logical thing will be nothing just reset it from the disk. However that island may have created somehow a state change in the world. Then may be in this case the island will be mark as a priority island and all clients must be marked as they must download its information.  Sorry thinking out loud now…</description>
		<content:encoded><![CDATA[<p>First of all fascinating I am glad you are doing this work.<br />
Very interesting in a way I think the network code will get more unified with the rest of the game system by thinking in these terms. I would like to take some of your time to see what you think about some possible directions.<br />
I would like to explore the possibility of having the system entirely peer-to-peer if you don’t mind, that way get can finally remove all the server migration issues as well.</p>
<p>1.	It may be possible to say that every island of simulation belongs to a client. When the islands finally overlap (red) “the server takes over”. But I would ask why not one of the clients takes over the simulation of the second client (in essence becoming a server to the second client)? Why a 3rd party must get involved to resolve the issue?</p>
<p>2.	This way time will only be meaningful in islands of simulation. (I am referring to the physics part of the problem by passing all others). In a way the client becomes the server for the particular island that he is responsible for. Your concern is that you think this won’t scale because a naïve implementation will be O(n) per client. I agree but don’t you also have scoping and prioritization involved as well? Also ones the client releases the owner ship of the island to a (white) state then any client which may have acquire the updates can transmit the island to any other client.</p>
<p>3.	I think having a system which detects the band width of all clients and allocated resource a properly will also be very helpful. This way you will take full advantage of your computing cloud.</p>
<p>There are other issues which I am bypassing such if there is only one client with the knowledge of one island then he leaves what happens to that island? The logical thing will be nothing just reset it from the disk. However that island may have created somehow a state change in the world. Then may be in this case the island will be mark as a priority island and all clients must be marked as they must download its information.  Sorry thinking out loud now…</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: ***</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-697</link>
		<dc:creator>***</dc:creator>
		<pubDate>Fri, 19 Dec 2008 22:13:06 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-697</guid>
		<description>still 404...

but using google i found:

http://physics.hardwire.cz/mirror/NetworkedPhysics-GDC2008.pdf</description>
		<content:encoded><![CDATA[<p>still 404&#8230;</p>
<p>but using google i found:</p>
<p><a href="http://physics.hardwire.cz/mirror/NetworkedPhysics-GDC2008.pdf" rel="nofollow">http://physics.hardwire.cz/mirror/NetworkedPhysics-GDC2008.pdf</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-696</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Sat, 15 Nov 2008 03:13:51 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-696</guid>
		<description>down right now, i will get them back up this weekend - sorry about that</description>
		<content:encoded><![CDATA[<p>down right now, i will get them back up this weekend &#8211; sorry about that</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LeggyBlonde</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-695</link>
		<dc:creator>LeggyBlonde</dc:creator>
		<pubDate>Fri, 14 Nov 2008 23:44:30 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-695</guid>
		<description>Error 404 - Not Found
Is the link to the slides still up?</description>
		<content:encoded><![CDATA[<p>Error 404 &#8211; Not Found<br />
Is the link to the slides still up?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-694</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Sun, 02 Nov 2008 05:54:24 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-694</guid>
		<description>i should also say that most of the techniques used in mercs2 assume

a) closed platform (cant hack EXE)
b) coop play (no incentive to cheat)
c) secure comms (cant inject packets...)

its possible to have b) and c) on a PC, but i dont really think you can get a). so... i would not recommend my techniques for a PC game

cheers</description>
		<content:encoded><![CDATA[<p>i should also say that most of the techniques used in mercs2 assume</p>
<p>a) closed platform (cant hack EXE)<br />
b) coop play (no incentive to cheat)<br />
c) secure comms (cant inject packets&#8230;)</p>
<p>its possible to have b) and c) on a PC, but i dont really think you can get a). so&#8230; i would not recommend my techniques for a PC game</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-693</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Sun, 02 Nov 2008 05:50:27 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-693</guid>
		<description>with mercs2 being 2 player we were able to use the full up/down stream for synchronization between players. the idea was to trade off the number of players to synchronize more objects in the world

the real problem to scaling this up is both the bandwidth cost, and the per-player simulation cost. i like to solve the simulation cost by only simulating objects around each player and using an extension of the authority management scheme in the lecture notes. alternatively you could have a seriously powerful dedicated server to do all the physics sync, but i think this is not good.

of course, given that you split the work between each machine, it is now peer to peer, so the bandwith per each node scales up O(n) and the total bandwidth O(n^2). i think this actually scales pretty good to 4 players, maybe 8 at the most, but that would be pushing it. beyond this you should consider a dedicated server.

regarding damage, in mercs2 we take the lowest health value across all machines, so it is not possible for an object to be destroyed on one machine but not on the other - it will eventually become destroyed as synchronization gets across. the worst case here is that damage gets applied differently on each machines, and you end up with the union of damaged objects across both machines

this ends up biasing towards destruction, which as you can imagine, actually works pretty good for a game like mercs2

cheers</description>
		<content:encoded><![CDATA[<p>with mercs2 being 2 player we were able to use the full up/down stream for synchronization between players. the idea was to trade off the number of players to synchronize more objects in the world</p>
<p>the real problem to scaling this up is both the bandwidth cost, and the per-player simulation cost. i like to solve the simulation cost by only simulating objects around each player and using an extension of the authority management scheme in the lecture notes. alternatively you could have a seriously powerful dedicated server to do all the physics sync, but i think this is not good.</p>
<p>of course, given that you split the work between each machine, it is now peer to peer, so the bandwith per each node scales up O(n) and the total bandwidth O(n^2). i think this actually scales pretty good to 4 players, maybe 8 at the most, but that would be pushing it. beyond this you should consider a dedicated server.</p>
<p>regarding damage, in mercs2 we take the lowest health value across all machines, so it is not possible for an object to be destroyed on one machine but not on the other &#8211; it will eventually become destroyed as synchronization gets across. the worst case here is that damage gets applied differently on each machines, and you end up with the union of damaged objects across both machines</p>
<p>this ends up biasing towards destruction, which as you can imagine, actually works pretty good for a game like mercs2</p>
<p>cheers</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Liam</title>
		<link>http://gafferongames.com/2008/02/27/gdc-slides-released/#comment-692</link>
		<dc:creator>Liam</dc:creator>
		<pubDate>Sat, 01 Nov 2008 23:13:25 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/archives/gdc-slides-released#comment-692</guid>
		<description>After a little bit of thinking about your talk I have a few questions I hope you would not mind answering Glenn.
In a post elsewhere on this blog you say
&quot;Check out what one of our designers said after trying the game out under worst case conditions (64kbit/sec, 10% packet loss, 250ms latency…)&quot;
The game was released on the Xbox360 which I believe has a test which it must pass of worst network condition having an 8kbs upstream[1]. Given that in your latest articles you use a buffer of 256 bytes which, if all of it was used, would give a maximum of thirty two network ticks per second to send to one other player.
What was the average network upstream in use in COOP mode?
How likely do you think the implementation your GDC talk is about would be used for other games (not on a PC yet console ) where there maybe say a sixteen player online version?
If an upstream could not handle sending to another 15 players what sort of tricks do you think could be used, maybe splitting the world into sections (sort of like a multi server MMO) where each player has authority of a piece?
Given that the world is pretty much destructible what sort of impact does this have on the network upstream?
How does the game handle when a player joins another in COOP mode in relation to the status of the world, ie is what the two people see the same or just a close approximation of the destruction of the game world?
So could one person hide behind a half destroyed wall for instance and be a shored that he is actually hiding and not in view?

Thanks.

1 Shawn Hargreaves. Networking, Traffic Jams, and Schrödinger&#039;s Cat. Gamefest 2008</description>
		<content:encoded><![CDATA[<p>After a little bit of thinking about your talk I have a few questions I hope you would not mind answering Glenn.<br />
In a post elsewhere on this blog you say<br />
&#8220;Check out what one of our designers said after trying the game out under worst case conditions (64kbit/sec, 10% packet loss, 250ms latency…)&#8221;<br />
The game was released on the Xbox360 which I believe has a test which it must pass of worst network condition having an 8kbs upstream[1]. Given that in your latest articles you use a buffer of 256 bytes which, if all of it was used, would give a maximum of thirty two network ticks per second to send to one other player.<br />
What was the average network upstream in use in COOP mode?<br />
How likely do you think the implementation your GDC talk is about would be used for other games (not on a PC yet console ) where there maybe say a sixteen player online version?<br />
If an upstream could not handle sending to another 15 players what sort of tricks do you think could be used, maybe splitting the world into sections (sort of like a multi server MMO) where each player has authority of a piece?<br />
Given that the world is pretty much destructible what sort of impact does this have on the network upstream?<br />
How does the game handle when a player joins another in COOP mode in relation to the status of the world, ie is what the two people see the same or just a close approximation of the destruction of the game world?<br />
So could one person hide behind a half destroyed wall for instance and be a shored that he is actually hiding and not in view?</p>
<p>Thanks.</p>
<p>1 Shawn Hargreaves. Networking, Traffic Jams, and Schrödinger&#8217;s Cat. Gamefest 2008</p>
]]></content:encoded>
	</item>
</channel>
</rss>
