Author Topic: Ram model needs changing  (Read 6707 times)

Offline Chalenge

  • Plutonium Member
  • *******
  • Posts: 15179
Ram model needs changing
« Reply #105 on: June 06, 2006, 08:33:13 AM »
We should all give up its obvious a high percentage of posters stop reading after the first sentence. :rofl
If you like the Sick Puppy Custom Sound Pack the please consider contributing for future updates by sending a months dues to Hitech Creations for account "Chalenge." Every little bit helps.

Offline hitech

  • Administrator
  • Administrator
  • *****
  • Posts: 12425
      • http://www.hitechcreations.com
Ram model needs changing
« Reply #106 on: June 06, 2006, 09:23:04 AM »
Edbert1: Not 100% sure what your asking, are you asking for everytime your FE detects a collision you take catistrophic damage? If you are it is a very valid proposal. And Im tring to think if the system worked like that at 1 time.


HiTech

Offline Edbert1

  • Silver Member
  • ****
  • Posts: 1539
      • http://www.edbert.net
Ram model needs changing
« Reply #107 on: June 06, 2006, 09:25:47 AM »
Quote
Originally posted by hitech
Edbert1: Not 100% sure what your asking, are you asking for everytime your FE detects a collision you take catistrophic damage? If you are it is a very valid proposal. And Im tring to think if the system worked like that at 1 time.

Like any other implementation there are drawbacks, but yes, that was what I was suggesting. You may still take damage from APPEARED to be a ram on the other players part but at least he'd spin in wingless as well, might reduce some of the bad feelings if you don't have to watch the other guy RTB while you float down.

Offline SlapShot

  • Plutonium Member
  • *******
  • Posts: 9121
Ram model needs changing
« Reply #108 on: June 06, 2006, 10:11:26 AM »
Quote
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 ... :D

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.
SlapShot - Blue Knights

Guppy: "The only risk we take is the fight, and since no one really dies, the reward is the fight."

Offline Edbert1

  • Silver Member
  • ****
  • Posts: 1539
      • http://www.edbert.net
Ram model needs changing
« Reply #109 on: June 06, 2006, 10:23:49 AM »
I think you got it pretty straight there Slappy, but quite often there's a different outcome to the exact same scenario....

Quote
Originally posted by SlapShot
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.


1.) You try to avoid the shot and break away at d200 on your FE.
2.) The other player's FE does not show this the same instant so he fires.
3.) By the time the artwork updates to show him firing he is out of your view.
4.) You zoom over him clearly missing his artwork on your FE.
5.) You get a white message saying he rammed you at the same time his FE sends the packets saying he hit you with guns (since on his FE you had not broken high yet).
6.) So on your FE you broke off and avoided the collision, you get a message that he he rammed you and your plane disintegrates. Sometimes I do see the rammer spin in or even explode, but quite often he leaves with less damage from the ram than I got from the guns he fired at point blank range, from a gun solution that he never could have acheived had he not been trying to ram (or at least not trying to avoid ramming).

See?

Offline hubsonfire

  • Plutonium Member
  • *******
  • Posts: 8658
Ram model needs changing
« Reply #110 on: June 06, 2006, 10:38:23 AM »
I don't know if catastrophic damage for any and all collisions is the best answer. Maybe for collisions above a certain speed or rate of closure?

I've had several collisions where I lost tailwheels, rudders, 1 main gear, etc. I wouldn't think those would result in violent crashes, except perhaps at significant speeds. Most of my collisions at high speeds are fatal anyway; I hadn't really given much thought to speed as a factor in the detection/damage process. It's interesting.
mook
++Blue Knights++

Proper punctuation and capitalization go a long way towards people paying attention to your posts.  -Stoney
I was wondering why I get ignored so often.  -Hitech

Offline SlapShot

  • Plutonium Member
  • *******
  • Posts: 9121
Ram model needs changing
« Reply #111 on: June 06, 2006, 11:18:32 AM »
Quote
Originally posted by Edbert1
I think you got it pretty straight there Slappy, but quite often there's a different outcome to the exact same scenario....

 

1.) You try to avoid the shot and break away at d200 on your FE.
2.) The other player's FE does not show this the same instant so he fires.
3.) By the time the artwork updates to show him firing he is out of your view.
4.) You zoom over him clearly missing his artwork on your FE.
5.) You get a white message saying he rammed you at the same time his FE sends the packets saying he hit you with guns (since on his FE you had not broken high yet).
6.) So on your FE you broke off and avoided the collision, you get a message that he he rammed you and your plane disintegrates. Sometimes I do see the rammer spin in or even explode, but quite often he leaves with less damage from the ram than I got from the guns he fired at point blank range, from a gun solution that he never could have acheived had he not been trying to ram (or at least not trying to avoid ramming).

See?


Yup ... I see ... I was only trying to cover the "collision" aspect ... I know that the bullet aspect plays the same logic pool ... just didn't want to add more to the equation and make it more confusing.

Any moving object within AH plays in this logic pool ... I believe.
SlapShot - Blue Knights

Guppy: "The only risk we take is the fight, and since no one really dies, the reward is the fight."

Offline DoKGonZo

  • Silver Member
  • ****
  • Posts: 1977
      • http://www.gonzoville.com
Ram model needs changing
« Reply #112 on: June 06, 2006, 12:07:53 PM »
FWIW ...

I think the current system of handling pure collision detection works as well as any we've seen in 20 years, probably better, given what the 'Net can be like.

Judging "intent" - as in who intended to ram who - is impossible. And whatever metrics HT put in to do so could be gamed just as the current code is being gamed.

What I think has people concerned is that it's so dependent on what a player sees on his FE, which opens the possibility for another player - by gaming the system and playing the lag - to induce a collision whereby he takes you out and flys away undamaged. Enough people are seeing this - especially lately - that the thread keeps recurring.


The solution which, to me anyway, seems like it'd remove this factor would be for both FE's to agree on a collision before applying damage. And, if they did: catastrophic damage is meted out based on the parameters HT uses now. So if Player A's FE says he collided with Player B, he sends a packet to the host saying so - maybe with plane type and speed data too. The host then waits a second for Player B's FE to send a matching packet. If it shows up - the host sends back a packet saying they both go boom - or crunch - or whatever. If it don't show up, call it a "near miss." I'd rather wait a second to find out I a collision is fatal than have immediate feedback that's in error. My guess is that for most cases the collision would be confirmed by the other FE and host before the collision sound finished playing.

This solution, of course, requires changes to both client and host. So it's not the easiest way to go. But as the player count keeps rising this problem is only going to get worse.

Offline Simaril

  • Platinum Member
  • ******
  • Posts: 5149
Ram model needs changing
« Reply #113 on: June 06, 2006, 12:32:52 PM »
Quote
Originally posted by DoKGonZo
FWIW ...

....snip.....

 My guess is that for most cases the collision would be confirmed by the other FE and host before the collision sound finished playing.

...snip....



Not sure if theis would work, Dok. I'm not a tech guy at all, but it seems to me that the temporal shift between the "realities" of 2 separate systems will almost NEVER allow both sides to see the same collision -- with the exception of the very difficult to achieve double head on collsion.

Any other situation will have the opponent aircraft, say, 1/4 to 1/2 sec "off" its position on the host machine, which translates into 125-250 feet linear displacement. (That's because I'm REAL TIME for my plane on my machine, but the opponent is separated in time by net lag; on his machine, the situaion is reversed) Thats equivalent to 3-5 wingspans of the P-51! Chances of both computers showing collision is gunna be essentially zero, which is far to "gamey" IMHO. There ought to be a consequence for cutting it too close.

In fact, the (essentially) 100% solution to the collision "problem" is simple -- just fly the plane as if you are afraid of colliding. Dont get close to ramming, and try to avoid other people's near missses.

It works. For the past 6 months, I've only collided when I knew I cut it too close. Dont cut it close, you dont collide. No coding needed, no delay for the patch.

Or as somebody once said in one of these threads: If it hurts when you poke yourself in the eye with a stick, stop poking yourself in the eye!
« Last Edit: June 06, 2006, 12:37:28 PM by Simaril »
Maturity is knowing that I've been an idiot in the past.
Wisdom is realizing I will be an idiot in the future.
Common sense is trying to not be an idiot right now

"Social Fads are for sheeple." - Meatwad

Offline Elfie

  • Platinum Member
  • ******
  • Posts: 6143
