[Home]History of Ascendent

Robo Home | Changes | Preferences | AllPages


Revision 28 . . June 11, 2004 0:14 EST by Mue
Revision 27 . . June 8, 2004 13:51 EST by PEZ
  

Difference (from prior major revision) (no other diffs)

Changed: 1,123c1
A mega bot designed for one-on-one using WaveSurfing and VirtualGuns. I read about WaveSurfing when i tried to figure out how to improve the movement of Hyperion. After i finally started to implement it and realised how much work there is behind that, i decided to leave Hyperion as it is and make a new bot instead. Apart from the movement this bot is identical to Hyperion (for now).



version history (newest entry on top)



* version 0.5.1 (June 06 2004) - rating: 1959
** a lot of medium and minor movement changes that may or may not have made things better (at least the bot is certainly slower now :-)
* version 0.5 (May 31 2004) - rating: 1938
** initial release





How does it move?




It uses WaveSurfing.

How does it fire?




The same way Hyperion does: it uses a virtual gun array, containing averaging LinearTargeting, GuessFactorTargeting, PatternMatching and another statistical gun i dont know the name for.

How does it dodge bullets?




WaveSurfing as i understood it is practically a dodging strategy.

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




Its an one-on-one bot. Never tested melee, so its probably throwing exceptions at that.

What does it save between rounds and matches?




It saves nothing between battles. Between rounds targeting and movement information is stored.

Where did you get the name?




While imagining it's rise to the top of RoboRumble of course :-)

Can I use your code?




Not at the moment. I'll think about publishing it when i'm satisfied with the bot and it's code structure.

What's next for your robot?




* get WaveSurfing to work properly (my tests looked quite good, but ...)
* determine the problem bots and deal with them

What other robot(s) is it based on?




It is based on Hyperion. I read a lot about WaveSurfing in this wiki, and took the general idea from it.

Where can I get it?




http://www.robocoderepository.com/BotDetail.jsp?id=2272

-- Mue


comments, suggestions, questions:




This looks to be a strong bot! It beat RaikoMX and Silversurfer and has a rating of 1945 after 171 matches. That's a >100 point jump from Hyperion. Did you only replace its movement with WaveSurfing or did you change more? Well done! --Vic

Thanks :-). I'm indeed quite pleased with the performance (although there could still happen alot until the 500 battles are reached). And yes, i only changed the movement to see it's influence on the results (i already suspected that Hyperion's movement prevented it from rising further - now i'm sure of that). --Mue

Hell of a strong bot! Congrats, man! If thatīs your prime version, things r surelly going to get hot! -- Axe

Congrats from my side too. But i am not going to loose my place as best german robocoder without a fight ;D --deathcon

Hehe thanks :-). Its just my prime version of WaveSurfing, everything else is taken from Hyperion. And yeah, i noticed that Shiva just jumped in front of Ascendent. That little bugfix you mentioned on its page must have helped a lot. Lets see if i find a way to get rid of some of the many problem bots... --Mue

Yeah it was that bug i hoped to find. You know that: you just finished a bot and it performs bad and there is that hope that it is a huge bug that makes your bot perform so bad. Because a bug is easier to fix than a bug to improve ... ! good fight ... --deathcon

Sure i know that hope :-) This time though it looks like i'll have to do some thinking on how to improve (no obvious bug found yet). --Mue

Good luck. The run for 2k begins :D --deathcon

Aim higher dudes! Go for the crown! -- PEZ

Looks to me like you have already started running without me :-). Ah well, i'll probably need more time anyway, since i plan to stick to movement changes until the next release. Sadly i'm having some difficulties to find a change that makes Ascendent do better vs the problem bots i'm testing with. To make things worse i get lots of ideas on how to improve the guns while experimenting with movement... --Mue

Take notes of these ideas. One day u will need them badly. --deathcon

Sure i did and i'm really looking forward to experiment with the guns. After a week of movement tuning i get the feeling that its way more fun to blast the problem bots to pieces than to trying to evade their bullets ;-) - at least when all my movement changes show if any only minor effects in the tests. Now i let the rumble figure out whether the changes where any good at all. --Mue

Ascendent 0.5 likes a close fight. It's the only top bot that likes that I think. Excellent to add to your test bed for tuning your close combat movement. I corrected a huge problem CassisClay? had there with the help of Ascendent.

