[Home]R2d2

Robo Home | Changes | Preferences | AllPages

R2d2!

Version History

         , not a mini 
         , copied the bin smoothing method from PEZ. 
         , this uses no fear of walls strategy.
         , ranking :
         , it's now a mini.
         , ranking :
         , mini ranking:

Author

Andrew

What's special about it?

Nothing

How competitive is it?

N/A

How does it move?

Moves orbitaly around the enemy trying to stay 600 away. It keeps track of it's own visits to guess factors and how often it has been hit at guess factors, and uses this to decide when to switch directions.

How does it fire?

Custom event wave guess factor targeting

How does it dodge bullets?

It tries to move to a low probability of being hit location

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

R2d2 just sits still and doesn't fire in melee.

What does it save between rounds and matches?

It saves it's three arrays (eAimFactors?,eHitFactors?, and the gun guess factor array) between rounds.

Where did you get the name?

This is my first attempt at a real caluclating bot, somthing more complex then nano. The idea is that r2d2 the droid calculates a lot.

Can I use your code?

If you decompile it I guess i really won't know. But I would really prefer that you didn't. But if you have a question about somthing I got to work, just ask me and i'll be happy to share with you what i did. I consider this only fair since i get so much help from others.

What's next for your robot?

Break 1800 in the general roborumble with version .9 which will have working virtual guns and working movement.

Does it have any WhiteWhales?

My movement is constantly chaning so each time i update it, the bot has completly different problem bots.

What other robot(s) is it based on?

Probably aristocles/falcon the most in order to get guess factor targeting with custom event waves to work (i started with a virtual bullet system (non custom event) and worked my way up). I read the wiki constantly and try to use the ideas i see there. Many many people have helped me a lot, including, but not limited to, Jim, PEZ, David Alves, and Kawigi.

Comments, questions, feedback:

R2d2/oldR2d2

does this seem reasonable?

(ammount of times bullets have hit me at this guess factor)/(ammount of times i have visited this guess factor)*10
--andrew

If you are looking for a way to score your adaptive movement, I think this would be better:

 10 * (amount of times bullets have hit me at this guess factor) + (amount of times I have visited this guess factor)
And then choose the guess factor with the lowest score. -- nano

but shouldn't it be a percent? i don't understand why you would add them.--andrew

because this way you avoid going to guess factors that you always go to. Makes movement "flatter" -- Scoob

andrew, why don't you just try it. Your line doesn't look bad... It should work perfectly against simple guns if you take car of division by zero. in general this is something you have to worry about if most other things are working pretty well. -- rozu

He has a point, though. The logic of 'hey every time I'm at this GF I get hit... let's go somewhere else!' is pretty good. :-) The problem with it would be, that every time you end up there it would lower the rating, and make you go there more often until eventually you get nailed by any decent gun. However implementing this against simple guns is a good idea. Actually I might even steal it for the next RMX, it might just solve a problem I've been having... -- Jamougha

How about dodging the peaks and also making sure not to hit the last place you were hit in a segment? -- Kawigi

do you mean dodge the guess factors you have been hit at with real bullets, or just all guess factors you visit a lot. either way, it sounds to complicated for me to do. --andrew

Does the bot behave when you only consider hits, and when you only consider visits? I made the mistake to assume yes on both questions and that was a mistake. Try veryfying that and after that you can figure on good ways to weight them together. nano's suggestion is the same formula as used in RaikoMX I think, so it couldn't be bad. =)

0.85 is fighting for top-20 btw. Cooool!! -- PEZ

Also cool:

Fighting battle 13 ... ahf.r2d2.R2d2 0.85,wiki.mini.Sedan 1.0
RESULT = ahf.r2d2.R2d2 0.85 wins 2640 to 2062
Sedan once forced Paul to take DT to new hights! -- PEZ

the jump was all about that advice you gave me pez. don't always wall smooth, bounce somtimes. it improoved it a super ammount. but since i now randomly bounce, i can't predict my future posistion accuratly when i get near walls. so what i was thinking of doing is to make an array of random numbers at the begining and use the next one each time i go near a wall. that way, it is random, but i can predict if i will bounce of smooth. --andrew

Yeah. You jumped on the train when everybody was talking about wall smoothing. Where we came from we knew that true NoFearTheWalls is a business of the masters only. If you feel comfortable with random wall bouncing I think your idea of having your own list of known random numbers is an excellent idea. Will come in handy when you start with AntiMirrorTargeting as well. -- PEZ

i'v come to the conclusion that r2d2 wasn't really wave surfing before, i just had the right combination of buggy code to make it have a decently flat profile. i'v found a couple bugs, fixed them, and goten much much worse (20% hit on floodgrapher) results than before. i guess i'll have to learn how to draw my waves with robocodegl in order to figure out what's going on. i really like that jar that tango put up that requires me to do nothing but unzip it. do other people segment their own stat data by distance and stuff? since this forward/back stuff is getting annoying, i might try the kind that goes to the best place and waits there untill the wave hits.--andrew

Please don't leave old versions of your bot in to compare. It's easy enough to compare anyway. The details sheet is still there even when the bot leaves the ranking table. -- PEZ

ok-andrew

well all of my tests simply suceeded in making things much much worse. I think i might stop/revert r2d2 at/back to .86 for now and make another bot called andrewtest or somthing because it's very very frustrating to have all of your efforts and logic fixes result in nothing but failure. --andrew

Just release the same bot under 2 names, maybe r2d2 and c3po. Every time you do a new release, use the name of whichever bot is currently lower. That way you'll always keep your highscore and can test all you like. That's what I'm doing with JALT / YALT. :-) --David Alves

On the other hand it's good that not everybody does this trick. Then It would be as hard to reach #20 as it is to to reach #10 today. -- PEZ

Good point, I'll remove JALT. :-P --David Alves

Thanks! It's not a big bother to keep recalling failures like I do with my Pugilist's. =) Maybe we should think up some way we can examine a bots performance in its different incarnations. A servlet is able to see what prior versions there are... -- PEZ

all you would have to do in the different versions thing is put a link to each of the old versions on the details page. right?--andrew

That you can simulate yourself by just changing the URL on the details page. I was thinking more like a comparison table. -- PEZ


Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited May 5, 2006 10:20 EST by Florent (diff)
Search: