Sounds like you made some nice improvements in the new version of Toorkild. Looks like I might not get the micro APS throne after all. Oh well, I'll see if I can get a 100% win rate. :)
Sometimes things which sound logical don't always pan out ;-) And the sacrifices made for codesize reduction aren't always worth it... codesize limited development is something I haven't done in a few years now, so it might take me some time to get back in the swing.
As soon as Toorkild reclaims his rightful title, I'd like to see you get back into nanos. You've always been good at thinking outside the box, and the nanorumble sorely needs that right now.
I found that in nanos I didn't have enough space to do anything original. See my conversation at the top of this page with Mike (author of LittleBlackBook and Moebius). Anything less than micro, and sometimes even micro, seems like it isn't something which was specifically designed to perform a specific purpose but rather an amalgamation of code snippets which just so happen to perform the stuff we're generally looking for. There isn't room in nanoland to actually use any of the ideas that I have about how to improve something. But I'm willing to give it another try =)
I know how you feel. I worked for weeks trying to come up with something original for Foilist, but almost all good movements had already been taken. I think that the current nanobot paradigm is nearing its end. If you really want to do something revolutionary, I would suggest trying to code a bot with Jasmin.
I look forward to your next game-changer, good luck.
I don't think ÉpéeistMicro is completely out of the race. If you remove your colours you will have enough space to maybe add better bullet power management or something, there is always something that can be improved.
You might as well use your own gun from ÉpéeistMicro for your new mini. Chances are it is stronger, considering it is stronger than RaikoMicro which is what Komarious's gun based off of.
Best ever? 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!
OK, let me rephrase that, you are the most competitive robocoder ever. Paul Evans had a long reign of tyranny in the general class, as did ABC after him, but you are holding four thrones as I am typing this! And you don't give yourself enough credit for Neuromancer. There had never been a successful melee surfer until it came along.
ÉpéeistMicro's gun is not better than Komarious's in any way whatsoever(other than code size, of course), just look at her results in the targeting challenges. Voidious made some huge improvements over RaikoMicro's gun, and I think that her gun is the best in the minirumble.
While I agree that there is something I could improve in ÉpéeistMicro, I don't think that Energy Management really makes that much of a difference. Check out the discussion on PEZ's page, basically, if you fire high-power bullets, you will gain bullet damage but lose survival, and vice versa for low-power bullets.
Also thought you might find this interesting: oldwiki:MostCompetitiveRobocoderEver =) ... Using a slightly different meaning of the word "competitive", as in drive to compete as opposed to high level of performance.
About bullet power selection, several of the top 1v1 unlimited bots have been experimenting with cutting back on bulletpower severely as their energy drops (DrussGT, Diamond, Tomcat, RougeDC). The idea is that against weaker enemies your energy will stay high so you will get just as much bullet damage, but your survival will increase against those strong enough to cause your energy to drop. This exploits the tradeoff so you increase your score on both fronts.
I'm not sure if it is still as applicable when we aren't nearly as good at dodging (RaikoMicro gives ~700 bullet damage against DrussGT, Toorkild 1300), but there has to be something there. Possibly even shooting a higher power bullet if the peak in the buffer is high enough compared to the average. Or, as I've been thinking about a lot lately, doing some sort of smashing it down to bins.
I meant it wasn't important for micros/nanos. In the early versions of ÉpéeistMicro, I had the 10 byte
if (getEnergy() > 2), but I later removed it because it made almost no impact on its scores. Also, firing a constant bullet power 92% of the time saves about 20-30 bytes because it allows you hard-code bullet velocity and bullet damage.
I can definitely see the advantages of conserving energy in megas. Plus, doesn't firing low power bullets increase the chance of creating a full bullet shadow?
I don't want to get into a sunshine-blowing contest =), but I certainly don't think of you as the one-trick pony you paint yourself as here. There's a ton of insight and intelligence that goes into deciding which of the zillion existing Robocode bot features have potential to be exploited 10x further. And to get to the top, you not only have to invent/exploit new stuff, you also have to do everything else as well as everyone else. Especially if your bot is open source.
I do personally think of Skilgannon as probably the "best" Robocoder ever, but it's an impossible comparison to Paul Evans or ABC or other ancient Robocoders, like Michael Jordan vs Wilt Chamberlain. The latter get credit for being pioneers, and rightly so, but can you penalize the former for simply coming onto the scene at a later date? And if you can, how dominant do they have to be to offset that penalty? King of General 1v1 for 4.5 years, or holding all 1v1 thrones concurrently, (or 6 rings in 8 years in the modern NBA,) are pretty strong points on a resume.
But in general, I don't usually try to rank the legendary Robocoders. There are a bunch of folks that have made huge and unique contributions to Robocode and the RoboWiki and they're all awesome in their own ways. =)
Thanks for the vote of confidence guys =) It really is difficult to compare prowess when something is based on acquired (and then freely shared) knowledge. As Robocoders today, we are all capable of putting together a bot that can beat SandboxDT or RaikoMX in a couple afternoons, just by copying and pasting surfing and DC targeting tutorials. The landscape is completely different, and in our current environment I know I excel, but I'm not sure I would do as well against the great minds of the time in the unexplored wild-west days of the Eternal Rumble. Then again, those people may not do as well today, now that we have the art of movement, targeting, even bullet power selection down to a fine art. It really is too tough to call. Perhaps we can tempt Paul Evans back for a showdown =)
Maybe I can get him into BerryBots. =) The phrase "be careful what you wish for" comes to mind. I recently realized how much I take our body of Robocode knowledge for granted when I sat down to write a semi-serious BerryBots bot, and similarly at a live programming game event I attended.