Mue, I haven't tested 0.5.1 yet. But if you haven't experimented with it much, try evading more from your opponent. It might boost your performance more than you think.

-- PEZ

Hmmm, it doesn't seem like you need to improve your movement too much actually. Ascendent is a slayer of strong bots. Could be your guns too. Maybe VirtualGuns isn't such a bad idea against surfers? But I think maybe your surfing style is extra vulnerable to PM guns? I wouldn't have guessed from watching it fight, since all those stops and go's should be tricky for a PM gun to figure I thought. But why should Robocode all of a sudden be figurable? =) Great bot you have here anyway. It is definately built from material giving it #1 potential. Try plug the .p gun in and see if you might need to think differently with those guns of yours. -- PEZ

Thanks for feedback :-). Actually i already tested with keeping farer away from the opponent, but this performs worse vs almost all bots of my testbed. That could very well indicate that my guns are simply not very good at long distances. So i will test that again after improving the guns. And you are definitely right that 0.5 had a problem with pattern matchers, especially when they use absolute bearings or guess factors for matching. Thats why i introduced another style of surfing (similar to TrueSurf) and switch between the styles when the opponents hitratio becomes scary. But well, it does only work vs some of the problem bots and even then not that good.

And for testing i already took the CassiusClay movement to see how it deals with my testbed. It was considerably better vs the problem bots, but lost some points to others making it overall about as good as my current movement (for the testbed of course, could be different in the rumble). I'll probably run a similar test with it's gun just to see, what real top bots can achieve with their guns. I really appreciate having such a plugable movement/gun of a top bot at hand, thank you PEZ :-)

Well, obviously the movement effort was not wasted like i feared since it got me 20 points, which is definitely more than i expected. --Mue

The movement is awesome I think. Can you give some more details on which bots our two movements differs in performance in your test bed? That might give me some clues on what to try next. CC's raise to royalty doesn't exactly go on with the speed I wanted it to. =) -- PEZ

Of course i can :-). Though i have to admit that i didn't note the version of CassiusClay i took the movement from. It was certainly not the most recent one (which changes twice a day :-) but probably 1.0.
|opponent | A's movement | CC's movement |
|syl.Centipede | 80% | 70% |
|nic.Nicator | 89% | 81% |
|dans.Cinnamon | 85% | 93% |

The numbers are the averages of the score-percentages Ascendent got in 15 battles with 35 rounds each (thus a higher number means better :-). All other differences were within the margin of error, since results may very well vary by about one or two percents. I just noticed that my last movement change almost closed the gap to CassiusClays movement concerning the real problem bots i tested with (which is why they dont appear in the table above), i'm quite happy about that :-)

And btw, i might have noticed a small error in CC's movement. When reacting to BulletHitBullet?-events, it registers a hit using event.getBullet(), but i'm rather certain that this will return your own bullet while getHitBullet?() is the one you want. Nothing big but... --Mue

Thanks! I'll have to figure about what the table above means now. =) I'll correct that bug. Though I only use the coordinates of the bullet, which I guess makes it less important which one I use. But it does add confusion that I don't need. =) -- PEZ

OK, i didn't look that deep into the code and thought you were using bullet.getHeading() to get the guess factor the bullet was fired at.

Hm well, i tried to explain what the numbers mean, but my english might have confused the matter :-).
The first row: I ran 15 battles (with 35 rounds each) Ascendent (with it's own movement) vs Centipede and another 15 battles Ascendent (with CC's movement) vs Centipede. In the first setup Ascendent gets 80% of the score (averaged over the 15 battles), the second setup results in 70% for Ascendent. I hope this clears things a bit. --Mue

Well, your english is perfectly fine. I understood the figures as such. =) -- PEZ

Really impressive your new version. And when i looked at it detailed ranking table i wondered: it shares exactly the same problem bots as Shiva : Fenrir, Booring,tm.Yuugao, tobe.Fusion, the tron family, GlowBlow, pi.Dark, mld.Moebius, Smoke, Aspid and so on ... . I am not sure how this comes, but it might come from our similar way of surfing waves ( much like TrueSurfing ). --deathcon

It's the same problem bots as all wave surfers have I think. -- PEZ
#REDIRECT Ascendant

Robo Home | Changes | Preferences | AllPages
Search: