<?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/"
	>

<channel>
	<title>oPg Gaming</title>
	<atom:link href="http://www.opggaming.com/main/feed" rel="self" type="application/rss+xml" />
	<link>http://www.opggaming.com/main</link>
	<description>Beyond Gaming</description>
	<pubDate>Mon, 19 Jan 2009 02:51:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>IP Changes</title>
		<link>http://www.opggaming.com/main/ip-changes.html</link>
		<comments>http://www.opggaming.com/main/ip-changes.html#comments</comments>
		<pubDate>Wed, 10 Dec 2008 04:52:16 +0000</pubDate>
		<dc:creator>Laby</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[ip change]]></category>

		<category><![CDATA[opg]]></category>

		<category><![CDATA[opg cal rotation]]></category>

		<category><![CDATA[pub]]></category>

		<category><![CDATA[server]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/ip-changes.html</guid>
		<description><![CDATA[Our servers are up. See the picture above for the IPs. IPs are also included in the post. Please change update your favorites accordingly. Thank you]]></description>
			<content:encoded><![CDATA[<p>SERVERS ARE UP AT THE FOLLOWING ADDYS<br />
<strong><br />
VENT IP: 67.201.13.186:5000<br />
PUB IP: 67.201.13.187<br />
Private IP: 67.201.13.186<br />
Enhanced IP: 67.201.13.188<br />
L4D IP 67.201.13.189<br />
</strong><br />
DNS addresses will work ASAP.</p>
<p>&#8212;</p>
<p>Our lovely and most excellent server host is moving our machine.<br />
As a result, we lose our IP.<br />
Nothing I can do about it at this point and I just got word of the new IP about 2 hours ago.<br />
We have a small bleed over for the old IP and the new IP.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html&amp;title=IP+Changes" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html&amp;title=IP+Changes" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html&amp;title=IP+Changes" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html&amp;title=IP+Changes" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html&amp;title=IP+Changes', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html&amp;title=IP+Changes" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fip-changes.html&amp;title=IP+Changes" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/ip-changes.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>oPg 3v3 Champions: I Don&#8217;t Know</title>
		<link>http://www.opggaming.com/main/opg-3v3-champions-i-dont-know.html</link>
		<comments>http://www.opggaming.com/main/opg-3v3-champions-i-dont-know.html#comments</comments>
		<pubDate>Fri, 05 Sep 2008 14:11:39 +0000</pubDate>
		<dc:creator>Latro</dc:creator>
		
		<category><![CDATA[oPg CS:S Server]]></category>

		<category><![CDATA[3v3]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=683</guid>
		<description><![CDATA[Congratulations to team I Don&#8217;t Know for their victory over team DickPirates in this years oPg 3v3 CS:S Championships.
Thanks again to all teams that participated.  We hope you enjoyed the tournament as much as the rest of us and hope to see you again next year.
Team I Don&#8217;t Know:
Staby
Maniac
Persistant
ikonoclast
The team won a best of 3 [...]]]></description>
			<content:encoded><![CDATA[<p>Congratulations to team I Don&#8217;t Know for their victory over team DickPirates in this years oPg 3v3 CS:S Championships.</p>
<p>Thanks again to all teams that participated.  We hope you enjoyed the tournament as much as the rest of us and hope to see you again next year.</p>
<p style="text-align: center;">Team I Don&#8217;t Know:</p>
<p style="text-align: center;">Staby</p>
<p style="text-align: center;">Maniac</p>
<p style="text-align: center;">Persistant</p>
<p style="text-align: center;">ikonoclast</p>
<p>The team won a best of 3 map match up taking the final two maps. Team DickPirates won on map de_season 16 - 12, I Don&#8217;t Know was victorious on de_nuke 13 - 9, and de_inferno 13 - 7.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html&amp;title=oPg+3v3+Champions%3A+I+Don%26%238217%3Bt+Know" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html&amp;title=oPg+3v3+Champions%3A+I+Don%26%238217%3Bt+Know" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html&amp;title=oPg+3v3+Champions%3A+I+Don%26%238217%3Bt+Know" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html&amp;title=oPg+3v3+Champions%3A+I+Don%26%238217%3Bt+Know" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html&amp;title=oPg+3v3+Champions%3A+I+Don%26%238217%3Bt+Know', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html&amp;title=oPg+3v3+Champions%3A+I+Don%26%238217%3Bt+Know" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-champions-i-dont-know.html&amp;title=oPg+3v3+Champions%3A+I+Don%26%238217%3Bt+Know" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/opg-3v3-champions-i-dont-know.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>MMO Trailer Madness: Lich King and Age of Reckoning</title>
		<link>http://www.opggaming.com/main/mmo-trailer-madness-lich-king-and-age-of-reckoning.html</link>
		<comments>http://www.opggaming.com/main/mmo-trailer-madness-lich-king-and-age-of-reckoning.html#comments</comments>
		<pubDate>Sat, 23 Aug 2008 17:08:17 +0000</pubDate>
		<dc:creator>Laby</dc:creator>
		
		<category><![CDATA[PC Games]]></category>

		<category><![CDATA[age of reckong]]></category>

		<category><![CDATA[amazing]]></category>

		<category><![CDATA[aor]]></category>

		<category><![CDATA[Cinematic]]></category>

		<category><![CDATA[Trailer]]></category>

		<category><![CDATA[warhammer]]></category>

		<category><![CDATA[wotlk]]></category>

		<category><![CDATA[wrath of the lich king]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=678</guid>
		<description><![CDATA[Blizzard and Warhammer have both released new cinematic trailers for The Wrath of the Lich King and Age of Reckoning, respectively. Blizzard has always released amazing trailers for anything they do - their cinematics are unrivaled in their awesomeness. Warhammer has pulled a rabbit out of their hat and released something absolutely amazing too.]]></description>
			<content:encoded><![CDATA[<p>Yowza! This week has been an absolute smorgasbord for cinematic trailers.</p>
<p>Blizzard and Warhammer have both released new cinematic trailers for <em>The Wrath of the Lich King </em>and <em>Age of Reckoning</em>, respectively. Blizzard has <em>always</em> released amazing trailers for anything they do - their cinematics are unrivaled in their awesomeness. Warhammer has pulled a rabbit out of their hat and released something absolutely amazing too.</p>
<p>For anyone who doesn&#8217;t know what these two games are - (From Wiki)</p>
<blockquote><p><em><strong>World of Warcraft: Wrath of the Lich King</strong></em> is the upcoming second expansion for the <a href="http://en.wikipedia.org/wiki/Massively_multiplayer_online_role-playing_game" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">massively multiplayer online role-playing game</a> (MMORPG) <em><a href="http://en.wikipedia.org/wiki/World_of_Warcraft" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">World of Warcraft</a></em>, following <em><a href="http://en.wikipedia.org/wiki/World_of_Warcraft:_The_Burning_Crusade" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">The Burning Crusade</a></em>. It is set in the land of <a href="http://www.wowwiki.com/Northrend" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.wowwiki.com');">Northrend</a>, home of the <a href="http://www.wowwiki.com/Lich_King" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.wowwiki.com');">Lich King</a>, <a href="http://www.wowwiki.com/Arthas_Menethil" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.wowwiki.com');">Arthas Menethil</a>/<a href="http://www.wowwiki.com/Ner%27zhul" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.wowwiki.com');">Ner&#8217;zhul</a>. It was confirmed on the first day of <a href="http://en.wikipedia.org/wiki/BlizzCon" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">BlizzCon</a> 2007, <a href="http://en.wikipedia.org/wiki/August_3" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">August 3</a>, <a href="http://en.wikipedia.org/wiki/2007" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">2007</a>.<sup><a href="http://en.wikipedia.org/wiki/World_of_Warcraft:_Wrath_of_the_Lich_King#cite_note-GameSpy_Wrath_announced-2" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">[3]</a></sup><sup>[4]</sup></p></blockquote>
<blockquote><p><em><strong>Warhammer Online: Age of Reckoning</strong></em> (officially abbreviated as <em>WAR</em><sup><a href="http://en.wikipedia.org/wiki/Warhammer_Online#cite_note-GameOverview-4" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">[5]</a></sup>) is an upcoming <a href="http://en.wikipedia.org/wiki/MMORPG" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">massively multiplayer online role-playing game</a> based on <a href="http://en.wikipedia.org/wiki/Games_Workshop" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">Games Workshop</a>&#8217;s <em><a href="http://en.wikipedia.org/wiki/Warhammer_Fantasy_%28setting%29" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">Warhammer Fantasy</a></em> setting. It is currently under development by <a href="http://en.wikipedia.org/wiki/Mythic_Entertainment" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">Mythic Entertainment</a> and is scheduled for a simultaneous release in North America, Europe, Asia, Australia and New Zealand on <a href="http://en.wikipedia.org/wiki/September_18" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">September 18</a>, <a href="http://en.wikipedia.org/wiki/2008" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">2008</a>. <sup><a href="http://en.wikipedia.org/wiki/Warhammer_Online#cite_note-OfficialRelease-2" onclick="javascript:pageTracker._trackPageview('/outbound/article/en.wikipedia.org');">[3]</a></sup> The game revolves around the continual worldwide conflict that the Warhammer Fantasy setting is known for, and the game will be geared toward ongoing, constant war.</p></blockquote>
<p>But, you already knew all of that, didn&#8217;t you. The real question is, which one (if any) are you getting?</p>
<p>Enough stalling - here&#8217;s the good stuff. Enjoy!</p>
<p><strong>Warhammer</strong></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="462" height="290" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://blip.tv/play/AcmgCI35ZA" /><embed type="application/x-shockwave-flash" width="462" height="290" src="http://blip.tv/play/AcmgCI35ZA"></embed></object></p>
<p><strong>WOTLK</strong></p>
<div id="scid:5737277B-5D6D-4f48-ABFC-DD9C333F4C5D:613e8597-c2e0-4783-8b8f-adc44fc32144" class="wlWriterSmartContent" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">
<div><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="500" height="319" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="id" value="gamevideos6" /><param name="align" value="middle" /><param name="quality" value="high" /><param name="play" value="true" /><param name="loop" value="true" /><param name="scale" value="showall" /><param name="wmode" value="window" /><param name="devicefont" value="false" /><param name="bgcolor" value="#000000" /><param name="menu" value="true" /><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="true" /><param name="salign" /><param name="src" value="http://gamevideos.1up.com//swf/gamevideos11.swf?embedded=1&amp;fullscreen=1&amp;autoplay=0&amp;src=http://gamevideos.1up.com/video/videoListXML%3Fid%3D20981%26ordinal%3D%26adPlay%3Dfalse" /><embed id="gamevideos6" type="application/x-shockwave-flash" width="500" height="319" src="http://gamevideos.1up.com//swf/gamevideos11.swf?embedded=1&amp;fullscreen=1&amp;autoplay=0&amp;src=http://gamevideos.1up.com/video/videoListXML%3Fid%3D20981%26ordinal%3D%26adPlay%3Dfalse" allowfullscreen="true" allowscriptaccess="sameDomain" menu="true" bgcolor="#000000" devicefont="false" wmode="window" scale="showall" loop="true" play="true" quality="high" align="middle"></embed></object></div>
</div>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html&amp;title=MMO+Trailer+Madness%3A+Lich+King+and+Age+of+Reckoning" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html&amp;title=MMO+Trailer+Madness%3A+Lich+King+and+Age+of+Reckoning" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html&amp;title=MMO+Trailer+Madness%3A+Lich+King+and+Age+of+Reckoning" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html&amp;title=MMO+Trailer+Madness%3A+Lich+King+and+Age+of+Reckoning" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html&amp;title=MMO+Trailer+Madness%3A+Lich+King+and+Age+of+Reckoning', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html&amp;title=MMO+Trailer+Madness%3A+Lich+King+and+Age+of+Reckoning" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fmmo-trailer-madness-lich-king-and-age-of-reckoning.html&amp;title=MMO+Trailer+Madness%3A+Lich+King+and+Age+of+Reckoning" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/mmo-trailer-madness-lich-king-and-age-of-reckoning.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>oPg 3v3 Finals</title>
		<link>http://www.opggaming.com/main/opg-3v3-finals.html</link>
		<comments>http://www.opggaming.com/main/opg-3v3-finals.html#comments</comments>
		<pubDate>Fri, 22 Aug 2008 10:29:47 +0000</pubDate>
		<dc:creator>Latro</dc:creator>
		
		<category><![CDATA[oPg CS:S Server]]></category>

		<category><![CDATA[3v3]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=673</guid>
		<description><![CDATA[Congratulations to Team I Don&#8217;t Know and DickPirates for their Semi-Final round victories.  The Finals of the oPg 3v3 CS:S Tournament are set.  
Both teams should reach out to each other to schedule the Final Match before next  Sunday August 31st.  The match time should should be posted in the forums [...]]]></description>
			<content:encoded><![CDATA[<p>Congratulations to Team I Don&#8217;t Know and DickPirates for their Semi-Final round victories.  The Finals of the oPg 3v3 CS:S Tournament are set.  </p>
<p>Both teams should reach out to each other to schedule the Final Match before next  Sunday August 31st.  The match time should should be posted in the forums so that others can know the event scheduling. </p>
<p>The Final Round map will be de_dust2.  </p>
<p>If you should need any assistance, please post in the forums and an oPg community member will assist you. </p>
<p>Good luck to both teams!</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html&amp;title=oPg+3v3+Finals" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html&amp;title=oPg+3v3+Finals" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html&amp;title=oPg+3v3+Finals" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html&amp;title=oPg+3v3+Finals" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html&amp;title=oPg+3v3+Finals', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html&amp;title=oPg+3v3+Finals" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fopg-3v3-finals.html&amp;title=oPg+3v3+Finals" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/opg-3v3-finals.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>DDR Freestyle: Laby&#8217;s Picks</title>
		<link>http://www.opggaming.com/main/ddr-freestyle-labys-picks.html</link>
		<comments>http://www.opggaming.com/main/ddr-freestyle-labys-picks.html#comments</comments>
		<pubDate>Thu, 21 Aug 2008 22:08:55 +0000</pubDate>
		<dc:creator>Laby</dc:creator>
		
		<category><![CDATA[News]]></category>

		<category><![CDATA[a-team]]></category>

		<category><![CDATA[Awesome]]></category>

		<category><![CDATA[best of]]></category>

		<category><![CDATA[dance dance revolution]]></category>

		<category><![CDATA[ddr]]></category>

		<category><![CDATA[freestyle]]></category>

		<category><![CDATA[in the groove]]></category>

		<category><![CDATA[itg]]></category>

		<category><![CDATA[kevin kim]]></category>

		<category><![CDATA[pui]]></category>

		<category><![CDATA[pump it up]]></category>

		<category><![CDATA[smigdet]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=669</guid>
		<description><![CDATA[Freestylers were like the LARP (live action role playing) nerds you occasionally see down at the park in their cloaks and costumes. 99% of freestyling was just horrible. Don't take me the wrong way, though. Despite the bile I am spewing about freestyle, there are some genuinely fun and original routines.]]></description>
			<content:encoded><![CDATA[<p>Yes, I know DDR is dead/dying. I&#8217;m not trying to bring it back from its grave. I am just exposing a side of DDR most people never saw and those who did never really appreciated - DDR Freestyle.</p>
<p>DDR Freestyle is simply actual dancing to DDR songs while still hitting the steps. Rather than looking like a penguin robot having a seizure, you actually look like you are dancing. A sketchy idea in theory. As you can imagine, it is incredibly difficult to choreograph a routine when you have already been given the steps. Steps which rarely make sense in any genre of dance.<a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/ddr-feet.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/ddr-feet-thumb.jpg" border="0" alt="ddr-feet" width="260" height="200" align="right" /></a></p>
<p>As you can imagine, freestyle never really panned out for 99% of the population. Most people could never choreograph anything which was actually pleasing to watch. They would just waggle their arms and hips while dropping the occasional knee. After the novelty of watching them make an ass of themselves wore off, freestyle became embarrassing to watch.</p>
<p>Freestylers were like the LARP (live action role playing) nerds you occasionally see down at the park in their cloaks and costumes. 99% of freestyling was just horrible. Don&#8217;t take me the wrong way, though. Despite the bile I am spewing about freestyle, there are some <em>genuinely</em> fun and original routines.</p>
<p>There is hope!</p>
<p>Some people actually combined the time and effort with enough artistic ability to create something entertaining and fun. I&#8217;ve picked some of my favorites and they are as follows:</p>
<p><strong>Top 3 </strong>(As Picked by me)</p>
<p>1st Place - Kevin Kim&#8217;s Single Freestyle Dam Dariram routine at SVGL Golfland. Best. Freestyle. Ever. His whole routine is just amazing.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/LJdqMo8zyB4&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/LJdqMo8zyB4&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>2nd Place- Then we have the A-Team (My favorite DDR freestyle group, ever) throwin down Brilliant. They never fail to disappoint. Not to mention they almost single handedly invented freestyle.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/gIyZZdqReK0&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/gIyZZdqReK0&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>
<p>3rd Place - The smidget playing Pump It Up (PUI). Moves are impressive, musicality is pretty bad. Still, he&#8217;s so smooth it&#8217;s worth a watch.</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="344" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="src" value="http://www.youtube.com/v/crEz8i6oVpI&amp;hl=en&amp;fs=1" /><embed type="application/x-shockwave-flash" width="425" height="344" src="http://www.youtube.com/v/crEz8i6oVpI&amp;hl=en&amp;fs=1" allowfullscreen="true"></embed></object></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html&amp;title=DDR+Freestyle%3A+Laby%26%238217%3Bs+Picks" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html&amp;title=DDR+Freestyle%3A+Laby%26%238217%3Bs+Picks" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html&amp;title=DDR+Freestyle%3A+Laby%26%238217%3Bs+Picks" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html&amp;title=DDR+Freestyle%3A+Laby%26%238217%3Bs+Picks" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html&amp;title=DDR+Freestyle%3A+Laby%26%238217%3Bs+Picks', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html&amp;title=DDR+Freestyle%3A+Laby%26%238217%3Bs+Picks" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fddr-freestyle-labys-picks.html&amp;title=DDR+Freestyle%3A+Laby%26%238217%3Bs+Picks" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/ddr-freestyle-labys-picks.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Blake Peeble and the Professional Rhythm Game Problem</title>
		<link>http://www.opggaming.com/main/blake-peeble-and-the-professional-rhythm-game-problem.html</link>
		<comments>http://www.opggaming.com/main/blake-peeble-and-the-professional-rhythm-game-problem.html#comments</comments>
		<pubDate>Thu, 21 Aug 2008 05:06:11 +0000</pubDate>
		<dc:creator>Laby</dc:creator>
		
		<category><![CDATA[Console Games]]></category>

		<category><![CDATA[News]]></category>

		<category><![CDATA[beatmania]]></category>

		<category><![CDATA[blake peeble]]></category>

		<category><![CDATA[ddr]]></category>

		<category><![CDATA[guitar hero]]></category>

		<category><![CDATA[history of]]></category>

		<category><![CDATA[IIDX]]></category>

		<category><![CDATA[professional gaming]]></category>

		<category><![CDATA[rhythm gaming]]></category>

		<category><![CDATA[stangation]]></category>

		<category><![CDATA[the problem with]]></category>

		<category><![CDATA[trend]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=661</guid>
		<description><![CDATA[That is Peeble's problem. What will he do in X years when Guitar Hero dies and he has no education, no life skills, and no qualifications for a decent job? He will have no future. Like a washed up child movie star, Peeble will have no where to go. Take a look at all the elite DDR players, very few besides iamchris4life managed to make the transition to Guitar Hero]]></description>
			<content:encoded><![CDATA[<p>This may be the worst parenting decision in a long time. Blake Peeble&#8217;s parents let him drop out of school to pursue a career in guitar hero. I won&#8217;t summarize the <a href="http://www.newsobserver.com/2766/story/1155589.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.newsobserver.com');">whole article</a> ran by <em>The News &amp; Observer</em>, but here&#8217;s the gist of the thing:</p>
<p>Blake is your typical American middle child. He doesn&#8217;t really like school - a Christian Academy where his personal style is stifled and he is forced to obey &#8217;silly&#8217; rules. He is also shy and full of big dreams.</p>
<p>Blake happens to be good at <em>Guitar Hero. </em>Much better than your average joe, but not quite as good as the truly gifted. Blake has won a few tournaments and has snagged some chicken sandwhiches as prizes, but Blake is not on the level of  <a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/idiotic.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/idiotic-thumb.jpg" border="0" alt="idiotic" width="240" height="160" align="left" /></a>iamchris4life. Regardless, Blake bugs his parents until they let him drop out of school to pursue a career in guitar hero. The conditions of the agreement were Peeble was to be home schooled.</p>
<p>Not to be harsh, but that is downright idiotic. Not because he is bad at <em>Guitar Hero</em>, but because there is no future in <em>GH. </em>Half the fanboys in the audience want to kill me right now, so I&#8217;ll say it again. <em>GH</em> is doomed to eventually die. I&#8217;m not saying that rhythm games will eventually die, as I doubt they will. I&#8217;m just saying that the general trend in rhythm games does not purport a future in one subgenre.</p>
<p>For any remaining skeptics out there, look at</p>
<p><strong>The History of Rhythm Gaming</strong>.</p>
<p>The first modern rhythm game released was <em>PaRappa the Rapper</em>, released for the original Playstation. It set the trend all other rhythm games would follow - you timed a button input to a cue on the screen set to music. More accurate presses with fewer missed cues would net you a higher score.</p>
<p>Bemani, arguably the king of 90&#8217;s rhythm gaming followed by releasing a slew of games, the most notable being <em>Dance Dance Revolution </em>and <em>Beatmania. DDR </em>was the infamous &#8216;dance simulation&#8217; where button presses were made by the feet. <em>Beatmania</em> was the &#8216;DJ simulation&#8217; featuring 5 or 7 buttons and a turntable. Spinoffs followed, thus <em>Pump it Up </em>and <em>In The Groove </em>were born.</p>
<p>Dance games managed to corner the market until around 2<a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/ddr.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/ddr-thumb.jpg" border="0" alt="ddr" width="227" height="260" align="right" /></a>003. From 2003-2005, we saw <em>Amplitude, Karaoke Revolution, Donkey Konga, </em>etc. No game could manage to corner the market the same way <em>DDR </em>did.</p>
<p>Then <em>Guitar Hero</em> was released. Something about making an ass of yourself while pretending to be a rockstar struck a serious chord with the American public. Instant success followed the release of the game. After a few sequels and a quibble between <em>Activision </em>and <em>Harmonix</em>, <em>Rock Band</em> was released.</p>
<p>Currently <em>Rock Band</em> and <em>Guitar Hero</em> dominate the music industry.</p>
<p>As you can see, there have been quite a few turnovers in the rhythm industry. Even the most popular series couldn&#8217;t stand the test of time. Very few people still compete in <em>DDR</em> or <em>IIDX</em> in comparison to the prime of either.</p>
<p><strong>The Trend</strong></p>
<p>There is a definite reason for all the turnovers. There is a trend in the rhythm game industry. A trend which <em>DDR</em> and <em>Beatmania </em>followed. <em>Rock Band </em>and <em>Guitar Hero</em> are headed in the same direction.</p>
<p>All rhythm games have a similar motivation to keep players playing: the desire execute more control over the input device. New players are hooked by the short learning curve from beginner to intermediate; advanced and elite players keep playing to &#8216;master&#8217; the hardest songs. Songs which get harder and harder each time a new iteration of the game is released.</p>
<p>When a successful rhythm game released, a large number of people are hooked and <a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/beatmania2dx-us.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/beatmania2dx-us-thumb.jpg" border="0" alt="beatmania2dx_us" width="168" height="244" align="left" /></a>a few rise to &#8216;elite&#8217; status. The elite eventually master the hardest difficulty level. To prevent losing their elite players, the rhythm game must release harder and harder songs each sequel. Elite difficulty evolves, becoming harder and harder; intermediate players are left in the dust.</p>
<p>Eventually the difficulty level becomes too hard - the input device has been pushed to the absolute limit. A ceiling on human capacity is reached and only a select few can continue reaching the new difficulty levels.</p>
<p>Once the elite level reaches this phase, the intermediate level has become saturated. The stagnation of the intermediate level has left the intermediate players bored. This saturation coupled with the growing gap between intermediate and elite players eventually leads to the downfall of the game. Saturation leads to public boredom and the difficulty level prevents the majority of players from becoming elite.</p>
<p><em>DDR</em> is the perfect example of this. A few years in, the hardest song was Max 300 with easy rhythm patterns and 555 steps. A few releases later, MaxX Unlimited, Legend of Max, and Max.(period) all increased the difficulty. Then they put all those songs together in a quartet. Finally, ITG introduced songs like Pandemonium with over 800 steps and complicated rhythm patterns. Shortly after Pandemonium, the dance simulation scene fell apart.</p>
<p>The elite difficulty had become too difficult for the average joe to aspire to and the intermediate difficulty had become saturated and thus stagnated. Everyone got sick of DDR and the industry moved on.</p>
<p>(Someone with a similar view on this topic can be read <a href="http://studio.berkeley.edu/coursework/niemeyer/courses/fs181/student/15/futurepast.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/studio.berkeley.edu');">here</a>)</p>
<p><strong>The Problem</strong></p>
<p>We have wandered extremely far from our original topic. To return to why Blake Peeble has no future in Guitar Hero: Guitar Hero will follow the same trend other rhythm games have. It may not be soon, but it will happen. It will eventually die. When it does, Peeble will be stuck with a completely useless skillset.</p>
<p>Rhythm game skillsets do not transfer between rhythm games. The same way instrument skillsets do not transfer from one instrument to another. Su<a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/guitar-hero-package.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/guitar-hero-package-thumb.jpg" border="0" alt="guitar_hero_package" width="244" height="131" align="right" /></a> re, music theory may be universal, but the skills required to play an instrument are almost entirely unique to a given instrument.</p>
<p>That is Peeble&#8217;s problem. What will he do in X years when Guitar Hero dies and he has no education, no life skills, and no qualifications for a decent job? He will have no future. Like a washed up child movie star, Peeble will have no where to go. Take a look at all the elite DDR players, very few besides iamchris4life managed to make the transition to <em>Guitar Hero.</em></p>
<p>Basing your entire future off professional gaming is a ludicrous risk. Basing your entire future off rhythm gaming is another thing entirely. Even if you manage to get off the ground, your career will entirely end within the decade. Stay in school, everyone.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html&amp;title=Blake+Peeble+and+the+Professional+Rhythm+Game+Problem" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html&amp;title=Blake+Peeble+and+the+Professional+Rhythm+Game+Problem" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html&amp;title=Blake+Peeble+and+the+Professional+Rhythm+Game+Problem" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html&amp;title=Blake+Peeble+and+the+Professional+Rhythm+Game+Problem" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html&amp;title=Blake+Peeble+and+the+Professional+Rhythm+Game+Problem', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html&amp;title=Blake+Peeble+and+the+Professional+Rhythm+Game+Problem" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fblake-peeble-and-the-professional-rhythm-game-problem.html&amp;title=Blake+Peeble+and+the+Professional+Rhythm+Game+Problem" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/blake-peeble-and-the-professional-rhythm-game-problem.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>SRCDS Tech: The Rest&#8230;</title>
		<link>http://www.opggaming.com/main/srcds-tech-the-rest.html</link>
		<comments>http://www.opggaming.com/main/srcds-tech-the-rest.html#comments</comments>
		<pubDate>Mon, 18 Aug 2008 20:56:39 +0000</pubDate>
		<dc:creator>Laby</dc:creator>
		
		<category><![CDATA[oPg CS:S Server]]></category>

		<category><![CDATA[1000fps]]></category>

		<category><![CDATA[333fps]]></category>

		<category><![CDATA[500fps]]></category>

		<category><![CDATA[counter strike]]></category>

		<category><![CDATA[CS]]></category>

		<category><![CDATA[lower fps is better]]></category>

		<category><![CDATA[netcode]]></category>

		<category><![CDATA[server FPS]]></category>

		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=642</guid>
		<description><![CDATA[Oh dear. This topic is one of the least understood and most debated topics in the source community. The problem coming from the fact that no one really knows how this all works, they all just make the best educated guess they can based off documentation and inference.]]></description>
			<content:encoded><![CDATA[<p><em>This is part 5 in a series</em>.</p>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-thumb.jpg" ><img src="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-thumb.jpg" border="0" alt="Counter-Strike-Source" width="79" height="79" align="left" /></a>The source engine netcode is a little squirrelly. It always has been and it always  will be. One of the questions I am bombarded with is &#8216;How do I fix XYZ to make the game run better?&#8217; In order to make the universe a slightly better place, I&#8217;m going to try and help all of you.</p>
<p>Articles in this series will include:</p>
<ol>
<li><a href="http://www.opggaming.com/main/srcds-tech-how-source-netcode-works.html" >The basics of how source netcode works</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-compensation-for-an-imperfect-world.html" >How the source engine compensates for an imperfect environment</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-netgraph-explanation.html" >Understanding the Netgraph</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-optimization.html" >Optimization Guide</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-the-rest.html" >Everything else advanced and so far not covered (You are Here)</a></li>
</ol>
<h2>What&#8217;s left?</h2>
<p>There are mountains of things left, in all honesty. Source is not a simple or shallow topic. Most of the topics left are either worthless or impossible to understand without access to the source of the source engine.</p>
<p>The two remaining topics of the most instrumental value are cl_interp_ratio and Server FPS.</p>
<p>One is relatively useable and the other is good information, considering there are huge misconceptions running around about it.</p>
<h2>cl_interp_ratio</h2>
<p>A long time ago, the dilapidated cl_interp command was replaced with cl_interp_ratio. This change was welcome, considering cl_interp was defaulted for cl_updaterate 20. No one was using cl_updaterate 20 anymore and the information on how to set cl_interp to make interpolation useful was not readily available. Accordingly, we got cl_interp_ratio.</p>
<p>For anyone who wants to know that old equation, it was</p>
<blockquote>
<p style="text-align: center;">cl_interp = 2 / cl_updaterate</p>
</blockquote>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/yowza.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/yowza-thumb.jpg" border="0" alt="yowza" width="244" height="139" align="right" /></a>cl_interp_ratio does the work of setting interp based off of your cl_updaterate for  you. It works pretty well. You can optimize it if you are on a server which will allow you to, but most of the times cl_interp_ratio is forced to 1.</p>
<p>Regardless of the server you are on, here&#8217;s the important part:</p>
<p>If you adjust your cl_updaterate, your interp will also be adjusted. End of story.</p>
<p>The new equation is</p>
<blockquote>
<p style="text-align: center;">cl_interp_ratio/cl_updaterate = Interpolation</p>
</blockquote>
<p>Here are some tables from <a href="http://whisper.ausgamers.com/wiki/index.php/Tickrate" onclick="javascript:pageTracker._trackPageview('/outbound/article/whisper.ausgamers.com');">Whisper&#8217;&#8217;s Wiki</a> to help anyone who wants to optimize their ratio.</p>
<table border="0" cellspacing="0" cellpadding="2" width="409">
<tbody>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 30</td>
<td width="141" valign="top">interpolation = 0.033</td>
</tr>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 35</td>
<td width="141" valign="top">interpolation = 0.029</td>
</tr>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 40</td>
<td width="141" valign="top">interpolation = 0.025</td>
</tr>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 50</td>
<td width="141" valign="top">interpolation = 0.020</td>
</tr>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 60</td>
<td width="141" valign="top">iinterpolation = 0.017</td>
</tr>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 66</td>
<td width="141" valign="top">interpolation = 0.015</td>
</tr>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 75</td>
<td width="141" valign="top">interpolation = 0.013</td>
</tr>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 80</td>
<td width="141" valign="top">interpolation = 0.013</td>
</tr>
<tr>
<td width="133" valign="top">cl_interp_ratio 1.0</td>
<td width="133" valign="top">cl_updaterate 100</td>
<td width="141" valign="top">interpolation = 0.010</td>
</tr>
</tbody>
</table>
<p>For anyone who is running  cl_interp_ratio != 1 <a href="http://whisper.ausgamers.com/wiki/index.php/Tickrate" onclick="javascript:pageTracker._trackPageview('/outbound/article/whisper.ausgamers.com');">Whisper&#8217;s Wiki</a> has some other great tables to help you.</p>
<h2>Server FPS</h2>
<p>Oh dear. This topic is one of the least understood and most debated topics in the source community. The problem coming from the fact that no one really knows how this all works, they all just make the best educated guess they can based off documentation and inference.</p>
<p>I&#8217;ll lay it down flat with as much legitimate proof as I can muster.</p>
<p><strong>The Explanation</strong></p>
<p>Returning to the basic netcode: Everything that happens in a CS:S server is calculated by frames. These frames are the snapshots that we discussed earlier. The more frames a server can calculate per second, the more accurate the data will be.</p>
<p>This is where the &#8216;1000fps is best&#8217; mentality comes from. If you look at it just from this perspective, it makes sense.  At 1000fps the server will calculate the world at 1 frame/millisecond. Compare that to 100fps which is 1 frame/10 milliseconds. (Credit: <a href="http://www.meatfactory.net/index.php?option=com_content&amp;task=view&amp;id=220&amp;Itemid=2" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.meatfactory.net');">Meat Factory</a>)</p>
<p>Much higher, right? Yes, but the client runs at a much slower rate due to the limit of server tickrate.</p>
<p>Unlike other games where server FPS directly translates to tickrate, Source has a tickrate independent of server FPS. As mentioned earlier in the series, the <a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/de-train.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/de-train-thumb.jpg" border="0" alt="de_train" width="244" height="146" align="left" /></a> tickrate defines the maximum amount of updates per second a client can receive. This is where the client/tickrate come into play vs server fps.</p>
<p>The server may be able to calculate the world every millisecond, but the client is only sending/receiving updates every 10 milliseconds. Meaning, the server is making calculations based off old client data 9/10 times at 1000fps.</p>
<p>To summarize what we have to far: 1000fps servers can calculate their world at a much faster rate than 100fps servers, but clients only send data at the rate of the 100fps server. Meaning the extra calculations on the 1000fps server are based off of the same amount of data as the 100fps server.</p>
<p>I asked Laws from HiDef about this subject and I&#8217;ll paraphrase what he had to say.</p>
<blockquote><p>What 1000fps is doing is making more calculations than necessary on the server side, so when the data is sent to the client it is the most accurate as possible. With a 100fps server, it will make the necessary number of calculations to play the game at near optimal performance assuming fps never dips and a bunch of other variables never fluctuate. The 1000fps server gives you that TINY fraction of a percent chance that the server will make a more accurate calculation based off of the same data.</p></blockquote>
<p><strong>The Good</strong></p>
<p>A 1000fps server will reduce the possibility for a skewed update because of how many extra calculations it does.</p>
<p><strong>The Bad</strong></p>
<p>We need to consider more than just the netcode here. We don&#8217;t live in a perfect world, remember? Everything up until this point is assuming that there are NO fluctuations in any variables and we have unlimited server resources.</p>
<p>That is not the case.</p>
<p>Here is where 1000fps doesn&#8217;t look so good. It runs so fast and demands so much CPU that it can easily overload a server. Whenever anything happens in game - <a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/proof.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/proof-thumb.jpg" border="0" alt="proof" width="244" height="148" align="right" /></a> firefights, smoke grenades, etc. - the server is taxed. At a higher FPS, this may be too much for the server to handle and the outcome is never good.</p>
<p>Once overloaded, the server FPS may <em>dive. </em>The game server is unstable. That minute chance of a more accurate calculation is gone because the fps dropped.</p>
<p>The game server may also screw up the scheduling of the CPU causing all sorts of good lag spikes, etc.</p>
<p>End of story - 1000fps is not as stable as lower fps.</p>
<p><strong>The Ugly</strong></p>
<p>Now you have the readers digest version of server fps. It is time to weigh in the pros and cons.</p>
<p><span style="text-decoration: underline;">Higher FPS (600+)</span></p>
<p><em>Pros</em>:</p>
<ul>
<li>More calculations per second - you are less likely to end up with a skewed update. Updates will the &#8216;most&#8217; accurate as possible.</li>
</ul>
<p><em>Cons</em>:</p>
<ul>
<li>MUCH harder on server resources.</li>
<li>May cause instability issues.</li>
<li>Expensive</li>
</ul>
<p><span style="text-decoration: underline;">Medium FPS (333-500)</span></p>
<p><em>Pros:</em></p>
<ul>
<li>Provides adequate headroom for variable fluctuation without introducing tendency for instability. (Remember, choke will occur if the the server FPS drops lower than the rate of data demanded by updaterate or rate.)</li>
<li>Provides more calculations per second than low fps.</li>
<li>Stable (this also depends on the server host)</li>
</ul>
<p><em>Cons:</em></p>
<ul>
<li>Not as many calculations as 1000fps</li>
<li>More expensive than lower FPS.</li>
</ul>
<p><span style="text-decoration: underline;">Low FPS (300-)</span></p>
<p><em>Pros:</em></p>
<ul>
<li>Cheapest</li>
<li>If no variables fluctuate, it provides almost the exact same performance as Medium/High FPS server.</li>
</ul>
<p><em>Cons:</em></p>
<ul>
<li>Fewest number of calculations. Larger possibility for inaccurate data.</li>
<li>If <em>ANYTHING </em>fluctuates and/or goes wrong you will dip below the 100fps. Thus, susceptible to a different type of instability.</li>
</ul>
<p><strong>The Verdict </strong></p>
<p>Recommendations are personal opinion based off my knowledge on this subject.</p>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/dust.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/dust-thumb.jpg" border="0" alt="dust" width="200" height="151" align="left" /></a>What should I buy?</p>
<p><em>Public  Server:</em> 333FPS (Preferred) or 500FPS</p>
<p>With all the mods and addons most public servers run, having a server higher than 333fps is likely to cause instability. Although, if you are in an adequate server environment, you can 500FPS with little to no problems.</p>
<p><em>Private Server: </em>500fps</p>
<p>Private servers tend to be less demanding on server resources than public servers. You should be able to easily get away with 500fps without causing instability issues.500fps is the best combination of price and performance from most server hosts.</p>
<p><strong>Do not buy a higher fps server from a worse quality server host over a lower fps server from a higher quality server host. Good hardware which has not been overloaded will produce much better results at a lower fps than an overloaded box at higher fps.</strong></p>
<h2>There&#8217;s Nothing Left</h2>
<p>Thanks for reading. If you want me to cover another topic, just let me know.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html&amp;title=SRCDS+Tech%3A+The+Rest%26%238230%3B" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html&amp;title=SRCDS+Tech%3A+The+Rest%26%238230%3B" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html&amp;title=SRCDS+Tech%3A+The+Rest%26%238230%3B" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html&amp;title=SRCDS+Tech%3A+The+Rest%26%238230%3B" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html&amp;title=SRCDS+Tech%3A+The+Rest%26%238230%3B', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html&amp;title=SRCDS+Tech%3A+The+Rest%26%238230%3B" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-the-rest.html&amp;title=SRCDS+Tech%3A+The+Rest%26%238230%3B" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/srcds-tech-the-rest.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>SRCDS Tech: Optimization</title>
		<link>http://www.opggaming.com/main/srcds-tech-optimization.html</link>
		<comments>http://www.opggaming.com/main/srcds-tech-optimization.html#comments</comments>
		<pubDate>Mon, 18 Aug 2008 04:07:40 +0000</pubDate>
		<dc:creator>Laby</dc:creator>
		
		<category><![CDATA[oPg CS:S Server]]></category>

		<category><![CDATA[choke]]></category>

		<category><![CDATA[cl_cmdrate]]></category>

		<category><![CDATA[cl_updaterate]]></category>

		<category><![CDATA[fix]]></category>

		<category><![CDATA[fps_max]]></category>

		<category><![CDATA[lag]]></category>

		<category><![CDATA[loss]]></category>

		<category><![CDATA[optimization]]></category>

		<category><![CDATA[rate]]></category>

		<category><![CDATA[reduce choke]]></category>

		<category><![CDATA[tickrate]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=620</guid>
		<description><![CDATA[Before I get to actual optimization, we need to understand what choke is. Choke is the server trying to send you data when you cannot accept it. 

Reasons for this are as numerous as there are blades of grass in the neighbor's lawn. I'll cover the most common one's, which include:]]></description>
			<content:encoded><![CDATA[<p><em>This is part 4 in a series</em>.</p>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-thumb.jpg" ><img src="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-thumb.jpg" border="0" alt="Counter-Strike-Source" width="79" height="79" align="left" /></a>The source engine netcode is a little squirrelly. It always has been and it always  will be. One of the questions I am bombarded with is &#8216;How do I fix XYZ to make the game run better?&#8217; In order to make the universe a slightly better place, I&#8217;m going to try and help all of you.</p>
<p>Articles in this series will include:</p>
<ol>
<li><a href="http://www.opggaming.com/main/srcds-tech-how-source-netcode-works.html" >The basics of how source netcode works</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-compensation-for-an-imperfect-world.html" >How the source engine compensates for an imperfect environment</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-netgraph-explanation.html" >Understanding the Netgraph</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-optimization.html">Optimization Guide (You Are Here)<br />
</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-the-rest.html" >Everything else advanced and so far not covered </a></li>
</ol>
<h2>Choke/Loss</h2>
<p>Before I get to actual optimization, we need to understand what choke is. Choke is the server trying to send you data when you cannot accept it.</p>
<p>Reasons for this are as numerous as there are blades of grass in the neighbor&#8217;s lawn. I&#8217;ll cover the most common one&#8217;s, which include:</p>
<p>Inconsistencies in</p>
<ul>
<li>Frame Rate and Frame Rate vs cl_cmdrate</li>
<li>cl_cmdrate vs cl_updaterate</li>
</ul>
<p>Failure to</p>
<ul>
<li>Sustain necessary bandwidth (May cause Loss)</li>
<li>Correctly set your Steam &#8216;Internet&#8217; setting</li>
</ul>
<h2>Optimization</h2>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-2005070703001.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-2005070703001-thumb.jpg" border="0" alt="counter-strike-source-2005070703001" width="244" height="167" align="left" /></a></p>
<p>The above list may be small, but it covers the majority of choke related problems. Almost all choke problems are related to &#8216;rate&#8217; control variables being set incorrectly.</p>
<p>Here&#8217;s my list of choke fixing basics. If this does not solve your choke problems, you should be able to intuitively grasp what might be causing choke from the rest of the series or <em>Whispers Wiki</em>.</p>
<p><em>Make sure you have enabled &#8216;net_graph 3&#8242; before any of this</em></p>
<p>1. Set your Steam Internet connection setting. Set it one setting higher than your actual internet setting. Most of you will set it to &#8220;Cable/Fiber &lt; 10M&#8221; You find this in steam via</p>
<p>File -&gt; Settings -&gt; Downloads -&gt; &#8220;Approximate speed of your Internet Connection&#8221;</p>
<p>2.  Make sure you do not have LOSS problems. If you do, check with your ISP and/or GSP to see if there is something wrong with your connection or routing. Then check your router, network card, and everything else you can think of. Loss cannot often be fixed by rate settings.</p>
<p>3. Set your cl_cmdrate and cl_updaterate to the server&#8217;s tickrate +1. Set rate to the sv_maxrate. Set your fps_max to your cl_cmdrate.</p>
<p>For our 100Tick server you would set</p>
<ul>
<li>
<ul>
<li>cl_cmdrate 101</li>
<li>cl_updaterate 101</li>
<li>rate 30000</li>
<li>fps_max 101</li>
</ul>
</li>
</ul>
<p>The idea behind this is that you will never dip below the max packets the server can send to you. Also, your FPS should match your cl_cmdrate consistently. This will effectively eliminate the aforementioned inconsistencies.<a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/css-dust-2big1.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/css-dust-2big-thumb1.jpg" border="0" alt="css-dust-2.big" width="244" height="184" align="right" /></a></p>
<p>4. If you cannot consistently sustain the fps_max, drop your fps_max to a setting you can consistently maintain. Or decrease your graphics settings to raise your fps to the fps_max settings.</p>
<p>Match cl_cmdrate to the new fps_max setting.</p>
<p>Example: I can only sustain 80 fps.</p>
<ul>
<li>fps_max 81</li>
<li>cl_cmdrate 81</li>
</ul>
<p>5. Evaluate. Are you still getting choke? If so</p>
<p>6. Begin dropping your cl_updaterate in intervals of 5 until choke is reduced or eliminated.</p>
<p>For a 100 tick server:</p>
<p>Start with cl_updaterate 100, then 95, 90, 85 etc.</p>
<p>7. Evaluate again. Are you still getting choke? If so</p>
<p>8. Match cl_cmdrate and cl_updaterate. Match with whichever is lower.</p>
<p>9. Evaluate again. If you are still getting choke, it is more than likely another problem. Make sure you&#8217;re not being obsessive about choke. <em>Some</em> choke is to be expected. This is unavoidable and trying to eliminate it will drive you crazy.</p>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/de-nuke1-01.jpg" ><img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/de-nuke1-01-thumb.jpg" border="0" alt="de_nuke1_01" width="244" height="196" align="left" /></a> It also may be the server, try a different server.</p>
<p>&#8212;</p>
<p>The concept this whole method is based on is that you use a cookie cutter setting which will allow you to achieve optimal communication with the server. Then, you will tweak your settings until you reach something that you can handle based on your computer and internet connection.</p>
<h2>The &#8216;X&#8217; Factor</h2>
<p>It is important to understand that there are things beyond the client&#8217;s control which can cause choke. There are also server side factors to consider. All of the following will cause choke as a fault of the server: (Credit to <a href="http://whisper.ausgamers.com/wiki/index.php/Tickrate" onclick="javascript:pageTracker._trackPageview('/outbound/article/whisper.ausgamers.com');">Whisper&#8217;s Wiki</a>)</p>
<ul>
<li>Failure to sustain tickrate</li>
<li>Failure to sustain fps demanded by tickrate</li>
<li>Failure to sustain the fps required by or failure to sustain the sv_minupdaterate</li>
<li>Failure to sustain necessary bandwidth to support updaterate and sv_minupdaterate</li>
<li>Any general failure of server resources to adequately sustain the SRCDS process</li>
</ul>
<p>In summary: If the server cannot adequately support the demands of the SRCDS process in either bandwidth or resources, there will be problems. Sometimes these problems result in choke.</p>
<h2>One More To Go</h2>
<p>Well, folks, with the optimization guide out of the way, we only have the advanced stuff left to cover. I&#8217;ll be covering it tomorrow. Tune back in if you&#8217;re interested in the new cl_interp_ratio and what exactly server fps means.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html&amp;title=SRCDS+Tech%3A+Optimization" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html&amp;title=SRCDS+Tech%3A+Optimization" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html&amp;title=SRCDS+Tech%3A+Optimization" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html&amp;title=SRCDS+Tech%3A+Optimization" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html&amp;title=SRCDS+Tech%3A+Optimization', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html&amp;title=SRCDS+Tech%3A+Optimization" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-optimization.html&amp;title=SRCDS+Tech%3A+Optimization" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/srcds-tech-optimization.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>SRCDS Tech: Netgraph Explanation</title>
		<link>http://www.opggaming.com/main/srcds-tech-netgraph-explanation.html</link>
		<comments>http://www.opggaming.com/main/srcds-tech-netgraph-explanation.html#comments</comments>
		<pubDate>Fri, 15 Aug 2008 23:56:29 +0000</pubDate>
		<dc:creator>Laby</dc:creator>
		
		<category><![CDATA[oPg CS:S Server]]></category>

		<category><![CDATA[choke]]></category>

		<category><![CDATA[counter strike]]></category>

		<category><![CDATA[CS]]></category>

		<category><![CDATA[explanation]]></category>

		<category><![CDATA[net graph]]></category>

		<category><![CDATA[net_graph 2]]></category>

		<category><![CDATA[net_graph 3]]></category>

		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=610</guid>
		<description><![CDATA[net_graph 3 can be either your best friend or your worst enemy. It provides priceless data on exactly will either optimize your experience or drive you crazy. Understanding the netgraph is the key to the former and a little restraint is the key to avoiding the latter.]]></description>
			<content:encoded><![CDATA[<p><em>This is part 3 in a series</em>.</p>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-thumb.jpg" ><img src="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-thumb.jpg" border="0" alt="Counter-Strike-Source" width="79" height="79" align="left" /></a>The source engine netcode is a little squirrelly. It always has been and it always  will be. One of the questions I am bombarded with is &#8216;How do I fix XYZ to make the game run better?&#8217; In order to make the universe a slightly better place, I&#8217;m going to try and help all of you.</p>
<p>Articles in this series will include:</p>
<ol>
<li><a href="http://www.opggaming.com/main/srcds-tech-how-source-netcode-works.html" >The basics of how source netcode works</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-compensation-for-an-imperfect-world.html" >How the source engine compensates for an imperfect environment</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-netgraph-explanation.html">Understanding the Netgraph (You Are Here)<br />
</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-optimization.html" >Optimization Guide</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-the-rest.html" >Everything else advanced and so far not covered </a></li>
</ol>
<h2>The Netgraph: Friend or Foe?</h2>
<p>net_graph 3 can be either your best friend or your worst enemy. It provides priceless data on exactly will either optimize your experience or drive you crazy. Understanding the netgraph is the key to the former and a little restraint is the key to avoiding the latter.</p>
<p>First things, first - <em>What is the netgraph and how do I get to it? </em></p>
<p>To enable the netgraph,  open your console the via &#8216;~&#8217; key and type net_graph 3. It&#8217;s that simple. In the bottom of the right hand corner, you should now see something that looks like this:</p>
<p style="text-align: center;"><em><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/net-graph3-explanation1.jpg" > <img class="aligncenter" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/netgraph-thumb.jpg" border="0" alt="netgraph" width="492" height="134" /></a> </em></p>
<p>Looks rather daunting. Some of the numbers are self explanatory, but most are fairly cryptic.</p>
<p><em>Decrypting the Netgraph</em></p>
<p>To help understand the netgraph, I have borrowed the infamous labeled netgraph from <a href="http://whisper.ausgamers.com/wiki/index.php/Tickrate" onclick="javascript:pageTracker._trackPageview('/outbound/article/whisper.ausgamers.com');">Whisper&#8217;s Wiki</a></p>
<p style="text-align: center;"><em><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/net-graph3-explanation1.jpg" ><img class="aligncenter" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/net-graph3-explanation-thumb.jpg" border="0" alt="Net_graph3_explanation" width="506" height="136" /></a></em></p>
<p>The numbers mean the following:</p>
<p>1. fps: Client side FPS. This is how many frames per second the game is producing at this giving moment in time. Anything above 60 is not important in a visual sense, due to monitor refresh rates and limitations of the human eye. But as I mentioned yesterday, client FPS limits your &#8216;out&#8217; packets.</p>
<p>As you can see in #5, the FPS is limiting the out to 78.6packets/s even though cl_cmdrate is set higher.</p>
<p>2. ping: is the average time in milliseconds for round trip time for packets. Meaning, it is the time it takes for you to send and then receive a packet from the game server. Keep in mind this is just the raw time for you to the server. It does not includes any client or server calculation times.</p>
<p>Keep in mind net_graph ping differs from scoreboard ping. Scoreboard ping is a one way calculation, net_graph is roundtrip.</p>
<p>3. in: Size, in bytes, of the last incoming (server to you) packet (snapshot) received by the client.</p>
<p>out: Size, in bytes, of the last outgoing (you to server) packet (snapshot) sent by the client.</p>
<p>In all honesty, 3 is worthless. There is no way to effectively influence these numbers, so you might as well forget about them.</p>
<p>4. in: Average incoming bandwidth in kilobytes/sec</p>
<p>out: average outgoing bandwidth in kilobytes/sec</p>
<p>4 is also worthless. As long as these numbers look relatively proportionate to the numbers you see above, you have nothing to worry about.</p>
<p>5. in: Average packets (snapshots) being received (server to you) per second.</p>
<p>This number should be very close to your cl_updaterate setting. There are times when it will be different:</p>
<p>Good Examples</p>
<ul>
<li>When the server has a lower tickrate than your cl_updaterate</li>
<li>When the server has a lower sv_maxupdaterate setting than your cl_updaterate</li>
</ul>
<p>Bad Examples (Choke will be produced)</p>
<ul>
<li>Server or client cannot does not have adequate bandwidth - the client will not see all in packets.</li>
<li>Server does not have enough resources to sustain the server fps and the server environment.</li>
</ul>
<p>out: Average packets (snapshots) being sent (you to server) per second.</p>
<p>This number should be very close to your cl_cmdrate setting. There are a few times when it will be lower:</p>
<p>Good Examples</p>
<ul>
<li>sv_maxcmdrate is lower than cl_cmdrate</li>
<li>When the server has a lower tickrate than your cl_cmdrate.</li>
</ul>
<p>Bad Examples (Choke will be produced)</p>
<ul>
<li>Client FPS is lower than cl_cmdrate</li>
<li>Any of the aforementioned bad examples</li>
</ul>
<p>6. Loss: Any packets (snapshots) that are lost somewhere between the server to you. This almost always results from a problem with routing, your network connection, your ISP, your router, etc. Rarely is a problem with the game.</p>
<p>7. Choke: In its purest form, choke is the game engine trying to send more data than it can. Expect a full look at this in the explanation guide.</p>
<p><strong><span style="text-decoration: underline;">Net_graph 2</span></strong></p>
<p>For anyone who likes to use net_graph 2. Here is an explanation from the developer&#8217;s wiki.</p>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/net-graph2.jpg" ><img class="alignleft" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/net-graph2-thumb.jpg" border="0" alt="Net_graph2" width="644" height="258" /></a></p>
<blockquote><p>Under the net graph, the first line shows your current rendered frames per second, your average latency, and the current value of <code>cl_updaterate</code>. The second line shows the size in bytes of the last incoming packet (snapshots), the average incoming bandwidth, and received packets per second. The third line shows the same data just for outgoing packets (user commands).</p></blockquote>
<h2>That&#8217;s all folks</h2>
<p>That covers the comprehensive and in depth view of the net_graph. Expect more information on optimization this Sunday. I&#8217;m out of town tomorrow, so you&#8217;ll have to wait a few days. Sorry.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html&amp;title=SRCDS+Tech%3A+Netgraph+Explanation" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html&amp;title=SRCDS+Tech%3A+Netgraph+Explanation" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html&amp;title=SRCDS+Tech%3A+Netgraph+Explanation" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html&amp;title=SRCDS+Tech%3A+Netgraph+Explanation" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html&amp;title=SRCDS+Tech%3A+Netgraph+Explanation', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html&amp;title=SRCDS+Tech%3A+Netgraph+Explanation" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-netgraph-explanation.html&amp;title=SRCDS+Tech%3A+Netgraph+Explanation" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/srcds-tech-netgraph-explanation.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>SRCDS Tech: Compensation for an Imperfect World</title>
		<link>http://www.opggaming.com/main/srcds-tech-compensation-for-an-imperfect-world.html</link>
		<comments>http://www.opggaming.com/main/srcds-tech-compensation-for-an-imperfect-world.html#comments</comments>
		<pubDate>Fri, 15 Aug 2008 05:34:15 +0000</pubDate>
		<dc:creator>Laby</dc:creator>
		
		<category><![CDATA[oPg CS:S Server]]></category>

		<category><![CDATA[counterstrike source]]></category>

		<category><![CDATA[CS]]></category>

		<category><![CDATA[interpolate]]></category>

		<category><![CDATA[lag]]></category>

		<category><![CDATA[lag compensation]]></category>

		<category><![CDATA[prediction]]></category>

		<category><![CDATA[source tech]]></category>

		<category><![CDATA[SRCDS]]></category>

		<guid isPermaLink="false">http://www.opggaming.com/main/?p=597</guid>
		<description><![CDATA[As I mentioned in part 1, the environment in which servers operate is not perfect. Server resources, bandwidth limitation, connection diversity,  player location vs server location, etc all contribute to an environment which is less than ideal. Accordingly, methods to compensate for these imperfections are necessary.]]></description>
			<content:encoded><![CDATA[<p><em>This is part 2 in a series</em>.</p>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-thumb.jpg" ><img src="http://www.opggaming.com/main/wp-content/uploads/2008/08/counter-strike-source-thumb.jpg" border="0" alt="Counter-Strike-Source" width="79" height="79" align="left" /></a>The source engine netcode is a little squirrelly. It always has been and it always  will be. One of the questions I am bombarded with is &#8216;How do I fix XYZ to make the game run better?&#8217; In order to make the universe a slightly better place, I&#8217;m going to try and help all of you.</p>
<p>Articles in this series will include:</p>
<ol>
<li><a href="http://www.opggaming.com/main/srcds-tech-how-source-netcode-works.html" >The basics of how source netcode works</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-compensation-for-an-imperfect-world.html">How the source engine compensates for an imperfect environment (You Are Here)<br />
</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-netgraph-explanation.html" >Understanding the Netgraph</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-optimization.html" >Optimization Guide</a></li>
<li><a href="http://www.opggaming.com/main/srcds-tech-the-rest.html" >Everything else advanced and so far not covered </a></li>
</ol>
<h1>An Imperfect World</h1>
<p>As I mentioned in part 1, the environment in which servers operate is not perfect. Server resources, bandwidth limitation, connection diversity,  player location vs server location, etc all contribute to an environment which is less than ideal. Accordingly, methods to compensate for these imperfections are necessary.</p>
<p>Source makes use of three main compensation methods: Interpolation, Input Prediction, and Lag Compensation. Throughout the rest of the article, I will be discussing the theory and practical implementation of the aforementioned.</p>
<h2>Interpolation</h2>
<p>The first method of compensation is entity interpolation, it also happens to be the hardest to understand. If you can make it through this section, the next two will be a piece of cake.</p>
<p>Servers send clients and clients send servers snapshots <a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/css-dust-2big.jpg" ><img class="alignleft" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/css-dust-2big-thumb.jpg" border="0" alt="css-dust-2.big" width="244" height="184" align="right" /></a>of their action at a rate of Xsnapshots/second. In a perfect world, this rate would be Infinitysnapshots/second. Considering we don&#8217;t live in a perfect world, it&#8217;s usually between 66-100snapshots/second. Thus, if the game engine were to only display  the received snapshots, then motion would appear jagged and choppy. In order to compensate for this problem, the source engine makes use of interpolation.</p>
<p>In its basic form: Interpolation is the server looking at snapshots A and C and creating a certain number of B snapshots so motion is smooth and continuous.</p>
<p>More advanced: The source engine goes back in time to interpolate. To understand this, you need to realize that Client Time with the server and Rendering time is offset depending on the interpolation value.</p>
<p>You receive a frame at client time A and then later at time C, the engine then goes back in time to just before time A and renders all the frames in between A and C. Thus your render time is usually between 10-100ms behind your client time.</p>
<p>Here&#8217;s an example directly from the Source Developer Wiki</p>
<p style="text-align: center;"><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/interpolation.gif" ><img class="aligncenter" style="border-top-width: 0px; border-left-width: 0px; border-bottom-width: 0px; border-right-width: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/interpolation-thumb.gif" border="0" alt="Interpolation" width="491" height="191" align="center" /></a></p>
<blockquote><p>The last snapshot received on the client was at tick 344 or 10.30 seconds. The client time continues to increase based on this snapshot and the client frame rate. If a new video frame is rendered, the rendering time is the current client time 10.32 minus the view interpolation delay of 0.1 seconds. This would be 10.22 in our example and all entities and their animations are interpolated using the correct fraction between snapshot 340 and 342.</p></blockquote>
<p><em>So, interpolation will cause a render delay of Xmilliseconds (often 100).</em></p>
<p>For anyone who has followed me thus far, you may be wondering what happens if the packet containing frame A or frame C is dropped. Well, by default the game uses 3 packets for interpolation. That way, one packet may be dropped without issue. If more than one packet in a row is dropped, the engine will make use of Extrapolation - it takes a look at the two most recent packets and tries to make linear sense of the action between them.</p>
<p>That covers interpolation. Congratulations.</p>
<p><a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/cs-source-update-ss1.jpg" ><img class="alignleft" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/cs-source-update-ss1-thumb.jpg" border="0" alt="cs-source-update-ss1" width="244" height="137" align="left" /></a><strong><span style="text-decoration: underline;">P</span></strong><strong><span style="text-decoration: underline;">ractical Interp Commands</span></strong></p>
<p style="text-align: left;">There are very few now. The old inerp system assumed a certain delay time and packet time, which was rarely used. Accordingly, problems were created by it. Ever since the interp update to the netcode, there has been very little reason to adjust interp settings as the game does a much better job of dynamically setting them for you.</p>
<p>Besides, most servers restrict manual configuration of the interp settings. So, if you&#8217;re one of those people who understands this enough to configure it yourself, you&#8217;re still probably out of luck.</p>
<h2>Prediction</h2>
<p>Next we have input prediction. Much, much easier to understand than interpolation.</p>
<p>Consider a player with 100ms latency (lag). Every time they input a command such as +FORWARD there is a 100ms delay from the time the user makes that command to the time the server receives it. Combine that with the added latency of the  server sending a new &#8217;snapshot&#8217; to all the players and you end up with a problem. All player input would be very delayed - it would start after you pressed the key and end after you let off.</p>
<p>To solve this problem, source uses prediction. Which is just as simple as it sounds. <a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/counterstrike-10241.jpg" ><img class="alignright" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/counterstrike-10241-thumb.jpg" border="0" alt="counterstrike_1024[1]" width="244" height="184" align="left" /></a>Using the same rules the server would use to process your commands, the game instantly predicts the results of your actions. Then that is sent to the server.</p>
<p>In effect, your position is &#8216;predicted.&#8217; You are in effect sending the future to the server.</p>
<p>This is not an exact science, however, and there are occasional errors. Sometimes the server predicts your future position incorrectly. When this happens, errors are smoothed out over time via the cl_smooth command. Without this smoothing, the game would be very jerky every time an error occurred.</p>
<p>Keep in mind that prediction only works for you. You only predict <em>your</em> position, not other players&#8217; positions.</p>
<p><strong><span style="text-decoration: underline;">Practial Prediction Commands</span></strong></p>
<p>Same thing as interp. cl_smooth 0 used to make a lot of sense. After the netcode update, leaving things default does a much better job.</p>
<h2>Lag Compensation</h2>
<p>Lag is the basic &#8216;problem&#8217; of all multiplayer games. You make an action and the server does not receive that action instantly. Rather, there is a latency period from the time you made the action and the time the server receives it. During this time, the server is still calculating the world. What you see happening is not what is really happening.</p>
<p>To action compensate for this problem, the source engine makes use of lag compensation. It keeps track of all player actions for 1 second and uses the following equation to estimate the time at when an took place.</p>
<blockquote><p><strong>Command Execution Time = Current Server Time - Packet Round-Trip-Time - Client View Interpolation</strong></p></blockquote>
<p>A fairly simple equation. It is flawed however. It is flawed because the server must make the decision based on client packets of action rather than just accepting client result packets.</p>
<p>This would explain why you may be hit by a bullet after you have ducked behind cover. The server estimated that you were still on the attacker&#8217;s screen at the  time the shot was fired. Sometimes this is the case, sometimes it is not.<a href="http://www.opggaming.com/main/wp-content/uploads/2008/08/lag-compensation.jpg" ><img class="alignleft" style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" src="http://www.opggaming.com/main/wp-content/uploads/2008/08/lag-compensation-thumb.jpg" border="0" alt="Lag_compensation" width="244" height="133" align="right" /></a></p>
<ul>
<li>Why the room for error?</li>
<li>Why calculate on the server rather than on the client?</li>
<li>Why introduce the room for error, rather than make use of pixel perfect precision?</li>
</ul>
<p>The answer to all of the above is the possibility to alter the packets. All clients must be assumed &#8216;clean&#8217; for the aforementioned to make sense. Any hacking or abuse of the system would be very easy.</p>
<p>So, we must deal with inconsistencies and paradoxes of lag. Paradoxes created due to low packet speeds. Paradoxes avoidable in the real world due to light (the packets) traveling infinitely faster than our in-game packets.</p>
<p><strong><span style="text-decoration: underline;">Practical Lag Comp Commands</span></strong></p>
<p>There aren&#8217;t any. You are entirely up to the mercy of the game engine on this one. This used to be a bad thing. If any of you remember the old lag comp videos, the lag comp engine when source was first released was horrible. There was a serious delay between rendered player position and actual player position.</p>
<p>Good news, that has been more or less taken care of. Huzzah!</p>
<h1>There you have it!</h1>
<p>That&#8217;s all for today folks. Hopefully it was a bit easier reading in comparison to yesterday.</p>
<p>Tomorrow should get even better. Expect a comprehensive look at the netgraph. The best and worst thing to ever happen to source.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html&amp;title=SRCDS+Tech%3A+Compensation+for+an+Imperfect+World" onclick="javascript:pageTracker._trackPageview('/outbound/article/slashdot.org');" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html&amp;title=SRCDS+Tech%3A+Compensation+for+an+Imperfect+World" onclick="javascript:pageTracker._trackPageview('/outbound/article/digg.com');" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html&amp;title=SRCDS+Tech%3A+Compensation+for+an+Imperfect+World" onclick="javascript:pageTracker._trackPageview('/outbound/article/reddit.com');" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html&amp;title=SRCDS+Tech%3A+Compensation+for+an+Imperfect+World" onclick="javascript:pageTracker._trackPageview('/outbound/article/del.icio.us');" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html&amp;title=SRCDS+Tech%3A+Compensation+for+an+Imperfect+World', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.facebook.com');" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html" onclick="javascript:pageTracker._trackPageview('/outbound/article/technorati.com');" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html&amp;title=SRCDS+Tech%3A+Compensation+for+an+Imperfect+World" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.google.com');" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.opggaming.com%2Fmain%2Fsrcds-tech-compensation-for-an-imperfect-world.html&amp;title=SRCDS+Tech%3A+Compensation+for+an+Imperfect+World" onclick="javascript:pageTracker._trackPageview('/outbound/article/www.stumbleupon.com');" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.opggaming.com/main/srcds-tech-compensation-for-an-imperfect-world.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss>
