Robo Home | Changes | Preferences | AllPages


Surf or die. Or surf and die. Surf anyway!





What's special about it?

It's my first Melee bot. It will try WaveSurfing in Melee. And it's a MiniBot.

Great, I want to try it. Where can I download it?


How competitive is it?

Not very. Melee calls for special surfing that this bot doesn't have (yet).

How does it move?

Lightly segmented WaveSurfing. It circles (using RandomMovementBot style WallSmoothing like most of my bots) the battlefield center and evaluates circling direction based on all waves in the air. Yeah! LOTS of waves. =)

How does it fire?

Lightly segmented GuessFactorTargeting.

How does it dodge bullets?


How does the melee strategy differ from one-on-one strategy?

Not at all currently.

How does it select a target to attack/avoid in melee?

It chooses the closest one to attack and to orbit around.

What does it save between rounds and matches?

Targeting and movement stats are saved between rounds. Nothing is saved between matches.

Where did you get the name?

Googled for something small and deadly.

Can I use your code?

Yes. Just make sure you read and understand the RWPCL before reading the code.

What's next for your robot?

Figuring out how to do melee movement.

Does it have any WhiteWhales?

It shouldn't have that yet. But to outrank Coriantumr would be sweet!

What other robot(s) is it based on?

I started by putting Pugilist on a major diet.

Comments, questions, feedback:

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

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited June 12, 2005 8:44 EST by bn3.internetdsl.tpnet.pl (diff)