<?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: Networked Physics</title>
	<atom:link href="http://gafferongames.com/game-physics/networked-physics/feed/" rel="self" type="application/rss+xml" />
	<link>http://gafferongames.com</link>
	<description>Glenn Fiedler&#039;s Game Development Articles and Tutorials</description>
	<lastBuildDate>Fri, 04 May 2012 03:53:07 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
	<item>
		<title>By: sgz</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-47796</link>
		<dc:creator>sgz</dc:creator>
		<pubDate>Thu, 03 May 2012 16:40:14 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-47796</guid>
		<description>I was wondering, receiving client states and sending server response could be very expensive, how many updates are usually sent by the server to clients ? Which is common server&#039;s framerate ?</description>
		<content:encoded><![CDATA[<p>I was wondering, receiving client states and sending server response could be very expensive, how many updates are usually sent by the server to clients ? Which is common server&#8217;s framerate ?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TheOneTheyCall</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-47190</link>
		<dc:creator>TheOneTheyCall</dc:creator>
		<pubDate>Sun, 29 Apr 2012 23:31:56 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-47190</guid>
		<description>Hi Glenn, I just have a few final questions before I finish my implementation :)  (Which is working well)

If there is a prediction error, does the server recognize this somehow so it doesn&#039;t continually spam out correction messages to the client (i.e. until the client has received the correction, updated, and sent back its new position)?  

(I&#039;m having a problem where if there is a correction needed to be done, the server will cause the client to replay unnecessarily  even after the correct state is received, from the the correction time until connection time + round trip time.)

Also, I&#039;m using a simple threshold (0.25F) on my server.  If the client&#039;s position is within the threshold of the server&#039;s position after the server has updated to the current state, I simply snap the server to the client&#039;s position.  Is this a safe practice, since the server is still authoritative over movements above the threshold?</description>
		<content:encoded><![CDATA[<p>Hi Glenn, I just have a few final questions before I finish my implementation <img src='http://gafferongames.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   (Which is working well)</p>
<p>If there is a prediction error, does the server recognize this somehow so it doesn&#8217;t continually spam out correction messages to the client (i.e. until the client has received the correction, updated, and sent back its new position)?  </p>
<p>(I&#8217;m having a problem where if there is a correction needed to be done, the server will cause the client to replay unnecessarily  even after the correct state is received, from the the correction time until connection time + round trip time.)</p>
<p>Also, I&#8217;m using a simple threshold (0.25F) on my server.  If the client&#8217;s position is within the threshold of the server&#8217;s position after the server has updated to the current state, I simply snap the server to the client&#8217;s position.  Is this a safe practice, since the server is still authoritative over movements above the threshold?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-44186</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Tue, 10 Apr 2012 17:43:07 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-44186</guid>
		<description>yes the server just stores a ringbuffer of positions per-player so it can look back in the past</description>
		<content:encoded><![CDATA[<p>yes the server just stores a ringbuffer of positions per-player so it can look back in the past</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MrShankly</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-44070</link>
		<dc:creator>MrShankly</dc:creator>
		<pubDate>Mon, 09 Apr 2012 16:27:28 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-44070</guid>
		<description>So I assume the server doesnt have to rewind and replay, it sort of literally just looks at the positions of the dudes according to saved histories using the time the shot happened at? 

Also sorry if these replies are formatted a bit odd, im not sure if this quotes the post im replying too lol.</description>
		<content:encoded><![CDATA[<p>So I assume the server doesnt have to rewind and replay, it sort of literally just looks at the positions of the dudes according to saved histories using the time the shot happened at? </p>
<p>Also sorry if these replies are formatted a bit odd, im not sure if this quotes the post im replying too lol.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MrShankly</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-44069</link>
		<dc:creator>MrShankly</dc:creator>
		<pubDate>Mon, 09 Apr 2012 16:24:23 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-44069</guid>
		<description>LOL IM AN IDIOT! I was doing the first part as you said, &quot;Yes in this model the server is updating the physics for each player when a packet is received&quot;, But transmitting the game state back to the user at a steady 15 FPS(server time). That makes no sense at all because then i would have to rewind back time significantly, (RTT/2) and also account for the time the server update finished!

This is why i went from programming because i was curious to hating programming, and now pretty much loving it, can always learn something new, always do something better!

I&#039;m surprised at the results im getting so far runnign this over iphone and using 3G. Its working pretty decently so far.</description>
		<content:encoded><![CDATA[<p>LOL IM AN IDIOT! I was doing the first part as you said, &#8220;Yes in this model the server is updating the physics for each player when a packet is received&#8221;, But transmitting the game state back to the user at a steady 15 FPS(server time). That makes no sense at all because then i would have to rewind back time significantly, (RTT/2) and also account for the time the server update finished!</p>
<p>This is why i went from programming because i was curious to hating programming, and now pretty much loving it, can always learn something new, always do something better!</p>
<p>I&#8217;m surprised at the results im getting so far runnign this over iphone and using 3G. Its working pretty decently so far.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-44021</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Mon, 09 Apr 2012 04:42:19 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-44021</guid>
		<description>also, while player vs. player direct collisions are approximate -- projectile vs. player collisions are more accurate, since the projectile looks back into the past at the time of firing on the server to compensate for both lag *and* each player being in a slightly different time frame on the server (according to packets arriving). the first game to do this was counterstrike and it was able to do this because it had instant hit weapons, vs. the slow projectile weapons of quake. you&#039;ll notice that in quake and even quakeworld post-client side prediction, you still had to lead your shots by the amount of lag to that player. same for unreal. then counterstrike solved this with latency compensation for projectile hits and became the most popular online game in the world ;)</description>
		<content:encoded><![CDATA[<p>also, while player vs. player direct collisions are approximate &#8212; projectile vs. player collisions are more accurate, since the projectile looks back into the past at the time of firing on the server to compensate for both lag *and* each player being in a slightly different time frame on the server (according to packets arriving). the first game to do this was counterstrike and it was able to do this because it had instant hit weapons, vs. the slow projectile weapons of quake. you&#8217;ll notice that in quake and even quakeworld post-client side prediction, you still had to lead your shots by the amount of lag to that player. same for unreal. then counterstrike solved this with latency compensation for projectile hits and became the most popular online game in the world <img src='http://gafferongames.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-44020</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Mon, 09 Apr 2012 04:37:40 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-44020</guid>
		<description>Yes in this model the server is updating the physics for each player when a packet is received and immediately replying with corrected state for client side prediction rewind+replay -- the collisions between players are approximate, you&#039;ll notice that usually player vs. player collisions in these games are jittery. now you know why! :)</description>
		<content:encoded><![CDATA[<p>Yes in this model the server is updating the physics for each player when a packet is received and immediately replying with corrected state for client side prediction rewind+replay &#8212; the collisions between players are approximate, you&#8217;ll notice that usually player vs. player collisions in these games are jittery. now you know why! <img src='http://gafferongames.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
	</item>
	<item>
		<title>By: TheOneTheyCall</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-43997</link>
		<dc:creator>TheOneTheyCall</dc:creator>
		<pubDate>Sun, 08 Apr 2012 22:55:02 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-43997</guid>
		<description>Thanks for the fast reply!

I have a small follow up question.  You said that the server updates one object at a time, eg FPS games.  How do games that use this model prevent players from colliding with other players(some games for example don&#039;t let characters walk through other characters)?  If the players are only being updated individually, how would the two different simulations (time streams) be able to synch together to know that player X is next to player Y and cannot move closer in that direction?

Also, in this networking model, is the server side cube only being updated when an input packet is received, or is it continually being updated?

Thanks again for your help, you&#039;ve made the nightmare of networking physics much more bearable!</description>
		<content:encoded><![CDATA[<p>Thanks for the fast reply!</p>
<p>I have a small follow up question.  You said that the server updates one object at a time, eg FPS games.  How do games that use this model prevent players from colliding with other players(some games for example don&#8217;t let characters walk through other characters)?  If the players are only being updated individually, how would the two different simulations (time streams) be able to synch together to know that player X is next to player Y and cannot move closer in that direction?</p>
<p>Also, in this networking model, is the server side cube only being updated when an input packet is received, or is it continually being updated?</p>
<p>Thanks again for your help, you&#8217;ve made the nightmare of networking physics much more bearable!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: MrShankly</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-43975</link>
		<dc:creator>MrShankly</dc:creator>
		<pubDate>Sun, 08 Apr 2012 16:36:54 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-43975</guid>
		<description>Ah ok, thats what I assumed but wasn&#039;t 100 percent sure, I have currently implemented this, now   to add client side prediction!
Thanks very much!</description>
		<content:encoded><![CDATA[<p>Ah ok, thats what I assumed but wasn&#8217;t 100 percent sure, I have currently implemented this, now   to add client side prediction!<br />
Thanks very much!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Glenn Fiedler</title>
		<link>http://gafferongames.com/game-physics/networked-physics/#comment-43974</link>
		<dc:creator>Glenn Fiedler</dc:creator>
		<pubDate>Sun, 08 Apr 2012 16:15:26 +0000</pubDate>
		<guid isPermaLink="false">http://www.gaffer.org/wordpress/networked-physics/#comment-43974</guid>
		<description>Another option is deterministic lockstep, if you have a deterministic physics simulation and a low player count it&#039;s actually very easy to detect cheating. Just have inputs go to a dedicated input server before being broadcast back out to the players -- this way lag switches and time dilation hacks on packets can be detected and kicked.

cheers</description>
		<content:encoded><![CDATA[<p>Another option is deterministic lockstep, if you have a deterministic physics simulation and a low player count it&#8217;s actually very easy to detect cheating. Just have inputs go to a dedicated input server before being broadcast back out to the players &#8212; this way lag switches and time dilation hacks on packets can be detected and kicked.</p>
<p>cheers</p>
]]></content:encoded>
	</item>
</channel>
</rss>

<!-- Dynamic page generated in 3.436 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2012-05-04 16:19:14 -->

