Why didn't I do this years ago? Even without conditional breakpoints, being able to step through my code line-for-line and see what is going on is like seeing my creation truly for the first time. You guys have no idea what a miracle it has been that this works at all. Up until now, I'd have to either put in crash-out errors to debug, or make changes and hope they'd work (if there was an on-going game). Much of what I've been doing has been guess-and-check because I've had to work semi-blind. I could make a change, and see the end result, but I couldn't ever - in an effective manner - track or stop things mid-processing to see what was going on for a specific instance.
I was able to clean up, just by trying to fix the two above issues, about half a dozen completely unrelated, and relatively minor bugs that would have taken us forever to find normally, but were so obvious while debugging!
Additionally, I discovered that while the combat phase has a good 'death' cleanup, the end phase reserved its check for missile death until the very end...meaning zombie missiles were still able to smash into targets. This solved (hopefully) the point defense issue mentioned above.
Separately, being able to step through my 'chase' routine for missiles has really helped me see where some of the flaws were, and I've cleaned them up. Previously, missiles effectively gave up on chasing if the target was outside a forward-looking 180deg arc. That wasn't my intent, but it was the implementation. Now missiles are smart enough to chase through an entire 360deg arc. Their goal will be to find the motion which best indicates they could hit the target next turn. Of course, this doesn't at all factor in the pointing vector and likely motion of the ship... only the ship's present location... but that is still a huge improvement over before.
This isn't to say that I've completely fixed/implemented the missile chase routine, but I've certainly solved the specific issue that came up today. I Believe that the missile fired by 'Zombie' at 'Violent Breeze' concluded that a Turn 3 (aka 180 degree turn at max velocity) was its best plan. It isn't a perfect strategy/detection, but I'm open for algorithmic suggestions from you guys.
Hmm, looking at the actual turn resolution, things were a bit unluckier the 2nd time around. Although in a lot of my debugging, Zombie shot down the incoming missile, looks like we had some low rolls this time. Sorry! Also, Violent Breeze didn't get the Shelton Slide the 2nd time around either.
This new IDE isn't going to overnight help me clean up all the bugs, but it is really going to make some things a lot easier. I suspect next time we have an FF tracking bug (if I haven't squashed them all yet) this will be the tool that will really help me solve it. (Unfortunately, I'll still need to take a turn offline to do this kind of debugging, since I have to mess with the 'live' database).
As of now, you guys can proceed with 9MP, unless someone pipes up with a yet a new bug.