A cop pulls over Heisenberg, and asks him “Do you know how fast you were going?” and he answered “No, but I know where I am.” It’s a geeky scientist joke about the Heisenberg Uncertainty Principle which states the more precisely you know the location of something, the less you know about its velocity, and vice versa.

Heisenberg Uncertainty Principle

"There is always a certain amount of uncertainty about where everyone on the track actually is at a given time . . .

I often think about that when I am fighting for track position, because there is always an uncertainty principle of sorts at issue for online sim racing. Since all iRacing events are online over the internet, there is always a certain amount of uncertainty about where everyone on the track actually is at a given time. The reason is simply that although your computer knows your virtual location and trajectory well enough, it takes a quantity of time for that data to be transferred to the host server, which is collecting data from all the other racers. As that transfer is not instantaneous, the amount of time will result in a growing amount of error which is proportionate to the amount of network lag time (ping time).

Additionally, the updated data for each driver’s location and velocity vector needs to be transferred to all the other drivers, which again adds to the time and thus error.

This necessitates a prediction made by your system to estimate where the drivers are given what was known about their position and velocity before the data started its long journey. It makes an educated guess based on their data along with some corrections which take into account the layout of the track.


"They could be in a much different location, particularly if they do change trajectory suddenly."

So for instance if you have a 200 ms ping time and you are racing against someone with a 300 ms ping time, that means as you tailgate him down a straight at 125 mph, the computer only knows that he is going 125 mph about 75 feet behind you, half a second ago. The situation is much easier with lower ping times, so in the same situation with both drivers at 50 ms ping times, the car would probably be just behind you a tenth of a second ago at the instant where he is supposed to be right in front of you.

Clearly, the computer has a lot of data to sort out, both on the server side and on your local machine to keep track of where everyone is and where they ought to be given that aged information. Predictions are never perfect, and can never anticipate driver behavior, such as early braking, changing lines, etc. so this situation leads to a false sense of certainty. We don’t see a cloud of probability of the other cars on the track. We only see a precise image of the best guess of where he could be. In actual fact they could be in a much different location, particularly if they do change trajectory suddenly.

This is what leads to what is commonly referred to as “phantom 4x.” One of the drivers has contact with the second driver’s car, which unfortunately has been predicted to be in a place that is not where the second driver really is. But the second driver never experiences any contact, because on their computer the predicted position of the first driver’s car is clear of any contact. Because the contact occurred for one of the drivers, the server awards the contact points to both drivers, even if one of them was not actually observed to be involved in a physical incident.

My best advice is to look at the entry list at the start of the event and take careful note to the drivers with the largest ping times and/or lowest signal quality (lots of data packets lost), since these drivers will naturally have a higher degree of error in their position estimation and thus you must view their location on the track as an estimate and thus give them a little extra room. For people who live farthest from the servers, this will be a common experience since the age of the data will naturally make most other drivers a danger in close quarters.

By driving in a predictable way, and allowing a little extra room around the other cars you can save a lot of frustration and provide for less drop in your safety rating.

"By driving in a predictable way, and allowing a little extra room around the other cars you can save a lot of frustration and provide for less drop in your safety rating."

Even with a perfect prediction code, the limitations of the speed of light, network hardware and computers will always mean error will be present in representing the position of other cars on the track. By driving in a predictable way, and allowing a little extra room around the other cars you can save a lot of frustration and provide for less drop in your safety rating.

Anyone who has watched a TV interview where a long lag time is involved can appreciate the challenge facing your computer to keep track of where everyone is supposed to be on the track.

And if you see Werner Heisenberg on the track, give him a lot of room because he’s been dead for 34 years. That’s a long ping time, even for a DE-AT-CH guy.

Screen shots 1 & 2 courtesy of Jameson Spies; #3 by Ray Bryden

Share Button

No Comments

nice screenshots.

Jameson Spies
March 27th, 2010 at 6:58 am

Good Article.

Nic Morse
March 27th, 2010 at 1:25 pm

Nice article Ray. I wonder what percentage of online drivers really understand why you can’t run as close to other drivers online as in real life. Real life doesn’t have 1/2 second prediction code… A lot of ground can be covered in 1/2 second, especially under braking. Cars travel 144 feet while going 100mph in 1 second. 72 feet in a half a second. Online drivers need to stop trying to emulate tv and give more room online. 🙂

Lincoln Miner
March 28th, 2010 at 4:12 pm

Very good article 🙂

Thomas Gombeer
March 29th, 2010 at 6:16 pm

Great Article! Keep em coming!

Josh Reaume
March 30th, 2010 at 12:23 am

Very informative.

Justin Weisel
March 30th, 2010 at 12:48 am

Thanks for the insight, makes a lot of sense.

Doug Pitt
March 30th, 2010 at 3:57 pm

I don’t see how one can truly be concerned with this and still manage to focus and race. I just strive to keep it clean as best I can.

April 1st, 2010 at 2:56 pm

That’s why we need to get rid of the damn prediction, and only count when incidents occur on both clients involved.
Close racing is sometimes almost impossible when 2 clients are half a world apart.
I can predict the world will end tomorrow… is that the truth?

April 1st, 2010 at 9:57 pm

Sure.. 40 cars on the track and i will still remember who got bad ping in the heat of the race

April 1st, 2010 at 9:59 pm

Dx Dp >= 1/2 h/2Pi

Luis Babboni
April 21st, 2010 at 7:08 pm

@ Riches

I can predict YOUR world will end tomorrow – just keep pushing how late you can brake into #1 and my prediction will come true. And I don’t even need a computer to do it.

(Predictable driving EQUALS reasonable certainty in predicting location.)


(No prediction TIMES 0 confidence in driving on track with anyone further than a block away EQUALS Useless simulation of racing with remote human competition)

Mr. Tractability
May 7th, 2010 at 10:07 pm

Now I know why the jupiterians are so careful and the mercurians too agresives!

Is not possible to imagine, in the future, that the data can go from one driver computer to other driver computer without the need to go throw the hoster computer?
This way the uncertainty becomes near half of the actual.

Luis Babboni
August 30th, 2010 at 6:26 pm

Latency is a killer for sure. It’s impossible to predict accurately what the player will do, and in racing games, it is important to stay as close as the real time as possible. If you are doing 200 mph / 100 meters.seconds, with a latency of 200 ms, that’s 20 meters covered, so potentially a 20 meter error in the prediction. So you try to predict user inputs, use some AI and track knowledge to estimate where the players will end up 200ms ahead. Doing wheel-to-wheel racing accurately is hard indeed, especially with twitchy, high downforce vehicles with up to 4G deceleration and lateral load.

FPS games and the likes have no such problem in general. They compensate for the lag entirely, to give a smooth interpolation, pull the player 1/2 a meter to where he is on the local client, and they can get away with it, although that introduces other kinds of errors, such as being shot behind walls, and necessitating relatively complex hit scan server-side simulations. FPS games rarely run prediction algorithms, and generally rely on heavy lag compensation by running the client time ‘behind’.

October 26th, 2013 at 5:12 pm

Interested in special offers, free giveaways, and news?

Stay In Touch