To be fair, 220mph with a 100ms ping is a ridiculously large distance travelled, iRacing can be laughed at and slaughtered for many things but netcode isn't one of them. Sure there are dodgy moments sometimes, but show me a racing sim where there isn't. rFactor and NKP, 2 of the biggest sims had terrible netcode, LFS had it's moments and it remains to be seen what AC's will be like.
For the amount we pay it's pretty good! Maybe if in other sims where you rent your own servers, if more people contributed it would be cheaper for all but realistically, at least iRacing has got those that never do contribute to server costs on LFS, rF etc to pay up toward server costs by default
Name me another game either racing or FPS where you can have people play from anywhere in the World, like iRacing does, and there is the same minimal lag.
So, tell me how you would improve the netcode then, don't just do the "it's shit I want better waaahhhh". The incident in that Indy race, it's less than a foot at 220mph.
And the one i had at iowa tonight was from 4 car lengths away. Right.
I would implement it so contact went by what was seen on local side, as most games do.
I'll name a game that has better netcode:
NASCAR Heat, I never was once netcoded except when a driver had exceptionally poor internet. It's a game from 1999, iRacing is in 2014...
You do realize that wouldn't work as you would actually have random people spinning with no apparent contact. Also, how does the server resolve when 2 clients submit conflicting information?
I'm not saying iRacing has good netcode, but netcode is hard and latency is something that you actually cannot overcome. You're bound by the laws of physics.
What is local for you is not local for the other guy. What you see is not exactly what he sees, so while you see 4 cars diference from him, he may be already inside your car waiting for the game logic to send you both flying.
iRacing (and other sims) do a good job. The problem is that people only see the bad things, but i agree that if this happened to me on my last lap of a championship where i was first, i think i would be sad/mad.
It can't be local as everyone has a different local state. You would have 40 people with different local perspectives. Then you'd never be able to actually resolve a real collision in a useful way.
Also, what if your local state lies? Relying on local state is terrible as it makes it really really easy to hack. Just have your client patched to ignore collisions. Easy.
Bmxtwins, i think you missed the point greatly...
What if you two don't get into a collision on that context?
By that logic, someone faster than you would not need to avoid your car in order to overtake you.
What must be true, is what the server sees. Then add an error margin based on the people that can potentially cause a collision. This is what i'd start with, then probably iterate from there.
I'm not a fanboy. I think iRacing has terrible net code (and is overall the biggest ripoff scheme ever devised). It's just that what you're proposing is a) Stupid b) unfeasable and c) more useless than the current behaviour.
It's strictly a facts mission. Everyone knows my feelings toward iRacing. I'm just trying to educate.
Those two drivers (and any other driver) NEVER see the same thing.
What they see is Slightly diferent, but that "slightly" can make a diference at 200+ km/h.
Rough Example (this is what i believe, might be slightly wrong, feel free to correct):
t = 0;
Car 1 at 50 m/s, game client with 25 ms delay;
Car 2 at 50 m/s, game client with 100 ms delay;
Car 1 is exactly 6 meters in front of car 2;
Suppose their velocities are constant.
At any given time, one car only knows the position of the other car from 0.125 ms in the past. So car 1 sees what car 2 was doing 0.125 ms in the past (time it takes for car 2 to talk to server + time it takes for Server to talk to car 1).
With that time diference, we find out how much distance the cars can travel on that timeframe: 50 * 0.125 = 6.25 m.
Look at that. For car 2, he's practically inside car 1 (6m - 6.25m distance = -0.25m, or 25cm ahead from car 1)
While for car 1, he is 12.25m ahead from car 2.
I am not taking into consideration the prediction the server probably makes so that this visual diference is reduced. Technically, car 1's game client knows that car 2 WAS traveling at 50m/s 6m behind him, so he will draw the car on an approximate position. This also happens on LFS, when you get into an online race and start observing another racer, for example, you can see the driving is not (so) smooth.
The thing is, this prediction only works if your command input was constant over that delay timeframe. So, if during that time you brake/accelerate or turn more/less, even prediction won't take care of that.
But for that, there is also a not-so-sure workaround: interpolation, and other stuff.