The online racing simulator
iRacing - chapter III
(1141 posts, started )
-
(Töki (HUN)) DELETED by Töki (HUN)
****. Netcode.
congrats on keeping this thread alive, frankly, it was almost dead, so damn you.
Quote from Dennis93 :congrats on keeping this thread alive, frankly, it was almost dead, so damn you.

Especially with such an informative and verbose post. It's really indicitive of Ray's supreme post quality.
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.
But for the amount we pay... Lol
Quote from Bmxtwins :But for the amount we pay... Lol

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.
Quote from Bmxtwins :But for the amount we pay... Lol

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...
Quote from DeKo :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.

Sorry but when there are 3 lanes between cars the netcode should not be that bad, if both drivers see the same thing contact shouldn't happen
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.
Quote from Bmxtwins :I would implement it so contact went by what was seen on local side, as most games do.

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.
Quote from Calvinaquino :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.

Thanks for proving my point. If I don't see the guy but 4 car widths away WHY THE **** AM I BEING HIT BY HIM? How do I know he's right there?

It should go by local because I can't react to what I can't bloody see.
Quote from Bmxtwins :Thanks for proving my point. If I don't see the guy but 4 car widths away WHY THE **** AM I BEING HIT BY HIM? How do I know he's right there?

It should go by local because I can't react to what I can't bloody see.



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.
-
(DeKo) DELETED by DeKo
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.
Both drivers are seeing the same thing but the server is seeing something different?

And dawes why are you all of a sudden all fanboy?
Quote from Bmxtwins :Both drivers are seeing the same thing but the server is seeing something different?

And dawes why are you all of a sudden all fanboy?

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.
Quote from Bmxtwins :Both drivers are seeing the same thing but the server is seeing something different?

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.
I can't find AC topic on iRacing forums There was big topic with multiple pages...
I wasted 12$ :ouch:
Quote from kars19 :I can't find AC topic on iRacing forums There was big topic with multiple pages...
I wasted 12$ :ouch:

111 page topic in 'Other gaming' sub forum
Quote from ajp71 :111 page topic in 'Other gaming' sub forum

tnx

Hmm iR seams to be improved, since my last visit ~half a year ago...
I enjoyed it a bit must do some oval racing

iRacing - chapter III
(1141 posts, started )
FGED GREDG RDFGDR GSFDG