Originally posted by Elfie
Because a collision involves 2 planes and not just one?
Let me see if I can help ... I might not have all the details but overall I think it's right.
In our virtual space (Aces Hig), everything object is defined in X Y & Z coordinates, wether they be stationary objects (buildings and terrain) and moving objects (planes, GVs, CV groups).
When you log on you are defined as an object in this virtual space on your FE and it is also reported to the server.
When I log on I am defined as an object in this virtual space on my FE and it is also reported to the server.
Objects that move must report their coordinates to the server, so the server can report the movement of those objects to our FE. Our FE gets these coordinates and object type and renders the image for us.
It is my understanding that moving object coordinates are only reported to our FEs only when we are within a certain distance of the object. This saves serious CPU cycles on the server.
I would surmize that objects that are stationary (positionally static) are not needed to be handled by the server (we all have the same map) and their X Y & Z positions are loaded only when we start up the FE.
So now you and I go to the DA and we lift from opposing fields. As we move, our FE constantly sends our XYZ coordinates to the server and the server sends to our FEs XYZ coordinates of any moving objects withing "reporting" range.
Have you ever noticed that when doing this, you see nothing on the horizon ? ... thats cause you and I have not gotten with the "reporting" range. Once we pass the "reporting" range threshold, all of a sudden a black dot appears.
At this point, the server is now responsible to send my XYZ postions to your FE and it is also responsible to send your XYZ postions to my FE. Our FEs get this information and renders the image for us.
As we approach each other (get closer) the XYZ coordinates are flowing back and forth between you me and the server and our FEs are rendering this as it recieves the info.
Now ... you must keep in mind all the info that is flowing between me and the server and you and the server. With that, take into consideration our ping times, packet loss, burps on the internet, our CPUs, how loaded the server might be, etc.
There is something else that HT adds to the equation (I believe) that has not been discussed. "Smoothing" code. As we get closer to each other, I think that the server expects XYZ coordinates to arrive within a viable timeframe. If it determines that info hasn't arrived in time, HT (the server) tries to smooth out this time loss and probably tries to figure out an intended flight path and transmits this "smoothed" path until it gets the "real" info (XYZ), and then reports that.
Now ... you and I are on a nose to nose merge each going 300 mph with a 600 mph closure. Think how fast that is and how fast XYZ coordinates need to be relayed between you me and the server.
I decide that I am going for the HO and hope that you blow up before we collide and I start shooting at 600 out. You on the other hand decide at 600 out that you are going to pull up hard and avoid the possible HO/collision.
With everything that I explained above ... apply it to this instance at that exact same second.
I go for the HO and my XYZ is reported as we close.
You pull up hard.
If the server hasn't been updated with your XYZ fast enough, my FE smooths your flight path ... RIGHT AT ME ... but you have really pulled up.
In an instant, I collide with you as far as my FE is concerned. MY FE has determined that my XYZ
HAS INTERSECTED with your XYZ ... BANG ... I have damage.
You pull above me, avoid the collision, and continue straight up to come over the top and as you look down, I am a falling piece of rubble. Your FE has reported that your XYZ
DID NOT INTERSECT with my XYZ ... you fly away unscathed.
So now, at this point, I get on text and call you a ramming ho dweeb ...

In this case, just because my FE determined that I collided, would you like to have had some damage applied to you ? ... I don't think so.
It is so important to remember that our FEs are independent/asyncronous processes reporting positions to a server that not only keeps track of you and me, but all the other 400-600 people flying, driving around in this virtual space. Amazing to say the least.
Paramount ... it is each person's FE that decides wether you have collided with an object ... not the server ... the server is only repsonsible to report moving XYZ objects to your FE and your FE makes all the decisions on collisions.
Think about ... the server has to send out all this info, and the info is reported over a communications vehicle which is far from perfect ... the internet. It is a miracle that AH does as well as it does considering all the things that can go wrong with data flowing on the internet.
Like I said above, I might not have explained everything perfectly, but I think that they overall logic applies.