I just thought up a reason that using latvel/advvel in your gun isn't as good as using 'absolute' matching: by using latVel you are assuming that you were staying still last time, when you took the recordings, because you are reconstructing a GF, which should assume that the wave center stays still. But because the center of the 'wave' you are recording from moves, you get inaccurate results. My explanation is kind of lacking, but basically it all boils down to latvel/advvel not being as accurate for reconstructing enemy movements. But only if you are moving, which is why the PMResearch didn't show any problems with it =) -- Skilgannon |
I just thought up a reason that using latvel/advvel in your gun isn't as good as using 'absolute' matching: by using latVel you are assuming that you were staying still last time, when you took the recordings, because you are reconstructing a GF, which should assume that the wave center stays still. But because the center of the 'wave' you are recording from moves, you get inaccurate results. My explanation is kind of lacking, but basically it all boils down to latvel/advvel not being as accurate for reconstructing enemy movements. But only if you are moving, which is why the PMResearch didn't show any problems with it =) -- Skilgannon * Changing from absolute to adv/lat velocity cost me 0 points and saved me 50 bytes with this bot. The rumble says it's about the same either way, at least at the micro level. But you are right, adv/lat velocity has a margin of error because you are moving. It apparently doesn't matter in the end though. I guess I should say that I tried it both ways in the rumble using single-tick matching, but not the standard style. -- Simonton |
Why you didn't place the link to this bot in Participants List? Give us the link!!!... in Participants List -- DemetriX
Because I'm running it on a modified client. Calm down, I'm not padding my score :). My bot generates TONS of strings to perform its duties, and Java's String class keeps a HashMap? of every unique String it has ever seen. So, after a couple matches, Java's HashMap? becomes so large it runs the JVM out of memory. My client re-starts after every time it runs a match with WeeklongObsession in its name, so that there is a fresh JVM with a fresh, small HashMap?. -- Simonton
By the way, great job with WeeklongObsession, you really rocketed to the top of the MicroBot and MiniBot tables with this little guy. =) -- Voidious
Thank you, sir :). -- Simonton
There is another disadvantage in running your bots exclusive in your client: If your client is not running, new (versions of) bots will not fight yours, so the PL-ranking is not complete for those and your bots. -- GrubbmGait
Yes, you are right. The plug got pulled on my client at work, and I only have dial-up at home. That's why it hasn't been running. I can try to fire it up again at home running offline - it should battle the new bots eventually. This is really turning into a pain. When is that bugfix for robocode going to make it into people's clients again? ... -- Simonton
I know an 'official' version is in the pipeline, so I am not complaining about that. It is just for information that the PL-ranking is not complete. And I hate that I am still not better than the best mini . . . -- GrubbmGait
Very strange.... WeeklongObsession is in the MicroRumble? but not in the RoboRumble....maybe that tweaked client of yours is up to no good? -- Skilgannon
Since I can't download WeeklongObsession to see this new movement of yours, do you mind sharing? It seemed to push your score up a few points. -- Skilgannon
Those memory errors are odd, very odd. I'm not sure you are correct in saying the JVM keeps track of all strings it has seen, it wouldn't make since, but it easily tested ... let me check real quick *codes up a test program concat'ing Math.random(), sets heap size to 1meg* ... yeah, its not, didn't think so, that or my test program is borked, which is possible. But I think its some other issue. I might check into it. -- Ntroutman 2007-08-28
You could probably shed those bytes by taking the getGunTurn?(<lots of args here>) and inlining it. And WeeklongObsession is seriously slow! Have you considered dividing the matchlength by 2 every time instead of subtracting 1? You could probably take out the match-only-when-gun-is-cold then, which would save you those bytes. -- Skilgannon
Now that you're releasing into the general rumble, maybe you could mod your client to also upload results to all the other rumbles? I'll be getting priority battles for WeeklongObsession even after it has 2000 battles in the MicroRumble?, because your client isn't uploading them to all the other rumbles. Thanks. -- Skilgannon
I just thought up a reason that using latvel/advvel in your gun isn't as good as using 'absolute' matching: by using latVel you are assuming that you were staying still last time, when you took the recordings, because you are reconstructing a GF, which should assume that the wave center stays still. But because the center of the 'wave' you are recording from moves, you get inaccurate results. My explanation is kind of lacking, but basically it all boils down to latvel/advvel not being as accurate for reconstructing enemy movements. But only if you are moving, which is why the PMResearch didn't show any problems with it =) -- Skilgannon