what's the secret to making a good robot in robocode
To quote Skilgannon (slightly out of context):
"I'm good at producing a top scoring bot, I'm not arguing that, but I'm better at optimising code so it runs quickly/small and then just using a feature 10x more than anybody else ever has before. Examples are the 100+ buffers in DrussGT, surf-absolutely-everybody in Neuromancer, multiple-choice pattern matching in Toorkild. We'd already had multiple buffers, melee surfing, micro pattern matching, non-micro multiple-choice pattern matching, so nothing I did was really new, I just squeezed every last drop of performance out that it had to give. I guess my real claim to fame is variable-distance Stop-And-Go, the rest is my interpretation of the wealth of knowledge already available on the wiki =) I guess the moral of the story is to think big!"
There is a lot more to DrussGT than simply a bunch of buffers.
I think multiple buffers are the weakest part of DrussGT. Replacing the bins with k-NN search in movement would make it even stronger.
State of the art go-to surfing, anti-pattern matching, flattener, surf 2 waves, wall smoothing, super strong dynamic clustering gun, data decay, anti-surfer gun, genetic tuning, precise MEA, gun heat waves, super survivalist energy management, bullet shadows...
That quote seems like an example of Survivorship Bias to me: http://en.wikipedia.org/wiki/Survivorship_bias
Just because Skilgannon is the champ doesn't mean his memory of the approach he took is the best approach (or even above average).
Kicking myself for missing the chance to link to a much cooler post about Survivorship Bias. :-)