Well, based on Lusche's presentation what lag is, wouldn't this be a viable solution to this problem:
Player A : P-51
Player B : P-47
Right now, it works kinda like this:
Player A's front end sees a collision and then goes "boom". Player B's frontend does not see a collision
and he flies on without any damage. Player A is rather upset because only he dies in clear collision, but the other guy does not. Player B just wonders where the guy on his six has dissapeared - or not.
Now, why not make it work like this: "Lag Check"
Player A's front end sees a collision. Player A's frontend sends a request to player B's fronted, asking if it has also seen a collision at that certain timecode. If B's frontend answers "yes", both recieve the appropriate damage.
In other words, when there's a collision on both players screen, both take damage. And guess what... that's already happening
Not by communication between the two front ends but by the very simple method of "collision on your screen - you take damage"
If it says no, than its clear that it is lag, and neither receive any damage. In that situation player A would see a collision but he would continue his flight, being aware that the "Lag Check" prevented his death. Player B would not notice anything special at all.
And this is where I think most people are using the word "lag" wrongly.
"Lag" is what makes planes jump all over the screen, because of lost and/or greatly delayed packets.
The difference you see in these two pictures is NOT the result of lag. It's the result of
latency. Every player has it, it's inherent to the internet. Just the amount is varying.
If you know say "a collision damage shouldn't happen if theres not a collision on both screens at the same time" amounts to basically switching the collisions off.
Look at the pictures again. If your proposal would be implemented the P-51 player would take no damage, even though he deliberately did fly into his enemy on his screen.
The result on gameplay would be quite ugly: No big risk anymore to fly guns blazing through you opponent, especially when your enemy is in bombers.
It all comes down to having basically just three options
A- Nobody gets damaged.
Fly guns blazing through your enemies. No worries about collisions.
b- Both get damaged all the time.
Explode while your enemy is passing you at 100yd. Ramming your opponent now works all the time. Dodging a ram is next to impossible, 'cause you don't know what's happening on your enemies screen
C - If you get get a collision on your screen, you get damage. Checked on every computer.
A compromise. Not a perfect solution, but the best possible way to cope with the underlying and unchangeable problem of latency (After finally getting a clue about how all this is working, I actually thought "Now this is a clever solution, boy!"
)
Bad things can and will happen here too but much less frequent than with option B, and with much less detrimental impact on gameplay than option A.