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
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
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 generatedIn 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:
Speed is approximately 40 observations/ms (in the worst case).
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