Gilgalad/targetingStrategy
Gilgalad currently uses two KNN-GF guns. Many of the weights along with some of the general code structure is based on Diamond.
In version 1.3, the imprecise Maximum Escape Angle was removed. I suspect that my broken calculation added more noise to the targeting data. To replace it, Gigalad started using four dimensions for the walls. I now plan on trying PIF guns and trying to develop some real MEA calculations that aren't too inefficient.
In version 1.7 I used a new type of MEA. Precise positional MEA. The idea comes partially from a comment by User:MN but I think this is the first bot to use it. The code is in the RoboGeom file (precisePositionalMaxEscapeAnglePoint).
Version 1.99.4 is, I think, the first robot to handle virtual waves exactly. After a real wave is fired, the virtuality and bullet power attributes for the real waves are set. Bullet power is a weighted average of the two real waves around the virtual waves (in terms of time). At training time, the waves play through a log of positions with the new bullet power. Attributes, which can depend on bullet power, are calculated only when training and aiming.