Ram model needs changing
« Reply #114 on: June 06, 2006, 01:01:46 PM »
Quote
Originally posted by Karnak
In AH it involves only one airplane.  Sorry, but that is the best way to look at it.



A collision is impossible if only one plane is involved.
Corkyjr on country jumping:
In the end you should be thankful for those players like us who switch to try and help keep things even because our willingness to do so, helps a more selfish, I want it my way player, get to fly his latewar uber ride.

Offline Edbert1

  • Silver Member
  • ****
  • Posts: 1539
      • http://www.edbert.net
Ram model needs changing
« Reply #115 on: June 06, 2006, 01:10:46 PM »
Quote
Originally posted by Simaril
It works. For the past 6 months, I've only collided when I knew I cut it too close. Dont cut it close, you dont collide. No coding needed, no delay for the patch.

Or as somebody once said in one of these threads: If it hurts when you poke yourself in the eye with a stick, stop poking yourself in the eye!

I haven't seen people complain about taking damage when they collide with another, most complaints I see are when the other player rams them and they take damage. Dale explained "the guy was firing while he rammed you" so your damage is not from the collision but from the bullets.

Maybe if the host can discount damage from guns from an intentional ram (which most player beleive occurs), say for ~500ms prior to a collision, then the perception of taking damage while being rammed would diminish. Again, just an out-loud thought.

Offline SlapShot

  • Plutonium Member
  • *******
  • Posts: 9121
Ram model needs changing
« Reply #116 on: June 06, 2006, 01:12:23 PM »
Dok ... what you propose would render the situation where someone has definately flown THRU another plane ... and while waiting for lag to catch up on the server ... he continues thinking that all is OK ... then with the other plane out of sight ... his wing falls off ... which will generate a WTF !!!

HT is between a rock and a hard place on this and no matter what solution is used ... there will always and forever be those who just don't understand it and will scream bloody murder and WTF.

So ...I see no reason why HT would want to re-invent another solution when the final product will always be the same.

I hate these ramming threads, and try to avoid them, but eventually I participate inorder to try and explain it, so that it can be understood, and hopefully some will understand and learn to enjoy the game for what it is.

I think that HT should create a word doc that explains, in layman's terms, exactly what happens and why it happens. Then, everytime one of these threads pops its head up ... cut & paste it into the thread.

The more that understand ... the less noise that is generated.
« Last Edit: June 06, 2006, 01:16:56 PM by SlapShot »
SlapShot - Blue Knights

Guppy: "The only risk we take is the fight, and since no one really dies, the reward is the fight."

Offline mussie

  • Gold Member
  • *****
  • Posts: 2147
Ram model needs changing
« Reply #117 on: June 06, 2006, 01:13:43 PM »
Quote
Originally posted by Elfie


Quote
Originally posted by Karnak
In AH it involves only one airplane. Sorry, but that is the best way to look at it.


A collision is impossible if only one plane is involved. [/B]


FOR THE LOVE OF GOD.....   :furious

How about looking at it this way

In AH it involves only one FE.

FE = Your computer, the PC you use to connect to the AH server

In a Ram there is your FE and the other guys FE

99.99% of the time, the collision will only occour on one of the Two FE's involved.....

http://members.optusnet.com.au/vstrom/FE%20Difference.jpg

Offline SlapShot

  • Plutonium Member
  • *******
  • Posts: 9121
Ram model needs changing
« Reply #118 on: June 06, 2006, 01:14:40 PM »
Quote
Originally posted by Elfie
A collision is impossible if only one plane is involved.


I guess you chose to not read my long-winded response to you .

I tried.  :(
SlapShot - Blue Knights

Guppy: "The only risk we take is the fight, and since no one really dies, the reward is the fight."

Offline DoKGonZo

  • Silver Member
  • ****
  • Posts: 1977
      • http://www.gonzoville.com
Ram model needs changing
« Reply #119 on: June 06, 2006, 01:14:43 PM »
Quote
Originally posted by Simaril
...

In fact, the (essentially) 100% solution to the collision "problem" is simple -- just fly the plane as if you are afraid of colliding. Dont get close to ramming, and try to avoid other people's near missses.

...  


So, in other words, bring the whole game down to the level of people who "win" by ramming and HO'ing. Force the people who know what they're doing to go out of their way to avoid the dweebish tactics of those who don't. That may indeed be "the answer" but it don't sound like much fun.