Robo Home | Changes | Preferences | AllPages

Author: Ph

How competetive is it?

Not very yet (top-150), but I still work on it. It is RoboRumble@Home participant.

[Current rating at RoboRumble]

Where can I get it?

Musketeer - http://www.robocoderepository.com/BotDetail.jsp?id=2281

How does it move?

How does it select a target to attack in melee?

1v1 bot only.

How does it fire?

It uses ObservationSheet?, inspired by Vic's SOOL introduced in Locke.

How does it dodge bullets?

Random movement can dodge some.

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

1v1 bot only.

What does it save between rounds and matches?

Can I use your code?

If it's useful for you - sure! I would be glad if you gived me your feedback!

What's next for your robot?

I'l see.

comments, questions, feedback, etc.

Ph, you don't have to create a new robot entry on the repository everytime you have a new version. You can simply log in, go to your robot's page, optionally change the name with updated version number, and click save+upload. Then you can upload the new bot jar. --Vic

OK, I was new to the Robocode repository. Thanks for advice -- Ph

Will you enter your robot into the RoboRumble? That way you can monitor your progress against real life robots, and not only against your test bots (samplebots?). --Vic

Yes, I will soon enter my bot into the RoboRumble, but first I want to improve it. I just don't want to see Musketeer on the last position... When I decide Musketeer is some more competetive - it will fight in the RoboRumble. --Ph

Musketeer will soon enter the RoboRumble - I must only tweak movement and maybe targeting. --Ph

Musketeer entered the RoboRumble --Ph

"It uses ObservationSheet?, inspired by Vic's SOOL introduced in Locke.". Great! Keep me posted on your progress here. Maybe we can help each other. --Vic

Currently I'm thinking about new idea - dynamic dimensions' weights adjusting. I'll post some details soon, but I'll be offline for some time. --Ph

Well, that idea is not quite new. deathcon came up with it before, and I tried it in Locke. I am curious if and how you will solve the performance problem. With Locke I was unable to solve it. Rearranging the log when on average more than 1000 waves are collected every round will quickly cause a robot to stall, or skip turns. If you can solve this, than you are on route for the gun crown. I'm convinced dynamic weight adjusting can be the next revolution in targeting if implemented properly. --Vic

I am closer and closer to solving the performance problem (when realigning will work properly I will release Musketeer 0.5.2). Currently I am able to realign 1000 observations in 24ms in the worst case and in 6ms in the best case. But there is one that bothers me: I often get this message:

SYSTEM: Musketeer 0.5.2 has not performed any actions in a reasonable amount of time.
SYSTEM: No score will be generated
In my realigning routine I perform checks if it doesn't work too long. Current time limit for it is 3ms. I call it every time the ObservationSheet? calculates aiming angle. When I run Robocode maximized, there is everything OK. Problems (about which I wrote above) start when I run Robocode minimized. Do someone have any idea how to solve that?


I solved the stall problem (less observations are reinserted, and everything is OK). Current realigning algorithm is:

  1. Keep information about distances between adjacent observations in the sheet. Update when (re)inserting observations (update only these entries which need to be updated).
  2. Choose some number n
  3. Before calculating aiming angle, realign the sheet by reinserting n worstly fitted observations.

Speed is approximately 40 observations/ms (in the worst case).

-- Ph

I don't know why, but dynamic weights adjusting and realigning the ObservationSheet? degraded Musketeer's performance. I revert to, but continue working on dynamic weights adjusting. --Ph

For the benefit of those of us that have been out of the loop for a while (in other words, me), could you explain what "dynamic dimensions' weights adjusting" is? --David Alves

Locke's gun does segmentation using a distance formula that tells whether or not a situation is comparable to a previously recorded situation. The different segmentation dimensions (or axes or parameters as some people call them) have different weights in that formula. Currently these weights are hand tuned, just like people with GF guns have hand tuned their GF matrix. deathcon,I and as it turns out recently ph, have all been searching for a way to tune these weights automatically so the enemy's weaknesses can be targeted better, instead of the fixed one-tuning-fits-all approach. Until now our efforts have failed because of performance issues. Coincidently you ask this question just when I may have found a method of targeting that has the same effect as dynamic weight tuning would have. It's on the WikiTargeting/DynamicSegmentation page. --Vic

Robo Home | Changes | Preferences | AllPages
Edit text of this page | View other revisions
Last edited August 31, 2004 16:23 EST by Ph (diff)