Pages: [1] :: one page |
|
Author |
Thread Statistics | Show CCP posts - 2 post(s) |
Manfred Rickenbocker
|
Posted - 2009.09.11 15:57:00 -
[1]
Simple request, how did you change the tracking formula to account for this change in the 1.5.1 Apocrypha patch: "It is now possible to shoot objects that are 0 meters away with turrets, and hit them (this is still subject to tracking.)"
The reason I ask is because the reason you cannot shoot anything at 0km in the first place is caused by a divide-by-zero and a limit-as-x-goes-to-infinity. I will explain to those who dont understand the tracking formula. This is the current tracking formula as it stands: ChanceToHit = 0.5 ^ ((((Transversal speed/(Range to target * Turret Tracking))*(Turret Signature Resolution / Target Signature Radius))^2) + ((max(0, Range to target - Turret Optimal Range))/Turret Falloff)^2)
To snip out the good part: (Transversal Speed / (Range to target * Turret Tracking))
For a given transversal and tracking, as range goes to 0, you get the divide by zero. Given transversal and range, as range goes to 0, the tracking needed to overcome becomes infinite.
So my question: How was the tracking formula changed to fix this? If tracking still applies to hitting targets at 0km, that means the whole formula had to be re-ordered in such a way to not incur the divide-by-zero and to not entirely depend on tracking to prevent the infinite tracking necessity. ------------------------ Peace through superior firepower: a guiding principle for uncertain times. |
Myra2007
Shafrak Industries
|
Posted - 2009.09.11 16:15:00 -
[2]
Someone said somewhere that they now use the center of a model to determine distance rather than the boundaries. And that has the effect that the distance parameter in that calculation is always non-zero (even if near-zero).
That was not a dev post though but it sounded convincing. :) --
Originally by: Professor Slocombe
I will only buy tickets if the prize is your stuff and you leave Eve. Forever. You irritating self obsessed cretin.
|
Mioelnir
Minmatar Meltdown Luftfahrttechnik
|
Posted - 2009.09.11 18:16:00 -
[3]
http://www.eve-search.com/thread/1172984/page/3#71
Here is a link to Tuxfords explanation.
The formula didn't change, but instead of using the distance between the edges of the collision balls (which can become 0), they now use the distance between the centers of these balls, which can't become 0 because one would get bumped before.
|
Manfred Rickenbocker
|
Posted - 2009.09.11 19:49:00 -
[4]
So instead of fixing the tracking formula, they just changed the numbers that are used? Bleh, what a waste. This makes turret tracking more problematic as you now need to compensate for actual optimal range which is less than the ships reported distance to the object, a.k.a. real optimal = optimal minus ship bubble. You'd think this would be a dumb idea because ship guns are actually located on the outside of a ships hull rather than at dead center (realistically) and ships with short falloff now need to readjust their distance (which can be up to 400m based on radius). ------------------------ Peace through superior firepower: a guiding principle for uncertain times. |
Roemy Schneider
Vanishing Point.
|
Posted - 2009.09.11 20:41:00 -
[5]
errrr does that mean a dread might miss a titan because it's dozens of km further away from the _center_ of it than my overview tells me? - putting the gist back into logistics |
ElfeGER
Deep Core Mining Inc.
|
Posted - 2009.09.11 21:17:00 -
[6]
that can probably tested on a gallente player build outpost as the 0m zone is huge
|
Liang Nuren
The Hull Miners Union Gentlemen's Club
|
Posted - 2009.09.12 01:27:00 -
[7]
Originally by: Roemy Schneider errrr does that mean a dread might miss a titan because it's dozens of km further away from the _center_ of it than my overview tells me?
Based on my understanding of what Tux said... yes. Talk about unintended consequences!
-Liang -- Liang Nuren - Eve Forum ***** Extraordinaire www.kwikdeath.org |
Artassaut
Minmatar Oblivion Amalgamated
|
Posted - 2009.09.12 03:05:00 -
[8]
Someone needs to tell me why they didn't do:
IF Range = 0 then Range = 1 --- The Gate: Lol, try targeting me in a fleet fight. The Station: No U. |
Aranis Nax
Minmatar Seraphim Blades
|
Posted - 2009.09.12 08:14:00 -
[9]
Edited by: Aranis Nax on 12/09/2009 08:15:12 If I understand tux' explanation right. formula would look similar to this: ChanceToHit = 0.5 ^ ((((Transversal speed/(Range to center of target * Turret Tracking))*(Turret Signature Resolution / Target Signature Radius))^2) + ((max(0, Range to target sphere - Turret Optimal Range))/Turret Falloff)^2)
What it would imply is that the second part of the equation would become 0(negative value < 0) when you are at the edge of the sphere and only tracking would matter in hit chance when you are at 0m from target. So according to the formula we know a dread sitting at 0m from a titan shouldn't have a problem hitting him assuming the titan isn't moving "too fast"(aka sitting absolutely still). Same with a station even if undock radius(the area where you are at 0m from station) is superduper ungodly huge like on certain caldari stations(jita 4-4 anyone?)
----- My Tempest fix suggestion: -1 high, +1 mid, -1 turret. ROF bonus to 7.5%. Increase maneuverability. |
achoura
|
Posted - 2009.09.12 19:48:00 -
[10]
Originally by: Artassaut Someone needs to tell me why they didn't do:
IF Range = 0 then Range = 1
I introduced someone to eve last week, now they've come to me complaining that their 8km lasers are useless unless they close the gaps on their targets to 4-6k. The overview, it does nothing! (like that's new :P) ***The EVE servers and their patches*** |
|
Mioelnir
Minmatar Meltdown Luftfahrttechnik
|
Posted - 2009.09.13 00:58:00 -
[11]
Originally by: Artassaut Someone needs to tell me why they didn't do:
IF Range = 0 then Range = 1
Because conditional branching is horribly inefficient in terms of cpu cycles.
Before I read Tux's explanation I for myself thought they fixed it by adding 1m to all distances. Additions are very inexpensive operations, not-negative number + 1 is sure to be unequal to 0, and it doesn't really matter if your opponent is 10'363m or 10'364m away from you.
|
Manfred Rickenbocker
|
Posted - 2009.09.14 14:16:00 -
[12]
Edited by: Manfred Rickenbocker on 14/09/2009 14:19:23
Originally by: Mioelnir
Originally by: Artassaut Someone needs to tell me why they didn't do:
IF Range = 0 then Range = 1
Because conditional branching is horribly inefficient in terms of cpu cycles.
Before I read Tux's explanation I for myself thought they fixed it by adding 1m to all distances. Additions are very inexpensive operations, not-negative number + 1 is sure to be unequal to 0, and it doesn't really matter if your opponent is 10'363m or 10'364m away from you.
Branching is expensive, but they already have a Max(X,Y) function in there. With most modern predictive branching implementations the cost is minimal unless you need clear entire pipelines because of a failed branch. Furthermore, even if they did set 0m = 1m, you are still going to miss because of how poorly the tracking formula scales at small distances.
Anyway, I really think they need to do a complete overhaul of the entire tracking system. It seems to me that if a ship got closer, it would be easier to hit because it is presenting a bigger target. Furthermore, as things got further away they would be easier to hit because they are easier to track. Falloff should only factor into the equation as a damage modifier AFTER a successful hit is confirmed.
------------------------ Peace through superior firepower: a guiding principle for uncertain times. |
|
CCP Tuxford
|
Posted - 2009.09.14 16:46:00 -
[13]
The formula itself was NOT changed.
ChanceToHit = 0.5 ^ ((((Transversal speed/(Range to target * Turret Tracking))*(Turret Signature Resolution / Target Signature Radius))^2) + ((max(0, Range to target - Turret Optimal Range))/Turret Falloff)^2)
I'm assuming this this formula is correct can't be bothered to check but it has all the characteristics to be relevant in this discussion. We are and have always used two distances so the formula becomes
ChanceToHit = 0.5 ^ ((((Transversal speed/(centerDist * Turret Tracking))*(Turret Signature Resolution / Target Signature Radius))^2) + ((max(0, shortDist - Turret Optimal Range))/Turret Falloff)^2)
where centerDist is the distance between the center of the two balls where shortDist is the distance between center - radiuses of the balls but never less than 0
This isn't new but it has probably been unknown to you guys.
As you can see we have a singularity if centerDist is zero but not if shortDist is zero. We were however checking if shortDist was zero and returning zero if it was but really should have been checking for centerDist. All we did to change centerDist to shortDist.
Again, formula was not changed only an error in a zero value check. _______________ |
|
Neriel Odershank
|
Posted - 2009.09.14 17:34:00 -
[14]
Originally by: CCP Tuxford
Again, formula was not changed only an error in a zero value check.
Serius question, i'm curious and not trolling: why did it take 6 years?
|
Roemy Schneider
Vanishing Point.
|
Posted - 2009.09.14 18:50:00 -
[15]
Edited by: Roemy Schneider on 14/09/2009 18:56:50
Quote: All we did to change centerDist to shortDist.
ah, so you've made it worse or do we have "negative" tracking now?
cause centerDist can't become zero in this environment, edge2edge aka shortDist can. we can invade spheres though (scimitar in phoon) so we can go negative qua sphere edges? - putting the gist back into logistics |
skye orionis
|
Posted - 2009.09.14 18:56:00 -
[16]
Edited by: skye orionis on 14/09/2009 18:58:14 So, unless the orbit distance has been changed to be based upon the centre of the target people orbiting at optimal will in fact be shooting inside falloff.
|
ElfeGER
Deep Core Mining Inc.
|
Posted - 2009.09.14 18:59:00 -
[17]
Originally by: Neriel Odershank
Originally by: CCP Tuxford
Again, formula was not changed only an error in a zero value check.
Serius question, i'm curious and not trolling: why did it take 6 years?
I guess the number of bug reports on this was very low?
|
Manfred Rickenbocker
|
Posted - 2009.09.15 00:23:00 -
[18]
Thank you Tuxford for answering my question.
Originally by: El***ER
Originally by: Neriel Odershank
Originally by: CCP Tuxford
Again, formula was not changed only an error in a zero value check.
Serius question, i'm curious and not trolling: why did it take 6 years?
I guess the number of bug reports on this was very low?
I know I bug reported it a few times but that was years ago and gave up. It becomes painfully apparent when you shoot large stationary objects (structures and such) in space because it is extremely easy to get under 0m.
My only remaining question is what determines the difference between short-distance and center-distance? Do we go based on the sig radius of a ship? ------------------------ Peace through superior firepower: a guiding principle for uncertain times. |
Verlokiraptor
All Around Research Inc
|
Posted - 2009.09.15 06:09:00 -
[19]
Edited by: Verlokiraptor on 15/09/2009 06:09:23
Originally by: Manfred Rickenbocker My only remaining question is what determines the difference between short-distance and center-distance? Do we go based on the sig radius of a ship?
The difference should be the target radius PLUS your ship radius, I believe. If sig radius is equivalent to physical radius, then yes, but I doubt that's the case or bumping things with a MWD would be absurd... 2 ships hugging each other could turn MWDs on and do some crazy bumping explosion. Base sig radius, maybe.
|
|
CCP Tuxford
|
Posted - 2009.09.15 09:06:00 -
[20]
Originally by: Neriel Odershank
Serius question, i'm curious and not trolling: why did it take 6 years?
This is a pretty low level change so we had to find someone with sufficient programming knowledge to change it but stupid enough not to realize the implication, I guess I fulfilled the requirement
In all seriousness than I can't answer for other programmers that had this on their list but for me it was an assumption. I assumed that we were only using one distance and therefor assumed that I'd either had to change it to always hit or do some funky magic like add 1m to all the distances which I didn't think was particularly elegant implimentation. Bottomline I didn't take a close enough look because I thought I understood the problem completely but didn't have an answer I liked. _______________ |
|
|
N Ano
|
Posted - 2009.09.15 09:53:00 -
[21]
Originally by: CCP Tuxford
Originally by: Neriel Odershank
Serius question, i'm curious and not trolling: why did it take 6 years?
This is a pretty low level change so we had to find someone with sufficient programming knowledge to change it but stupid enough not to realize the implication, I guess I fulfilled the requirement
In all seriousness than I can't answer for other programmers that had this on their list but for me it was an assumption. I assumed that we were only using one distance and therefor assumed that I'd either had to change it to always hit or do some funky magic like add 1m to all the distances which I didn't think was particularly elegant implimentation. Bottomline I didn't take a close enough look because I thought I understood the problem completely but didn't have an answer I liked.
Oh my god!!
|
Squizz Caphinator
First Flying Wing Inc Primary.
|
Posted - 2009.09.16 03:26:00 -
[22]
Originally by: CCP Tuxford
Originally by: Neriel Odershank
Serius question, i'm curious and not trolling: why did it take 6 years?
This is a pretty low level change so we had to find someone with sufficient programming knowledge to change it but stupid enough not to realize the implication, I guess I fulfilled the requirement
In all seriousness than I can't answer for other programmers that had this on their list but for me it was an assumption. I assumed that we were only using one distance and therefor assumed that I'd either had to change it to always hit or do some funky magic like add 1m to all the distances which I didn't think was particularly elegant implimentation. Bottomline I didn't take a close enough look because I thought I understood the problem completely but didn't have an answer I liked.
The sign of a true programmer is over thinking the problem, and then realizing the answer is quite simple.
Props to you mate.
|
|
|
|
Pages: [1] :: one page |
First page | Previous page | Next page | Last page |