From: Bill Kelly Date: 2005-04-18T05:39:01+09:00 Subject: Re: What's beyond Rails? From: > > Well, don't get me started, but quake's net code has some signifgant > implimentation and algorithmic issues, particularly quake3's prediction > handling. One of the things I took away from the darpa papers I skimmed > is that what humans really sense isn't just the absolute latency, the > variance matters as well. If you give someone a consistant local lag > they stop noticing it quite quickly. But if you factor in prediction to > the control system it starts becoming complicated quickly. Suddenly the > delay factor the brain has to anticpate is changing depending on > several different factors that are outside your awareness. > > Someone used to have some java apps up where you could play with this > stuff yourself. It's quite interesting... a similar experience to doing > blind testing of audio equipment... a little uncomfortible when you > have some of your assumptions challanged. I haven't read the darpa papers; sounds interesting. However, I don't think that the hypothesis that humans can get used to a consistent local lag--which I completely agree with--tells the whole story in a hyper real-time environment like quake. Quake2 seems to do a good job providing a consistent local lag, provided there's no packet loss. (Q2 doesn't handle packet loss very smoothly.) I've played quake2 online pretty much daily for seven years. The part of the story I think isn't being told by humans being able to stop noticing consistent local lag, is that the more latency you have--even if you're used to it--the harder it is to beat players with low latency connections. It's fun when we get to see a player who's been on dialup for seven years finally switch to broadband. It's rare to have such an extreme example as we had with a player a couple months ago. He was very skilled, and it turned out he lives near the server. So he'd been playing quake2 on dialup for seven years, was utterly adjusted to compensating for the dialup lag (200+ milliseconds). He was skilled enough to sometimes beat good players with low-latency connections. Recently he got DSL, and has one of the lowest pings on the server now (about 20 msec.) It took him a few weeks to adjust. Now he just cleans up - he's now one of the top few players on the server (each of whom has exceptional skills and low latency.) It's rare to get such a pure demonstration of how latency is a handicap to even the most skilled players who've had years to adjust to it. Our brains may do well at adjusting to lag so that we stop noticing it, but we don't seem to be able to truly compensate for it in a way that puts us on an even playing field against non-lagged players. (Ob. ruby: Here's a routine that'll work from the command line or as a require'd file that will query a quake2 server for its status - including the ping times of all the players connected, or send remote console commands to the server if you have the rcon password. http://tastyspleen.net/quake/servers/q2cmd-rb.txt E.g. q2cmd tastyspleen.net 27910 status ) Regards, Bill