<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://blogs.msdn.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx</link><description>There is only one way to take up less space than a cunningly compressed network packet, and that is if you don't send any data at all. Obviously, when you send no data, things are unlikely to remain in sync from one machine to another. But you know what?</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP1 (Build: 61025.2)</generator><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#6932974</link><pubDate>Tue, 01 Jan 2008 11:35:32 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6932974</guid><dc:creator>trayle</dc:creator><description>&lt;p&gt;Ok Shawn. &amp;nbsp;Enough already! &amp;nbsp;Enjoy the New Year. Ok?&lt;/p&gt;
&lt;p&gt;Seriously though these posts are awesome!&lt;/p&gt;
</description></item><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#6936809</link><pubDate>Tue, 01 Jan 2008 16:57:06 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6936809</guid><dc:creator>ajmiles</dc:creator><description>&lt;p&gt;All this talk about MotoGP got me reminiscing about all the time I spent on this new-fangled &amp;quot;Xbox Live&amp;quot; system back in the day. I considered myself one of the better riders about at the time, but I remember one bug that now I think about it through the eyes of a game programmer, was rather strange.&lt;/p&gt;
&lt;p&gt;I believe it was on Barcelona that, if timed right, you could speed down the pitlane, swerve left at the last moment into one of the last pit garages and end up getting spawned over the other side of the track half a lap ahead! I can't ever remember if this got patched or not, but quite how such a bug got written I've no idea, perhaps you know/remember?&lt;/p&gt;
&lt;p&gt;Either way though, this game was responsible for many lost days of play even with all the backwards-riding griefers that were around, an excellent title to launch XBL.&lt;/p&gt;
</description></item><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#6937873</link><pubDate>Tue, 01 Jan 2008 18:25:22 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6937873</guid><dc:creator>Nidonocu</dc:creator><description>&lt;p&gt;One thing to mention would be that in Halo 3, so that apparently random things are kept in sync like choices made by the AI. The random number generator seed is shared at the start of each session once. Then every machine can correctly duplicate the same 'random' result.&lt;/p&gt;
&lt;p&gt;Maybe an article expanding on this kind of network co-op might be something interesting to cover! :)&lt;/p&gt;
</description></item><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#6937899</link><pubDate>Tue, 01 Jan 2008 18:27:55 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6937899</guid><dc:creator>Ultrahead</dc:creator><description>&lt;p&gt;Please, someone unplug him!&lt;/p&gt;</description></item><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#6938379</link><pubDate>Tue, 01 Jan 2008 19:10:51 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6938379</guid><dc:creator>miguez</dc:creator><description>&lt;p&gt;Nidonocu brings up a very good idea, the sharing of random seeds would indeed work, and if you have a lot of random events, this would really save bandwidth if one wanted those synchronized. &amp;nbsp;If the random is triggered by an internal clock, however, this would not work, as the events would never be triggered at the same time in two or more machines, due to latency.&lt;/p&gt;
</description></item><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#6939649</link><pubDate>Tue, 01 Jan 2008 20:46:03 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6939649</guid><dc:creator>ShawnHargreaves</dc:creator><description>&lt;p&gt;&amp;gt; I believe it was on Barcelona that, if timed right, you could speed down the pitlane, swerve left at the last moment into one of the last pit garages and end up getting spawned over the other side of the track half a lap ahead! I Lcan't ever remember if this got patched or not, but quite how such a bug got written I've no idea, perhaps you know/remember?&lt;/p&gt;
&lt;p&gt;MotoGP, like many racing games, internally used a 2D track-relative topology to simplify computations compared to the full 3D coordinate system. Things like physics obviously used regular 3D cartesian coordinates, but for many things it can be simpler if you convert your positions to a 2D format where you have X = distance around the racetrack (0 = starting line, 1 = lapped around back to the start line again), and Y = sideways distance (0 = middle of track, -1 = left edge, 1 = right edge). That coordinate system makes it trivially easy to implement things like counting laps, figuring out who won, working out which bike is in front of the pack, dealing with steering in the AI, overtaking behaviors, etc. There's a lot of work to write the conversion functions between regular 3D and these track-relative 2D coordinates, but once you have the 2D system, driving AI becomes much easier to write. Trouble is, we had a couple of bugs in our conversion which would sometimes choose the wrong track-relative coordinates when converting from a 3D position that was unusual and outside the normal racing area :-)&lt;/p&gt;
</description></item><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#6939657</link><pubDate>Tue, 01 Jan 2008 20:46:58 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6939657</guid><dc:creator>ShawnHargreaves</dc:creator><description>&lt;p&gt;&amp;gt; Enjoy the New Year. Ok?&lt;/p&gt;
&lt;p&gt;Hehe. I recently discovered a cool blog feature where you can write the post ahead of time, then schedule it to be published later. I wrote all this networking stuff back in early December ;-)&lt;/p&gt;
</description></item><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#6954939</link><pubDate>Wed, 02 Jan 2008 17:05:44 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:6954939</guid><dc:creator>trayle</dc:creator><description>&lt;p&gt;&amp;gt;&amp;gt;I wrote all this networking stuff back in &amp;gt;&amp;gt;early December ;-)&lt;/p&gt;
&lt;p&gt;Hah! &amp;nbsp;I guess computers don't need breaks for the holidays do they? &amp;nbsp;Nice one.&lt;/p&gt;
</description></item><item><title>re: Network compression: just say no!</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#7032006</link><pubDate>Tue, 08 Jan 2008 22:57:39 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7032006</guid><dc:creator>jwatte</dc:creator><description>&lt;p&gt;I think, in the end, you need to send enough data to make sure that the shared understanding of the player universe is good enough. What that means depends entirely on the context. In a racing game, you probably found a sweet spot. However, in a virtual world, that same approach would not work well.&lt;/p&gt;
&lt;p&gt;And, once you decide to send a packet, you should of course make sure it's as small as possible -- not doing any compression is just bad. A smaller packets means it's less likely you overload a home network link, and for hosted games (MMOs and the likes), less network bandwidth translates into less dollars paid for hosting.&lt;/p&gt;
</description></item><item><title>One more thing...</title><link>http://blogs.msdn.com/shawnhar/archive/2008/01/01/network-compression-just-say-no.aspx#7032027</link><pubDate>Tue, 08 Jan 2008 23:00:30 GMT</pubDate><guid isPermaLink="false">91d46819-8472-40ad-a661-2c78acb4018c:7032027</guid><dc:creator>jwatte</dc:creator><description>&lt;p&gt;&amp;gt; Maybe an article expanding on this kind of network co-op might be something interesting to cover! :)&lt;/p&gt;
&lt;p&gt;If you want to start learning about that, try the following link:&lt;/p&gt;
&lt;p&gt;&lt;a rel="nofollow" target="_new" href="http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15"&gt;http://www.gamedev.net/community/forums/showfaq.asp?forum_id=15&lt;/a&gt;&lt;/p&gt;
</description></item></channel></rss>