PEZ wrote: "Targeting generally means the strategies and techniques used to predict your enemy's future location. The prediction is always at least 2D of course."
Not sure I agree with this statement. Imo, the genius of gessFactor targeting is exactly the reduction of the prediction to 1D. A pattern matcher will guess a future xy position, a guessFactor gun simplifies it to an angle, making statistical analysis much simpler. That is exactly what inspired me to make TronsGun. I get 50 possible 2D paths, but then I reduce them to hit angles (1D), making it much easier to find "spikes".
What would force the use of true 2D targeting, and maybe even make pattern matchers rule over guessFactors, would be the introduction of "ranged guns" with a firing distance (cannon elevation) and possibly a blast radius. You would use setFire(power,distance) and the bullet would "fly" over any bots without touching them, only inflicting damage when it hit the ground. I remember Mathew Nelson saying he was planning it for RC2. -- ABC
I wouldn't tribute that to guess factors. Prediction is always about gun heading, which I would say is a 2D vector. But let's not split hairs like that. What this page is about is reducing your view of the world in a way that makes you know very much from very little data. VertiLeach only considers Y coordinates of its enemy when targeting. Yet it "knows" when you're close to a wall or not and if you're aproaching the wall or going away from it. You can see this in Verti's details sheet. Many of its ProblemBots are good wall movers, like DT, Tron, PrairieWolf... And many of the bots it performs really good against are wall bouncers. Maybe this should rather be called ReducedDimensionalSegmentation ... I can rename the page again I guess. =) -- PEZ
A future position is 2D (x,y), a gun heading is 1D (angle), a guess factor is 1D (%maxAngle). With a guess factor gun you don't care about where the enemy is going to be when your bullet hits him, just that it hits him... imo it has nothing to do with segmentation. Segmentation is a way of detecting the current enemy "state" (a form of pattern matching, actually). If we had true 2d targeting, I believe guess factors would not be so effective (I know Paul would prove me wrong, though ;)), you would have to have 2D statistics, 2D zones instead of 1D intervals, (angle,distance). It is allready very hard to find the statistical mode of a 1D continuous variable (most visited angle), it would be twice as hard in a 2D plane. I think the description of chameleon's gun was something closer to a "true" 2D statistical targeting, iirc. -- ABC
Yeah, now that I think about it, you're right about guess factors being less powerful; I didn't think so at first, but movement would be very different in a 2D gunning mode. Lateral movement would be just as important as perpendicular movement, while currently most bots simply ignore lateral movement. Distance would have to be one of your primary axis along with angle; you can't simply pick the current state of the enemy including distance through your secondary segments, and pull out that 1D strip at that segment and pick the peak angle; you'd have to pull off the entire plane at the enemy's current state excluding distance, and then pick the peak on that entire plane and shoot at the given angle and distance. The added dimension reduces your odds of hitting to approximately the square root of the probability in 1D. Most pattern matchers would not lose nearly as much chance of hitting, because they are already built to match patterns in the enemy's advancing velocity. GuessFactorTargeting in 2D would seem to be far less accurate than a pattern matcher gun. -- Vuen
Exactly, guess factors would have to be reinvented as guess vectors, but pattern matchers would still work. -- ABC