A melee capable pez.* robot, finally! :) -- ABC
Well. It's not really capable yet. =) -- PEZ
The first (of many ?) melee-aware bot in three years, I start letting my package wear pantyhoses. ;-D -- GrubbmGait
Actually my first bot, Marshmallow, was melee-aware. Though there were major bugs in those parts of the code, which made M totally useless in melee environments. CF is my first attempt since. Though I must admit I don't have a clue on how to think when it comes to melee movement. -- PEZ
It's simple, you have to stay as far away as possible from everybody else... -- ABC
Ummm, yeah, that sounds simple! =) I'll make a MegaBot version and experiment some. I have only 5 bytes left in this bot... -- PEZ
Well, I threw out the velocity segmentation of the gun and squeezed things so I could fit a "stay away from all others" movement while it's still a melee fight. This movement, while the gun velocity segmentation was still in place, works a lot better. Removing the gun segmentation almost, but not quite, compensated for that improvement though. More importantly, the squeezing introduced bugs. Now the future wave<->bot_positon iteration doesn't always exit. Meaning CF gets disabled.... I hope I can fix that. Otherwise I'll leave the MiniBot melee arena for a while and return with a MegaBot contendant instead. Rest assured I will not give up just yet. =) -- PEZ
OK. So I found out why I called that many get/set methods. And I got rid of it. And I added both velocity and last_velocity segmentation to the gun. Had to cut some other corners to achieve this though. And my stay-away-from-others movement doesn't work very well... Crap! I'm a crap melee robocoder. Fighting against the codesize devil I have gotten a few ideas though that I must go mega to try. Wish me luck! -- PEZ
If you want to fight the codesize devil _and_ the melee devil at the same time, I think you should start with a HOT bot and concentrate on movement. HawkOnFire uses only power 3 HOT bullets and is still one of the best melee bots around. Good luck, and have fun. :) -- ABC
That would be boring. HawkOnFire has an awesome melee movement for sure. But firing HOT? Nah! Not I. I rather drop one of the devils for now. =) -- PEZ
The advantage of firing HOT (or another very simple gun) is that you have a base on which you can test your movement. As soon as the movement is satisfying (doesn't need to be awesome) concentrate on your gun. At this moment you frankly don't know where the problem(s) in melee are hidden. -- GrubbmGait
HOT gunning hides a lot too. Like how much codesize do I have left? The movement would quickly grow to a point where a better GUN wouldn't fit. I've never, intentionally, fired HOT in a micro and up. And I won't start now. =) CF's gun is OK for a mini-melee-surfer. It's the movement that sucks. I'm hoping CF might fight in the overall minibot top of the RobocodeLittleLeague someday soon. For that a HOT gun just won't do. -- PEZ
Try making an all-melee-movement micro and then you have 750 bytes for a gun ;-) (which should be plenty, with maybe some extra to improve the one-on-one movement). -- Kawigi
Yeah! Watch this space. -- PEZ
Another good tip is to both get a feel for where your movement isn't working and also see what kinds of segmentations you should try, watch a good amount of rounds of melee with your bot - plus, I think it may have therapeutic value. -- Kawigi
Hehe, this melee thingy really gives me the need for some therapy. =) -- PEZ
Well, maybe there's only therapeutic value to watching melee battles if your bot wins them alot. But watching your bot lose gives you more good ideas that minimizing it for 50 rounds and seeing what the results were. -- Kawigi
Hey man, you gave it up totally? This gets ranked even lower than my microbot with both failed gun and lame movement. I hope you still can force yourself to prove, that wavesurfing has a future in melee ;) --lRem
Hmmm I don't quite remember the latest changes in CF, but I don't think it surfs in melee any longer. Not saying I think melee surfing is crap. Just that it must take into account different aspects than 1-v-1 surfing must and probably must be applied with great care. I doubt you'll see me try prove wave surfing is the melee future. Though hopefully I can force myself to make a decent melee bot some day, even if it'll not be melee wave surfing. -- PEZ
Problems with melee surfing #1: You don't know when bullets are fired except that it was sometime within the last 8 ticks. #2: Bullet fires can be covered up if the bot was hit by a bullet in the last 8 ticks. The first is analagous to the problem with melee-pm, and a recipe of sorts for solving these types of problems is in TronsGun's approach to things. I don't know how you plan on dealing with the second, though. -- Kuuran
Watching gun cooling times maybe? -- Kawigi
Yes. Scanning once per 8 ticks, computing all the cooling times and finding reasons for every change of a bot energy (combining bullet fired/hit energy gains/lossess until it all fits) may be very hard, but is able to give us information about every wave in air. With this approach the main issue would be finding a fast enough algorithm to find all those waves. --lRem