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?