Code size records
The highlighted comment was created in this revision.
I tried the top bots that came to mind and at first couldn't find any over 55k. But apparently you didn't quite set the record (but close). Only kept highest for each bot.
java -jar robocode_1.07/codesize.jar ./robocode.rumble_1730/robots/*.jar ... 45842 293199 74 kid.DeltaSquad.DeltaSquad_.1.jar 46143 289610 77 kid.Gladiator_.7.2.jar 47086 335204 209 Homer.Barney_1.0.jar 47269 458846 232 pedersen.Grishnakh_1.0.jar 50883 406124 107 voidious.Diamond_1.7.24.jar 52283 147604 107 positive.Portia_1.26c.jar 54049 307732 92 florent.XSeries.X2_0.17.jar 54352 249048 48 aw.Gilgalad_1.99.5c.jar 55297 509698 190 xander.cat.XanderCat_12.0.1.jar 58387 139768 35 jk.mega.DrussGT_2.8.8.jar 227423 474856 62 Krabb.sliNk.Garm_0.9y.jar
Not sure what the heck is going on with Garm! :-) Maybe he includes some big external library? I know I've thought about pulling in Guava, though there are ways to only pull in what you use.
Does he have the largest class size though? Speaking of codesize, I tried my hand at rewriting the tool.
I think I have to throw in some extra bytes to the 12397 I use now, and pass Phoenix before you do. But hey, I am no Java programmer, for the current assignment I use OOPerl . . .
I don't particularly care one way or another, but I also don't take pride in my large code size. It's worth noting that a laughable ~10k of Diamond's code size is the perceptual gun he uses for the first few shots. :-) Factoring that in, I don't think Diamond's too bloated for a full-featured 1v1 and Melee bot.
Heh, after Garm DrussGT comes in second =) I suspect it's because I have several Precise Prediction methods, my pixel-perfect Precise Intersection ones for first wave calculations and my high-speed ones for second wave calculations, and then I still have all of the code for the precise predictions which tracked when an enemy would fire and what segments they would see even though they aren't being called. Also, all of those buffers that are hard coded add ~17000 codesize.
I was looking into building an AS gun using spectral clustering, and when I packaged it, it pulled in the entire Colt library, which brought DrussGT to 217374 codesize bytes and 760KB of jar file! Needless to say, I started looking at other matrix libraries...