Performance Enhancing Bugs
I just ran into a pretty strange one. The old prediction code I was using for my wave-intersections gave NaN hit points under certain conditions (reversing and turning a lot simultaneously). Fixing it raises my 1v1 score, but lowers my melee score a lot. The new method also also allows me to re-use my prediction paths, so I really want it because it means I might have a chance at multi-branch multi-wave surfing, but the score drop right now means that it isn't at all worth it. Crazy...
Figure out why it was raising your score and re-tune so that it has the same behavior for melee, but not for 1v1.
Maybe it's because in melee there a lot more Play It Forward/Pattern matchers than in 1v1. And reversing/turning a lot functions as some kind of anti pattern-matching.
This old Performance Enhancing Bug just came back to bite me... I thought gunheat waves would fix it, but clearly not!
So is the bug fixed and re-tuned at that time? Or did u just leave it in, or branching on 1v1 and melee?
I made a copy of the subset of the code that caused it, and branched to use it when more than one enemy is present.
IMO, there always lies another bug behind one performance enhancing bug. The bug behind scene maybe in code, or it is just the assumptions you made when writing the code. e.g. ScalarBot’s gun is using far smaller cluster size nearly randomly (actually, it depends on the structure of the tree, which is not consistent over battles) in the past, but that bug helps against surfers dramatically. That bug is performance enhancing because the assumptions I made before using kNN with huge cluster size breaks when facing surfers. And using smaller cluster size is generally a rule-of-thumb of Anti-Surfer Guns.
Agreed. And from the rumble score, it seems that the rumble thinks re-introducing the bug didn't actually change anything, which means that it might be something else. Melee wavesuffering is so much worse than 1v1...