Air collisions

From WWII Online Wiki
Revision as of 12:14, 12 January 2023 by Doc (talk | contribs) (→‎Doc)
Jump to navigationJump to search

There are perennial discussions about air-to-air collisions and accusations of ramming, as well as ridiculous allegations about 'side bias' in air-to-air collisions. This occurs because, due to internet latency, in mid-air collisions, it is possible, and fairly common, that both planes will not be destroyed. Both pilots don't see the same thing. One player sees that he missed the collision (he saw the threat and successfully avoided it), but the other did not receive that information in time, collided with the plane he saw and Boom!

CRS staff routinely ends up explaining the issue in the forums. Here are some of the explanations.

KFS1

Look - its really simple.

You and X are inf standing at opposite sides of a road facing north. At precisely 00:00:00 you both start running north with the same speed.

It takes his packets 50ms to get from his machine to the server and 150 from the server to you. If you look left while running, you will appear to be ahead of him by about 200ms. On his screen, you are probably about 200ms behind him -- the actual times can vary as much as 50ms.

If he runs for 5s and stops, you'll see him stop where he stopped, his course and position is true, but where you see him is ~200ms behind.

So when you are flying, you are both flying based on where the other guy was in his trajectory ~200-300ms ago.

Lets assume that you are both going to travel through the exact same position in space, point X.

On your screen you and he both hit this point at T0.

What's being displayed for you, though, is this guy's position as it was at at T0 minus 200-300ms.

Now -- since the travel time goes both ways, when he passes thru X on his screen, he sees you in the position you were at as of T0 minus 400-600ms.

T0-200 : Other guy passes thru Point X T0: His data arrives so on your screen both of you pass thru point X, colliding T0+200 : Your data arrives at his end so other guy sees you pass point X

Your screen: collision His screen: Gap equivalent to travel of 400-600ms

   300mph = 440 ft/second
   @200ms = 88ft
   @600ms = 264ft
   @900ms = 396ft 

Lets take an incredibly good setup and assume that you see a collision at point X at T0, and send the positional packet out and it arrives at his computer 100ms later.

Other Guy:

[X+00]----[X+44]----[X+88] his perspective

     \           _/
      \          /|
      _\|       /
        \      /

[X-44]----[X+00]----[X+44] your perspective

X is the point in space +## is the distance from it in feet.

This is, of course, assuming you are both approaching point X.

The point is - he doesn't see you at the collision point for however long the packets take to travel from him to you telling you he is at the collision point and from you to him to tell him you're at that point. Which is quite a significant portion of time at aircraft speeds.

Killer

Bottom line is that this really really simple.

If you hit a plane on your client you die, simple.

If he hits a plane on his client he dies, simple.

Since planes are not in the exact same place on each client, it's rare that you both hit on both clients.

Bottom line, don't hit any planes on your own client and you won't die from collisions, just like real life.

If you do hit a plane on your end, you rammed him. Don't whine that the other guy didn't hit you on his end, he avoided you.

Doc

Whoever's client sees them self hit another plane first dies. That's it in a nutshell.

In air collisions its the guy who dies client making the death decision, not the guy you ran into.

If the guy jinks out at the very last second, internet latency could show him going straight for just that split second needed for you to ram all up into him.

Sometimes if neither guy moves, nor each see a very similar tracking distance on their screens at the same time, both will die.

The bottom line is that while everyone wants a perfect rendition of what they see with their eyes, in a world where it can take 200ms (more or less because it varies from one internet connection to another) to display on your screen what you are looking at, as you get closer to another the variation has a larger effect. At long range the relative distance travelled in this lag time period is visibly less or even not discernable, but when you are racing towards each other at 600 mph closure speed (as aircraft can) the distance travelled in this lag period can be huge, as range away from the other player gets shorter (closer to them) the distance between the two of you covers much more space on your monitor.

So don't get really close and expect everything to perfectly mirror your visual perspective. You see them where they were 200ms ago, and they see you with the same discrepancy. Me personally, I know this exists and cannot be prevented, and that if my client "sees" me hit a plane before the other guys client does, I will die. So I learn to do my shooting down of enemy aircraft from a distance that isn't right on top of them, and I avoid closure situations where we will collide and a ram event might happen inside this 200ms window of lag.

So no head-on passes. If I am closing on the rear of an enemy plane so fast (like out of a dive) I plan my firing window such that I will pull off them before I ram them. If I'm any good, they will have died or been fatally damaged before I pull off them.

It's easy to fall to earth in a million pieces screaming the other guy should have died. The code doesn't care. It's going to do what it is going to do (and properly I might add, no matter what you think) and the successful pilot learns how this works and adjusts accordingly. Yelling at the clouds isn't going to change anything into your favor. If the clouds aren't even there, what do they care ?

External links

Netlag and Collisions http://www.errthum.com/troy/warbirds/tests/netlag.html