Robo Home | Changes | Preferences | AllPages

DesignPatterns Versions

Bot Name





AdvancedRobot from 0.1 to 0.5

TeamRobot since 0.6

What's special about it?

It is my first melee bot, and my first bot developped using RobocodeSG (thanks a lot StefW!)

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


How competitive is it?

Current goals

How does it move?

melee AntiGravity : Forces come from the enemies, the walls, the center of the battle field and some of the bullets

1-vs-1 WaveSurfing

How does it fire?

PatternRecognition? (inspired by TronsGun)

How does it dodge bullets?

see movement

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

Different movement but same gun (with some tuning differences)

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

It targets the closest enemy, with a tolerance to avoid switching target too quickly.

What's its Team strategy ?

not much right now. It exchanges messages about:

What does it save between rounds and matches?

nothing between matches

Where did you get the name?

I couln't find a good, it was the X bot, but it stayed ...

Can I use your code?


What's next for your robot?

To do / to try list

Does it have any WhiteWhales?

What other robot(s) is it based on?

Toad, Tron

Comments, questions, feedback:

I forgot the rammer case in my movement choice :( . -- Florent

Florent, for a bot using anti-gravity movement X2 is very strong in 1-vs-1. Can you tell us a bit more how you implemented this? And a 'bug-fix' on this page: see the date at the competitiveness boast :) --Loki

Well, I put AntiGravity on the page because I thought it would stay a melee bot but I found out that to be good in melee you also need a good 1-vs-1 movement. So I did a violent plugin (read non bug free) of Toad movement. I am sorry no brillant antigravity implementation for 1-vs-1, but in melee my antigravity movement uses some elements of wavesurfing to weight enemy bullets. -- Florent

I have some problems for tuning my gun. For the duel part I use the TC2K6, but I have no efficient way of testing it in melee. If any melee expert could give me some advices that would be great, because my only measure for now is running long battles against my TestBed and measure the bullet damage. -- Florent

I don't really have any advice to give. Use your instinct and run long battles against good melee bots, that's my testing method. A battle against simple bots helps too, like a sample bot melee or some HOT firing bots, mostly for movement testing. -- ABC

Thanks, I will try to improve my melee movement this way then. The gun tuning is getting a bit frustrating. -- Florent

I would run multiple 35-round battles and accumulate the results, to reflect the RoboRumble. As you save nothing between battles, your gun should be reliable quickly. How well do you do when you run alot of 5-round battles against your testbed, or even 1-round battles? Last tip is to check the MeleeStrategy page, but you probably have already done that. -- GrubbmGait

My gun learns quickly, but I also gather information concerning enemies gun (like in wave surfing) in order to weight their bullets so running 35 rounds battles would be better. I have already visited the MeleeStrategy page quite often and it's really brillant. For the new release I trusted my instinct, we'll see if it works for me. -- Florent

So your goal is to knock Toad out of the top 10 with this tank? =) I understand that you're focusing on this one now, but it's still kinda funny in a way... -- Voidious

Well I'd like to have both of them in the top ten, but anyway I already have both of them in the top ten of the PL so I am happy with that :). Of course if I can find some time for Toad I'll update it. -- Florent

Whoah, it's way cool to see you are trying that WaveSurfing idea that I posted about. I plan to use it as well, and have already coded it; but after the Tyranius experiment, I simply have to work on my gun. =) And major congrats on the 1v1 ratings jump - a lot can happen with still ~80 pairings to go, but it's clearly a huge step up from .11.8. It's at 2041 and #6 right now, great work! -- Voidious

Thanks! My own implementation just take care of bullets hitting me or my own bullets. The weigth for one buffer represents how close its predicted indexes are to the hit indexes. That's the idea, then I experimented with different functions until I found one that seemed to work. -- Florent

If your talking about the virtual wavesurfing idea, I use it in Shadow. I make two statistics, a fast adapting and an ultra-fast adapting one, and weight them using bulethit and bullethitbullet events. It's my anti-(anti-wavesurfers-gun)-movement trick... ;) -- ABC

Not exactly i was talking about adjusting the weight of each buffer dynamically during the game (each of my 15 buffers has its own weight which is used to measure the danger of a given position, but each of them has the same adaptation speed), but now that you mentionned that I might try that as well ;) -- Florent

Somehow, I'm less than surprised that Shadow already does something like this. But it is nice to hear =) -- Voidious

I'm not sure if you already know this. My roborumble client reports this every time X2 is selected:

Preventing florent.XSeries.X2 0.15 from access: (java.lang.reflect.ReflectPermission suppressAccessChecks)
-- PEZ

I didn't know, I use java 1.5 evrywhere in my code, so it might be that. -- Florent

I think I use 1.4.2. It's an old java VM which I changed the affinity settings on to only run on one "CPU". We really should update the RR@H server to demand the clients are using 1.5. -- PEZ

Whoo, now I'm #4! Good work dude. -- PEZ

Thanks, but I'm not sure it will stay where it is, my test results were quite "random" (my score against Shadow could go from 60% to 40%). -- Florent

Yeah, great job on X2, that 2050 barrier is no small feat. Keep it up! -- Voidious

Thanks, that's not so bad for bot that was supposed to be a melee bot ;). -- Florent

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited May 4, 2006 21:59 EST by GrubbmGait (diff)