Difference between revisions of "Archived talk:Dookious 20060413"

From Robowiki
Jump to navigation Jump to search
(moving Dookious old Talk to subpages)
 
 
(7 intermediate revisions by 3 users not shown)
Line 1: Line 1:
Before I go and enter Dookious into the RoboRumble, I wouldn't mind hearing from a couple people on other computers that have successfully downloaded it and run it. I'm worried it might skip a ton of turns or simply have unforeseen problems on various other system configurations... If anyone has a moment to test it out, please let me know the results. (It does print to the console on a skipped turn.) Thanks! -- [[Voidious]]
+
Before I go and enter Dookious into the RoboRumble, I wouldn't mind hearing from a couple people on other computers that have successfully downloaded it and run it. I'm worried it might skip a ton of turns or simply have unforeseen problems on various other system configurations... If anyone has a moment to test it out, please let me know the results. (It does print to the console on a skipped turn.) Thanks! -- [[User:Voidious|Voidious]]
  
My work uses WebSense which blocks the robocode repository (but not the wiki) and thus I cannot access your bot.  I started hosting my bots on my personal site to avoid this as well as the occasional crash of the repository.  But .. there's really no harm in submitting your bot.  Changing the version number will start all new stats for it.  The first bot I entered in the rumble was crashing due to the file i/o issue, so I had to disable the i/o and replace 3.0 with 3.0a and start over.  No biggie.  He still got his ass handed to him with a side of parsely. -- [[Martin Alan Pedersen]]
+
My work uses WebSense which blocks the robocode repository (but not the wiki) and thus I cannot access your bot.  I started hosting my bots on my personal site to avoid this as well as the occasional crash of the repository.  But .. there's really no harm in submitting your bot.  Changing the version number will start all new stats for it.  The first bot I entered in the rumble was crashing due to the file i/o issue, so I had to disable the i/o and replace 3.0 with 3.0a and start over.  No biggie.  He still got his ass handed to him with a side of parsely. -- [[User:Pedersen|Martin Alan Pedersen]]
  
Oh, and my home machine is processing both the Roborumble and Meleerumble today while I'm at work, so if you enter your bot you'll see the first results in maybe 10-15 mintues. -- [[Martin Alan Pedersen]]
+
Oh, and my home machine is processing both the Roborumble and Meleerumble today while I'm at work, so if you enter your bot you'll see the first results in maybe 10-15 mintues. -- [[User:Pedersen|Martin Alan Pedersen]]
  
@[[Voidious]] I ran this bot without a problem on my winXP, 2.4 Ghz machine. It skipped a couple of turns per round, but that's not really a big deal. My bot [[Stampede2]] skips about the same number. [[Dookious]] seems to be a fairly competitive duelist, you should enter it into the rumble.  
+
@[[User:Voidious|Voidious]] I ran this bot without a problem on my winXP, 2.4 Ghz machine. It skipped a couple of turns per round, but that's not really a big deal. My bot [[Stampede2]] skips about the same number. [[Dookious]] seems to be a fairly competitive duelist, you should enter it into the rumble.
Maybe sometime soon I'll have a chance to get back to Robocode also.--[[wcsv]]
+
Maybe sometime soon I'll have a chance to get back to Robocode also.--[[User:Wcsv|wcsv]]
  
Ok... Thanks for testing it, wcsv, and thanks for the comments, Martin. I get a couple skipped turns per round locally, as well, but it's nothing I'm worried about. I just entered Dookious into the RoboRumble. I think seeing him get his butt kicked will inspire me to work on him more ;) By the way, Stampede 1.3 was one of my primary benchmarking bots for a while, I liked his movement style a lot when I first loaded him up. I think I'll add a list of bots I use(d) for testing to this page sometime... -- [[Voidious]]
+
Ok... Thanks for testing it, wcsv, and thanks for the comments, Martin. I get a couple skipped turns per round locally, as well, but it's nothing I'm worried about. I just entered Dookious into the RoboRumble. I think seeing him get his butt kicked will inspire me to work on him more ;) By the way, Stampede 1.3 was one of my primary benchmarking bots for a while, I liked his movement style a lot when I first loaded him up. I think I'll add a list of bots I use(d) for testing to this page sometime... -- [[User:Voidious|Voidious]]
  
Hey, that's a pretty darn good ranking for a first release. My first released bot, [[Stampede]], did not do nearly that well. Congratulations!  
+
Hey, that's a pretty darn good ranking for a first release. My first released bot, [[Stampede]], did not do nearly that well. Congratulations!
By the way, I'm glad that you deemed [[Stampede]] 1.3 a good enough bot to test against, I put a lot of time into that movement. --[[wcsv]]
+
By the way, I'm glad that you deemed [[Stampede]] 1.3 a good enough bot to test against, I put a lot of time into that movement. --[[User:Wcsv|wcsv]]
  
'Hopefully cracking the 100 mark' seems like an understatement. You're close to 50! (or rating 1800 for that matter). It took me 9 months to give birth to a bot capable of that.  -- [[GrubbmGait]]
+
'Hopefully cracking the 100 mark' seems like an understatement. You're close to 50! (or rating 1800 for that matter). It took me 9 months to give birth to a bot capable of that.  -- [[User:GrubbmGait|GrubbmGait]]
  
Thanks, man! I wasn't sure where it would rank, but even my optimistic appraisals put him at more like 70 or 80. I'm pleasantly surprised, of course! :) It looks like GrubbmThree is among my biggest problem bots now... -- [[Voidious]]
+
Thanks, man! I wasn't sure where it would rank, but even my optimistic appraisals put him at more like 70 or 80. I'm pleasantly surprised, of course! :) It looks like GrubbmThree is among my biggest problem bots now... -- [[User:Voidious|Voidious]]
  
and it always will be ;-)  PEZ has the only two bots that can get 70% of the score against GrubbmThree. But what else do you expect from a [[RamBots|rambot]].  -- [[GrubbmGait]]
+
and it always will be ;-)  PEZ has the only two bots that can get 70% of the score against GrubbmThree. But what else do you expect from a [[RamBots|rambot]].  -- [[User:GrubbmGait|GrubbmGait]]
  
Is there anyone here with a Mac that could test Dookious for me? I have tried him on both a 1 GHz eMac and a 1.5 GHz PowerBook here at work, both with 512 MB RAM, and he skips crazy amounts of turns on both. On my home machine (XP) and an XP machine at work, it's just a few per round; and even when it's as many as 10 per round on XP, it's still not detrimental. Dookious is no mini-bot, but he's certainly a lot faster than a lot of other bots in the RoboRumble... It even happens when minimized, which I mention because I have seen some references to Mac/Java graphical issues with Robocode. Any input is appreciated... -- [[Voidious]]
+
Is there anyone here with a Mac that could test Dookious for me? I have tried him on both a 1 GHz eMac and a 1.5 GHz PowerBook here at work, both with 512 MB RAM, and he skips crazy amounts of turns on both. On my home machine (XP) and an XP machine at work, it's just a few per round; and even when it's as many as 10 per round on XP, it's still not detrimental. Dookious is no mini-bot, but he's certainly a lot faster than a lot of other bots in the RoboRumble... It even happens when minimized, which I mention because I have seen some references to Mac/Java graphical issues with Robocode. Any input is appreciated... -- [[User:Voidious|Voidious]]
  
 
Sure, Voidious. I can test him, but I don't have access to my Mac again for a few days, so it could take me a little while to get back to you. -- [[Greywhind]]
 
Sure, Voidious. I can test him, but I don't have access to my Mac again for a few days, so it could take me a little while to get back to you. -- [[Greywhind]]
Line 25: Line 25:
 
I can run it on my 1.25 GHz PB in a window with no problems (only in a small percentage of all rounds it skips up to 4 turns), but when minimized it's insane. -- [[Jonathan]]
 
I can run it on my 1.25 GHz PB in a window with no problems (only in a small percentage of all rounds it skips up to 4 turns), but when minimized it's insane. -- [[Jonathan]]
  
Ok, thanks for the info guys, I appreciate it. I haven't focused on CPU & skipped turn issues too much just yet, but I guess now is the time to start! -- [[Voidious]]
+
Ok, thanks for the info guys, I appreciate it. I haven't focused on CPU & skipped turn issues too much just yet, but I guess now is the time to start! -- [[User:Voidious|Voidious]]
  
I believe I've mostly alleviated the skipped turn issues with the dev version of Dookious... Removing non-firing targeting waves (no change or better accuracy, anyway) and upping the angling increment in my iterative WallSmoothing were the key components to that. I've also disabled my VirtualBullets / VirtualGuns system, but I don't think that was really a major cause. -- [[Voidious]]
+
I believe I've mostly alleviated the skipped turn issues with the dev version of Dookious... Removing non-firing targeting waves (no change or better accuracy, anyway) and upping the angling increment in my iterative WallSmoothing were the key components to that. I've also disabled my VirtualBullets / VirtualGuns system, but I don't think that was really a major cause. -- [[User:Voidious|Voidious]]
  
Wow, Dookious is currently beating [[PulsarMax]], [[Phoenix]], [[Shiva]], [[Pugilist]], and [[Ali]] head to head (woohoo!), but still losing to some bots ranked much lower. I blame the gun! :) I'm half-tempted to try a DookiBee version soon just to get a feel for how much of the gun's fault it really is... Still, a 20 points rating jump and 8 places on the ladder feels pretty good. -- [[Voidious]]
+
Wow, Dookious is currently beating [[PulsarMax]], [[Phoenix]], [[Shiva]], [[Pugilist]], and [[Ali]] head to head (woohoo!), but still losing to some bots ranked much lower. I blame the gun! :) I'm half-tempted to try a DookiBee version soon just to get a feel for how much of the gun's fault it really is... Still, a 20 points rating jump and 8 places on the ladder feels pretty good. -- [[User:Voidious|Voidious]]
  
Congrats on pushing me back to rank #50. If you suspect your gun, you could make a DookiRRGC and enter it in the RRGunChallenge. Remember though that in the regions you entered now, movement is much more important than gunnery! -- [[GrubbmGait]]
+
Congrats on pushing me back to rank #50. If you suspect your gun, you could make a DookiRRGC and enter it in the RRGunChallenge. Remember though that in the regions you entered now, movement is much more important than gunnery! -- [[User:GrubbmGait|GrubbmGait]]
  
Thanks, Grubbm. I think I'll try that once it's even *possible* that the gun is adequate, but at the moment I'm more just curious as to how bad it is. (That would also tell me how good my movement is.) -- [[Voidious]]
+
Thanks, Grubbm. I think I'll try that once it's even *possible* that the gun is adequate, but at the moment I'm more just curious as to how bad it is. (That would also tell me how good my movement is.) -- [[User:Voidious|Voidious]]
  
Congratulations on the move! Dookious is heading in the right direction. --[[Corbos]]
+
Congratulations on the move! Dookious is heading in the right direction. --[[User:Corbos|Corbos]]
  
Thanks, dude! Congratulations yourself, Mr. soon-to-be-at-1900! ;) (Well, next version, I mean.) Maybe we'll re-awaken some dormant Robocoders as we keep moving up the rankings. (And [[wcsv]] is a bit ahead of us and active, as well.) -- [[Voidious]]
+
Thanks, dude! Congratulations yourself, Mr. soon-to-be-at-1900! ;) (Well, next version, I mean.) Maybe we'll re-awaken some dormant Robocoders as we keep moving up the rankings. (And [[User:Wcsv|wcsv]] is a bit ahead of us and active, as well.) -- [[User:Voidious|Voidious]]
  
Chalk and Dookious are great bots guys! You'll pass me by soon if i'm not careful... [[wcsv]]
+
Chalk and Dookious are great bots guys! You'll pass me by soon if i'm not careful... [[User:Wcsv|wcsv]]
  
Surprising even myself, I took a moment to stop working on Dookious and write a complete description of his movement algorithm. -- [[Voidious]]
+
Surprising even myself, I took a moment to stop working on Dookious and write a complete description of his movement algorithm. -- [[User:Voidious|Voidious]]
  
Updated the info for Dookious 0.61. Sorry about the e-mail, I often click that thing by accident! -- [[Voidious]]
+
Updated the info for Dookious 0.61. Sorry about the e-mail, I often click that thing by accident! -- [[User:Voidious|Voidious]]
  
I posted a version of Dookious that uses CassiusClay's [[CassiusClay/Bee|Bee]] gun. I am feeling really good about Dookious's movement, and I really want to know how high he could rise in the rankings with a top-notch gun. Hopefully nobody minds the temporary double entry; I'll be running the RR@Home client from this machine for the next 16 hours or so. -- [[Voidious]]
+
I posted a version of Dookious that uses CassiusClay's [[CassiusClay/Bee|Bee]] gun. I am feeling really good about Dookious's movement, and I really want to know how high he could rise in the rankings with a top-notch gun. Hopefully nobody minds the temporary double entry; I'll be running the RR@Home client from this machine for the next 16 hours or so. -- [[User:Voidious|Voidious]]
  
Seems that you can squeeze 50 more points out of your gun (and 150 out of your movement!). As an active contributor running the RR@Home client I forgive you your double entry :) . Such temporary entries ( xxxBee and also xxxRRGC ) are no problem as long as you keep it tidy.  -- [[GrubbmGait]]
+
Seems that you can squeeze 50 more points out of your gun (and 150 out of your movement!). As an active contributor running the RR@Home client I forgive you your double entry :) . Such temporary entries ( xxxBee and also xxxRRGC ) are no problem as long as you keep it tidy.  -- [[User:GrubbmGait|GrubbmGait]]
  
Ok, thanks. :) I was getting a bit cocky about Dooki's movement based on my MovementChallenge scores, but it's nice to learn that there's still a lot of room for improvement there. Surprisingly, my own gun does a lot better vs many of the top tanks than Bee! That's nice to see, too. -- [[Voidious]]
+
Ok, thanks. :) I was getting a bit cocky about Dooki's movement based on my MovementChallenge scores, but it's nice to learn that there's still a lot of room for improvement there. Surprisingly, my own gun does a lot better vs many of the top tanks than Bee! That's nice to see, too. -- [[User:Voidious|Voidious]]
  
Congratulations on 0.61. Do you think you're a victim of the MovementChallenge? Chalk's scores are far worse than Dookious and his gun pales in comparision to [[PEZ]]'s Bee; but he's still hanging within 10 points of DookiBee. I imagine it's possible to over-optimize for [[Ender]]'s and [[SandboxDT]]'s guns at the expense of others - almost like settling in a local minima. Regardless, both Dooki versions give Chalk a beating. Good work. --[[Corbos]]
+
Congratulations on 0.61. Do you think you're a victim of the MovementChallenge? Chalk's scores are far worse than Dookious and his gun pales in comparision to [[User:PEZ|PEZ]]'s Bee; but he's still hanging within 10 points of DookiBee. I imagine it's possible to over-optimize for [[Ender]]'s and [[SandboxDT]]'s guns at the expense of others - almost like settling in a local minima. Regardless, both Dooki versions give Chalk a beating. Good work. --[[User:Corbos|Corbos]]
  
Yes, actually, I think that's the case. I don't think it's actually optimized for specific tanks, but I think his movement is probably optimized to work well against a good gun, while I've probably ignored some simple pitfalls that crop up against lesser guns. The reason I don't think it's tank-specific is that I've also been using CassiusClay and Shadow to benchmark my movement lately. With a win/loss score of 380/26, I think a lot of rating points lie in beating down on those lesser ranked tanks instead of just winning against them. -- [[Voidious]]
+
Yes, actually, I think that's the case. I don't think it's actually optimized for specific tanks, but I think his movement is probably optimized to work well against a good gun, while I've probably ignored some simple pitfalls that crop up against lesser guns. The reason I don't think it's tank-specific is that I've also been using CassiusClay and Shadow to benchmark my movement lately. With a win/loss score of 380/26, I think a lot of rating points lie in beating down on those lesser ranked tanks instead of just winning against them. -- [[User:Voidious|Voidious]]
  
<a name="crush"></a>There are a lot of points to gain when focussing on the 'simple targetters'. Look at GrubbmGrb, it looses to more than 100 bots, but it crushes approximately 130 bots with 90+%, resulting in rank 50. Just compare it with Dookious, and you'll see what I mean.  -- [[GrubbmGait]]
+
<a name="crush"></a>There are a lot of points to gain when focussing on the 'simple targetters'. Look at GrubbmGrb, it looses to more than 100 bots, but it crushes approximately 130 bots with 90+%, resulting in rank 50. Just compare it with Dookious, and you'll see what I mean.  -- [[User:GrubbmGait|GrubbmGait]]
  
Well, the day after releasing v0.61, I found a major problem that was holding me back against lesser tanks: I was curve flattening no matter what. I made that a dynamic decision based on if Dookious has been hit X amount of times per round, and I also added a 2nd anti-surfer gun. I was going to wait a week to release it, anyway, but everything was stable and so many others have been re-releasing often, I decided to just post the new version last night before bed. The rating jumped 45 points! I'm very pleased. And the 49.6% against Ascendant is almost more exciting. :) -- [[Voidious]]
+
Well, the day after releasing v0.61, I found a major problem that was holding me back against lesser tanks: I was curve flattening no matter what. I made that a dynamic decision based on if Dookious has been hit X amount of times per round, and I also added a 2nd anti-surfer gun. I was going to wait a week to release it, anyway, but everything was stable and so many others have been re-releasing often, I decided to just post the new version last night before bed. The rating jumped 45 points! I'm very pleased. And the 49.6% against Ascendant is almost more exciting. :) -- [[User:Voidious|Voidious]]
  
Congrats on 6.11. Looks like you got over the MC issues. It may take me a while; but I hope to provide some improvement-pressure soon. Cheers. --[[Corbos]]
+
Congrats on 6.11. Looks like you got over the MC issues. It may take me a while; but I hope to provide some improvement-pressure soon. Cheers. --[[User:Corbos|Corbos]]
  
Hopefully I'm not speaking too soon (only ~100 battles), but welcome to the 1900 club! --[[wcsv]]
+
Hopefully I'm not speaking too soon (only ~100 battles), but welcome to the 1900 club! --[[User:Wcsv|wcsv]]
  
Hey, thanks man! Glad to be here, at least for the moment ;) I was a little nervous about this release, as I reworked my guns to a very large degree, but it's looking pretty good so far. -- [[Voidious]]
+
Hey, thanks man! Glad to be here, at least for the moment ;) I was a little nervous about this release, as I reworked my guns to a very large degree, but it's looking pretty good so far. -- [[User:Voidious|Voidious]]
  
Woah! Great job, man! You're so close! (rating ~1995 w/ 674 battles) Don't think for a second that I won't be catching up though! --[[wcsv]]
+
Woah! Great job, man! You're so close! (rating ~1995 w/ 674 battles) Don't think for a second that I won't be catching up though! --[[User:Wcsv|wcsv]]
  
You really know how to propel yourself up in that thin air, [[The2000Club]] is just one tweak away! -- [[GrubbmGait]]
+
You really know how to propel yourself up in that thin air, [[The2000Club]] is just one tweak away! -- [[User:GrubbmGait|GrubbmGait]]
  
Thanks, guys! And [[wcsv]], I'd expect nothing less :) -- [[Voidious]]
+
Thanks, guys! And [[User:Wcsv|wcsv]], I'd expect nothing less :) -- [[User:Voidious|Voidious]]
  
Ah, tension! 2004 with 422 battles faught. This could be the day you enter that club! My fingers are crossed hard I tell ya! -- [[PEZ]]
+
Ah, tension! 2004 with 422 battles faught. This could be the day you enter that club! My fingers are crossed hard I tell ya! -- [[User:PEZ|PEZ]]
  
I know, man, I'm watchin' it carefully! :) It might be a close one! Is 500 battles still fair, since there were probably less tanks in the Rumble back then? -- [[Voidious]]
+
I know, man, I'm watchin' it carefully! :) It might be a close one! Is 500 battles still fair, since there were probably less tanks in the Rumble back then? -- [[User:Voidious|Voidious]]
  
Argh, dipped just below 2K just before hitting 500 battles! Still over 100 bots to face, though, so we'll see what happens. *Sigh*... -- [[Voidious]]
+
Argh, dipped just below 2K just before hitting 500 battles! Still over 100 bots to face, though, so we'll see what happens. *Sigh*... -- [[User:Voidious|Voidious]]
  
Don't panic. I've seen my bots change rating with as much as 15 points '''after''' they've reached 700 battles counted. -- [[PEZ]]
+
Don't panic. I've seen my bots change rating with as much as 15 points '''after''' they've reached 700 battles counted. -- [[User:PEZ|PEZ]]
  
Wow. That's good to hear, thanks for telling me that :) Still, I should be happy with 1995 rating, I've just kinda got my hopes up at the moment. -- [[Voidious]]
+
Wow. That's good to hear, thanks for telling me that :) Still, I should be happy with 1995 rating, I've just kinda got my hopes up at the moment. -- [[User:Voidious|Voidious]]
  
I know all about that. Those times when CC has reached 2100+ after like 200 battles and I almost take my #1 ranking to the bank even though deep inside I know how wrong that is.... But for me hope is very much at the core of my being so it is as it should be I guess. =) -- [[PEZ]]
+
I know all about that. Those times when CC has reached 2100+ after like 200 battles and I almost take my #1 ranking to the bank even though deep inside I know how wrong that is.... But for me hope is very much at the core of my being so it is as it should be I guess. =) -- [[User:PEZ|PEZ]]
  
Well, I'm revising my plan... I'll take a break from Dookious once he's reached 2K :) Back to work! -- [[Voidious]]
+
Well, I'm revising my plan... I'll take a break from Dookious once he's reached 2K :) Back to work! -- [[User:Voidious|Voidious]]
  
Congratulations! You made it to The2000Club! -- [[GrubbmGait]]
+
Congratulations! You made it to The2000Club! -- [[User:GrubbmGait|GrubbmGait]]
|12 | voidious.Dookious 0.72 |2000.17| details| graph| 1016| 28-1-2006:14:11|  
+
{| border="1"
 +
|12
 +
|voidious.Dookious 0.72
 +
|2000.17
 +
|details
 +
|graph
 +
|1016
 +
|28-1-2006:14:11
 +
|
 +
|}
  
Thanks, Grubb! Wow, we must have posted at like the exact same moment - spooky! I was worried it might drop below 2K after that, but it's actually gone up a couple more points. I'm very happy :) -- [[Voidious]]
+
Thanks, Grubb! Wow, we must have posted at like the exact same moment - spooky! I was worried it might drop below 2K after that, but it's actually gone up a couple more points. I'm very happy :) -- [[User:Voidious|Voidious]]
  
Ok, so 0.75b dropped a few points from 0.72, but I'm not too worried about that. I sort of let things get messy in my quest for 2K, and I eliminated a ton of "excess fat" from the gun in this version, as well as improved some aspects of it. I think the FastLearning score went up a bit, too, though I never ran a full 15 seasons of it... -- [[Voidious]]
+
Ok, so 0.75b dropped a few points from 0.72, but I'm not too worried about that. I sort of let things get messy in my quest for 2K, and I eliminated a ton of "excess fat" from the gun in this version, as well as improved some aspects of it. I think the FastLearning score went up a bit, too, though I never ran a full 15 seasons of it... -- [[User:Voidious|Voidious]]
  
Version 0.76 is at 2,007 after 1,000+ matches, which I am very happy with. I expected this version to rate about 2,000 or possibly as low as 1,995, and to act as a benchmark for my continuing gun work. So 2,007 is quite a pleasant surprise! And it beats [[Shadow]]! :) Now if I could just get another match versus [[RamRod]], man... What an unlucky match... -- [[Voidious]]
+
Version 0.76 is at 2,007 after 1,000+ matches, which I am very happy with. I expected this version to rate about 2,000 or possibly as low as 1,995, and to act as a benchmark for my continuing gun work. So 2,007 is quite a pleasant surprise! And it beats [[Shadow]]! :) Now if I could just get another match versus [[RamRod]], man... What an unlucky match... -- [[User:Voidious|Voidious]]
  
Tonight, I realized that what I thought was a semi-effective and much more CPU-efficient way of copying PEZ's style of segmenting enemy position was quite flawed. I've been doing it that way for a while. So I just changed the code to do it exactly how he does it in CassiusClay, threw in some reasonable segments, and ran another (11th in this sitting) 500 rounds vs Cigaret TC. I got 83.66%, a new high for Dookious! Me so happy! I am going to resist making the change in his movement for now, but hopefully it will help there, too, in my next movement-change version. -- [[Voidious]]
+
Tonight, I realized that what I thought was a semi-effective and much more CPU-efficient way of copying PEZ's style of segmenting enemy position was quite flawed. I've been doing it that way for a while. So I just changed the code to do it exactly how he does it in CassiusClay, threw in some reasonable segments, and ran another (11th in this sitting) 500 rounds vs Cigaret TC. I got 83.66%, a new high for Dookious! Me so happy! I am going to resist making the change in his movement for now, but hopefully it will help there, too, in my next movement-change version. -- [[User:Voidious|Voidious]]
  
By enemy position you mean wall proximity? Wall segmentation is really important. -- [[PEZ]]
+
By enemy position you mean wall proximity? Wall segmentation is really important. -- [[User:PEZ|PEZ]]
  
Yeah, that's what I mean. I thought I was doing a "quick and dirty" version of the CC code, but in fact I was doing a "quick and broken" version ;) -- [[Voidious]]
+
Yeah, that's what I mean. I thought I was doing a "quick and dirty" version of the CC code, but in fact I was doing a "quick and broken" version ;) -- [[User:Voidious|Voidious]]
  
It ''is'' a very crude approach. And I too spent some time trying to do it in a less brute way, but then I decided it was only run once (twice including reverse) every turn so it isn't really impacting performance. If it ain't broken, don't fix it. A very hard-to-live-by rule, but it's nontheless a good rule. =) Besides, when I saw [[Jamougha]] copied it verbatim I realized maybe it's not so easy rolling it differently. (Because if it was then J would have done it, being as smart as he is.) -- [[PEZ]]
+
It ''is'' a very crude approach. And I too spent some time trying to do it in a less brute way, but then I decided it was only run once (twice including reverse) every turn so it isn't really impacting performance. If it ain't broken, don't fix it. A very hard-to-live-by rule, but it's nontheless a good rule. =) Besides, when I saw [[User:Jamougha|Jamougha]] copied it verbatim I realized maybe it's not so easy rolling it differently. (Because if it was then J would have done it, being as smart as he is.) -- [[User:PEZ|PEZ]]
  
From versions 0.72 to 0.76, I greatly reduced the number of stat buffers; 0.76 had 2 significant stat buffers per gun. (It also has unsegmented and just lat-velocity, with very low weights, for quick learning.) Version 0.77 only had one (significant) in each, and still did quite well. Version 0.77 did better than 0.76 against about the same number of bots that it did worse against, but on average was about .4% score lower per bot. -- [[Voidious]]
+
From versions 0.72 to 0.76, I greatly reduced the number of stat buffers; 0.76 had 2 significant stat buffers per gun. (It also has unsegmented and just lat-velocity, with very low weights, for quick learning.) Version 0.77 only had one (significant) in each, and still did quite well. Version 0.77 did better than 0.76 against about the same number of bots that it did worse against, but on average was about .4% score lower per bot. -- [[User:Voidious|Voidious]]
  
That's funny. Two seems to be the magic number here. I have tried many times using one or three, but it doesn't work as well. A bit of a riddle that I have never quite figured out. And not for lack of trying. I don't like unanswered questions. I feel like some of the meaning of life must be to try find answers to the questions you raise in honest curiousity. =) -- [[PEZ]]
+
That's funny. Two seems to be the magic number here. I have tried many times using one or three, but it doesn't work as well. A bit of a riddle that I have never quite figured out. And not for lack of trying. I don't like unanswered questions. I feel like some of the meaning of life must be to try find answers to the questions you raise in honest curiousity. =) -- [[User:PEZ|PEZ]]
  
 
That is the way in which Pooh always raises questions, eh? =) I suspect with some seriously ugly code, you could make that function work with a formula for the intersection of a line and a circle. But you're right, you can cut it down to two calculations per tick (well, and another 2 for movement). I am currently doing it many more times, like 12-15 per tick (15 on non-virtual waves.. ugh!!), but I realized a clean way of cutting that down to 2 for the gun. (My GF/segmentation code is structured a bit differently than yours, so each segmentation set calculates its own indexes from the scans. So the wave hitting and the gun aiming are calculating them on the fly, and multiple times. But I will just store those ratios in the scans each tick in the next version.)
 
That is the way in which Pooh always raises questions, eh? =) I suspect with some seriously ugly code, you could make that function work with a formula for the intersection of a line and a circle. But you're right, you can cut it down to two calculations per tick (well, and another 2 for movement). I am currently doing it many more times, like 12-15 per tick (15 on non-virtual waves.. ugh!!), but I realized a clean way of cutting that down to 2 for the gun. (My GF/segmentation code is structured a bit differently than yours, so each segmentation set calculates its own indexes from the scans. So the wave hitting and the gun aiming are calculating them on the fly, and multiple times. But I will just store those ratios in the scans each tick in the next version.)
  
My computer seems to be refusing to run the RoboRumble client here... It hung during the night, and now it isn't even getting through a match. At first, I thought I'd turned Dookious into an ultra SlowBot (he is a bit slower now), but that's not the problem. I just re-copied my Robocode directory, grabbed the .bat files and roborumble.txt from the old RR directory, and tried again; still seems to be hanging. Grr! -- [[Voidious]]
+
My computer seems to be refusing to run the RoboRumble client here... It hung during the night, and now it isn't even getting through a match. At first, I thought I'd turned Dookious into an ultra SlowBot (he is a bit slower now), but that's not the problem. I just re-copied my Robocode directory, grabbed the .bat files and roborumble.txt from the old RR directory, and tried again; still seems to be hanging. Grr! -- [[User:Voidious|Voidious]]
  
Is it hanging before battles start? If not, does it seem able to run any battles at all? If so, is it hanging on a specific bot? MY RR@H clientat work doesn't seem to like [[Freya]] for instance. -- [[PEZ]]
+
Is it hanging before battles start? If not, does it seem able to run any battles at all? If so, is it hanging on a specific bot? MY RR@H clientat work doesn't seem to like [[Freya]] for instance. -- [[User:PEZ|PEZ]]
  
It is hanging on the first battle, but not on a specific bot. Mine doesn't like [[Freya]], either, but with that one it will just crash and re-iterate and all is well. I'm trying a fresh re-install of Robocode now... -- [[Voidious]]
+
It is hanging on the first battle, but not on a specific bot. Mine doesn't like [[Freya]], either, but with that one it will just crash and re-iterate and all is well. I'm trying a fresh re-install of Robocode now... -- [[User:Voidious|Voidious]]
  
 
Just in cast you've overlooked it, I suggest bringing up the Robocode client against that set of robots to ensure that it is done with the caching and database rebuilding.  That's the most obvious reason for behind-the-scenes hanging of the roborumble client.  And my machines don't like Freya 50dl or somesuch.  Everytime it is #2 in a battle it crashes the iteration.  (Not a major deal.. the loop continues with a new set of iterations.) -- Martin
 
Just in cast you've overlooked it, I suggest bringing up the Robocode client against that set of robots to ensure that it is done with the caching and database rebuilding.  That's the most obvious reason for behind-the-scenes hanging of the roborumble client.  And my machines don't like Freya 50dl or somesuch.  Everytime it is #2 in a battle it crashes the iteration.  (Not a major deal.. the loop continues with a new set of iterations.) -- Martin
  
Well, the fresh install worked. -- [[Voidious]]
+
Well, the fresh install worked. -- [[User:Voidious|Voidious]]
  
Man, I look forward to speeding up that wall segmentation for the next version. Running Dooki's fast-learning here is painful! I am quite pleased to have cracked the 80% barrier against Cigaret, though. Too bad it came at the cost of every other non-surfer in TC2K6. Still, I figure that zeroing in on them again will be much easier than it's been to get my Cigaret score up to par. I'm really starting to take this Robocode lesson to heart: when everything you try fails to increase your tank's performance, you probably have a bug somewhere else. -- [[Voidious]]
+
Man, I look forward to speeding up that wall segmentation for the next version. Running Dooki's fast-learning here is painful! I am quite pleased to have cracked the 80% barrier against Cigaret, though. Too bad it came at the cost of every other non-surfer in TC2K6. Still, I figure that zeroing in on them again will be much easier than it's been to get my Cigaret score up to par. I'm really starting to take this Robocode lesson to heart: when everything you try fails to increase your tank's performance, you probably have a bug somewhere else. -- [[User:Voidious|Voidious]]
  
I don't know how many people use Dookious in any kind of testing, but I optimized the new wall segmentation quite a bit, and posted [http://www.dijitari.com/void/robocode/voidious.Dookious_0.775c.jar Dookious 0.775c]. The gun is 2-3 times faster, I think, but I'm pretty sure it's 100% equivalent in function to 0.775. -- [[Voidious]]
+
I don't know how many people use Dookious in any kind of testing, but I optimized the new wall segmentation quite a bit, and posted [http://www.dijitari.com/void/robocode/voidious.Dookious_0.775c.jar Dookious 0.775c]. The gun is 2-3 times faster, I think, but I'm pretty sure it's 100% equivalent in function to 0.775. -- [[User:Voidious|Voidious]]
  
I think I'll make the next version a movement update, as the movement is still using the mostly-broken and totally inferior wall distance segmentation. The tabulated TC scores on the [[/DookiSaber|DookiSaber]] page make me feel like I'm going around in circles with the gun, but I trimmed down the stat arrays a lot after 0.72, and the rating of 0.78 is 7 points higher than 0.72 (with no movement changes). Still, I'm somewhat unsatisfied with my gun progress so far, but it's coming along. -- [[Voidious]]
+
I think I'll make the next version a movement update, as the movement is still using the mostly-broken and totally inferior wall distance segmentation. The tabulated TC scores on the [[Dookious/DookiSaber|DookiSaber]] page make me feel like I'm going around in circles with the gun, but I trimmed down the stat arrays a lot after 0.72, and the rating of 0.78 is 7 points higher than 0.72 (with no movement changes). Still, I'm somewhat unsatisfied with my gun progress so far, but it's coming along. -- [[User:Voidious|Voidious]]
  
Hmm... Dookious 0.79 lost 4 rating points, but the specialization index went from 60+ in every version I can remember to 43 in 0.79. I guess that's good; maybe it means future updates will be more likely to affect all my scores the same instead of creating more ProblemBots? I'm really not sure what this means for my development, actually, but it seems like it can't be bad. =) -- [[Voidious]]
+
Hmm... Dookious 0.79 lost 4 rating points, but the specialization index went from 60+ in every version I can remember to 43 in 0.79. I guess that's good; maybe it means future updates will be more likely to affect all my scores the same instead of creating more ProblemBots? I'm really not sure what this means for my development, actually, but it seems like it can't be bad. =) -- [[User:Voidious|Voidious]]
  
I've been toying with segmentations and distancing and whatnot with very little change in Dookious's performance. So I realized there had to be more flaws in the code, and I started checking over my WaveSurfing code again. I'd been treating a wave intercept as a single point in time when the wave would intercept my tank on the next tick; in reality, a power 3 bullet could conceivably hit you in 4-5 different ticks (1, 12, 23, 34, and even 45 if you're on a diagonal). So I made a quick code change... While I've been happy holding [[Barracuda]] to around 100 every match, I just held him to 35 or less in each of 3 matches! Woohoo! Ok, just had to let that out =) Back to work... -- [[Voidious]]
+
I've been toying with segmentations and distancing and whatnot with very little change in Dookious's performance. So I realized there had to be more flaws in the code, and I started checking over my WaveSurfing code again. I'd been treating a wave intercept as a single point in time when the wave would intercept my tank on the next tick; in reality, a power 3 bullet could conceivably hit you in 4-5 different ticks (1, 12, 23, 34, and even 45 if you're on a diagonal). So I made a quick code change... While I've been happy holding [[Barracuda]] to around 100 every match, I just held him to 35 or less in each of 3 matches! Woohoo! Ok, just had to let that out =) Back to work... -- [[User:Voidious|Voidious]]
  
 
My latest bearing offset gun revision started recording angle ranges for every tick that the wave's edge passed through the target, expiring the wave only after it has completely passed.  I don't really use that information in my wave surfing yet, but since I can now use my targeting systems against myself it should be an easy transition when I finally make a wave surfing movement that is based on statistics rather than just random angle selections. -- Martin
 
My latest bearing offset gun revision started recording angle ranges for every tick that the wave's edge passed through the target, expiring the wave only after it has completely passed.  I don't really use that information in my wave surfing yet, but since I can now use my targeting systems against myself it should be an easy transition when I finally make a wave surfing movement that is based on statistics rather than just random angle selections. -- Martin
  
.791 looks pretty stable around 2030; Congrats on the jump to the top ten! I've got midterm exams this week and next, so no robocode for me :( --[[wcsv]]
+
.791 looks pretty stable around 2030; Congrats on the jump to the top ten! I've got midterm exams this week and next, so no robocode for me :( --[[User:Wcsv|wcsv]]
  
Yeah! Congrats! Where you think you found the 30 points. -- [[PEZ]]
+
Yeah! Congrats! Where you think you found the 30 points. -- [[User:PEZ|PEZ]]
  
Very impressive, congrats! -- [[ABC]]
+
Very impressive, congrats! -- [[User:ABC|ABC]]
  
Thanks guys! @PEZ: It came from fixing a flaw in my WaveSurfing, unless I stumbled across some magical set of segmentations, which I doubt. Basically, I previously considered that a wave would intercept me at ((BOT_WIDTH / 2) + BULLET_VELOCITY), because the next tick (as I understand it) the bullet will advance by its velocity and then check for collisions. However, any wave past that point I would ignore, while I should surf it until it's a full bot width past the intercept point. Yay! =) -- [[Voidious]]
+
Thanks guys! @PEZ: It came from fixing a flaw in my WaveSurfing, unless I stumbled across some magical set of segmentations, which I doubt. Basically, I previously considered that a wave would intercept me at ((BOT_WIDTH / 2) + BULLET_VELOCITY), because the next tick (as I understand it) the bullet will advance by its velocity and then check for collisions. However, any wave past that point I would ignore, while I should surf it until it's a full bot width past the intercept point. Yay! =) -- [[User:Voidious|Voidious]]
  
Nice work! What's next? -- [[Corbos]]
+
Nice work! What's next? -- [[User:Corbos|Corbos]]
  
 
Next would be contriving a targeting system that beats wave surfing.  And after that, a movement that defies that targeting system.  It's the Circle of Robocode. -- Martin
 
Next would be contriving a targeting system that beats wave surfing.  And after that, a movement that defies that targeting system.  It's the Circle of Robocode. -- Martin
  
Thanks, Corbos. An obvious choice would be to work on my gun against non-surfers, as it's still significantly worse than the top 5 in that respect. I'm almost afraid to touch the movement for now, and I'm almost convinced that there are, finally, no more flaws in the WaveSurfing, even if some parts could be a little more optimal (distancing, weighting of non-closest waves, etc). Or I may take another short break from Dookious, as I did some initial work on a team a couple weeks ago, and that was just starting to get interesting. (They would use the [[Shaakious]] gun, but I'd lighten it to be not so horribly slow.) -- [[Voidious]]
+
Thanks, Corbos. An obvious choice would be to work on my gun against non-surfers, as it's still significantly worse than the top 5 in that respect. I'm almost afraid to touch the movement for now, and I'm almost convinced that there are, finally, no more flaws in the WaveSurfing, even if some parts could be a little more optimal (distancing, weighting of non-closest waves, etc). Or I may take another short break from Dookious, as I did some initial work on a team a couple weeks ago, and that was just starting to get interesting. (They would use the [[Shaakious]] gun, but I'd lighten it to be not so horribly slow.) -- [[User:Voidious|Voidious]]
  
 
Maybe it's time to just turn off that AntiSurfer gun:
 
Maybe it's time to just turn off that AntiSurfer gun:
  
| Name | Author | Type | BFly | Cig | DM | FM | GRB | RMB | '''Score'''
+
{| border="1"
| [[Dookious]] 0.791* | [[Voidious]] | GF | 99.62 | 85.29 | 93.72 | 90.84 | 88.73 | 91.79 | '''91.66'''
+
|Name
 +
|Author
 +
|Type
 +
|BFly
 +
|Cig
 +
|DM
 +
|FM
 +
|GRB
 +
|RMB
 +
|'''Score'''
 +
|-
 +
|[[Dookious]] 0.791*
 +
|[[User:Voidious|Voidious]]
 +
|GF
 +
|99.62
 +
|85.29
 +
|93.72
 +
|90.84
 +
|88.73
 +
|91.79
 +
|'''91.66'''
 +
|}
  
That's just with the general purpose gun, compared to 90.01 with the VG setup against this group. I guess I need to stick closer to the rules of EmpiricResearch in my gun work... *sigh* -- [[Voidious]]
+
That's just with the general purpose gun, compared to 90.01 with the VG setup against this group. I guess I need to stick closer to the rules of EmpiricResearch in my gun work... *sigh* -- [[User:Voidious|Voidious]]
  
I lose more than that. It's a classic trade-off; Do you want that PL crown or not? =) -- [[PEZ]]
+
I lose more than that. It's a classic trade-off; Do you want that PL crown or not? =) -- [[User:PEZ|PEZ]]
  
That's not really a decision I've given much thought to just yet, I guess =) -- [[Voidious]]
+
That's not really a decision I've given much thought to just yet, I guess =) -- [[User:Voidious|Voidious]]
  
I have been the proud king of the PL and I can tell you it is sweet. I am still PL king in mini-land. Even though the current tweak of Pugilist seems to not hold that crown in as firm a manner as the other tweak. I will fix that. "Undefeated" is just such a great thing to be able to say about a bot of your own. -- [[PEZ]]
+
I have been the proud king of the PL and I can tell you it is sweet. I am still PL king in mini-land. Even though the current tweak of Pugilist seems to not hold that crown in as firm a manner as the other tweak. I will fix that. "Undefeated" is just such a great thing to be able to say about a bot of your own. -- [[User:PEZ|PEZ]]
  
I do have a lot of respect for the PL crown. I'm just not at the point of sacrificing rating for PL points just yet. I have thought before, when considering [[Shadow]]'s undefeatedness, that if I had an undefeated tank in 1v1, you'd have a lot of trouble convincing me it wasn't "the best tank" no matter what the rating was. -- [[Voidious]]
+
I do have a lot of respect for the PL crown. I'm just not at the point of sacrificing rating for PL points just yet. I have thought before, when considering [[Shadow]]'s undefeatedness, that if I had an undefeated tank in 1v1, you'd have a lot of trouble convincing me it wasn't "the best tank" no matter what the rating was. -- [[User:Voidious|Voidious]]
  
Hey, congrats on having the top American bot in the rankings now. You've already had that title in the PL for a few versions, I believe. -- [[Alcatraz]]
+
Hey, congrats on having the top American bot in the rankings now. You've already had that title in the PL for a few versions, I believe. -- [[User:Alcatraz|Alcatraz]]
  
Hey, thanks man! (Not by much...) Any chance of you updating Cyanide any time soon? In case you didn't notice, it's one of the reference bots for the [[TargetingChallenge2K6|new targeting challenge]]. -- [[Voidious]]
+
Hey, thanks man! (Not by much...) Any chance of you updating Cyanide any time soon? In case you didn't notice, it's one of the reference bots for the [[TargetingChallenge2K6|new targeting challenge]]. -- [[User:Voidious|Voidious]]
  
I've actually been slowly working on a gun for a new bot, and I have a few ideas for improving my wave surfing. But mostly I don't have enough time to do this, and I finally understand how understand how other busy robocoders feel. Robocoding during high school was real easy, but yeah, nice work with Dookious. -- [[Alcatraz]]  
+
I've actually been slowly working on a gun for a new bot, and I have a few ideas for improving my wave surfing. But mostly I don't have enough time to do this, and I finally understand how understand how other busy robocoders feel. Robocoding during high school was real easy, but yeah, nice work with Dookious. -- [[User:Alcatraz|Alcatraz]]
  
Seeing as my "more elegant" VirtualGuns system seems to pale in (rating) comparison to the simple crippling of the AntiSurfer gun's VG rating, I'm going to make the next version of Dookious be with my best gun (0.80), and no AntiSurfer gun (no VirtualGuns). If that gets a higher rating than 2032 (where 0.80 ended up), I'll just forget about the WaveSurfers and focus on rating for a while before returning some focus to PremierLeague rankings. -- [[Voidious]]
+
Seeing as my "more elegant" VirtualGuns system seems to pale in (rating) comparison to the simple crippling of the AntiSurfer gun's VG rating, I'm going to make the next version of Dookious be with my best gun (0.80), and no AntiSurfer gun (no VirtualGuns). If that gets a higher rating than 2032 (where 0.80 ended up), I'll just forget about the WaveSurfers and focus on rating for a while before returning some focus to PremierLeague rankings. -- [[User:Voidious|Voidious]]
  
Ok, Dookious 0.815 is what I said above: Dookious 0.80 with the AntiSurfer gun disabled. The resulting rating will largely dictate how my future gun work will go... I've just been too afraid to disable that AntiSurfer gun until now, but at this point, I have to know what will happen =) -- [[Voidious]]
+
Ok, Dookious 0.815 is what I said above: Dookious 0.80 with the AntiSurfer gun disabled. The resulting rating will largely dictate how my future gun work will go... I've just been too afraid to disable that AntiSurfer gun until now, but at this point, I have to know what will happen =) -- [[User:Voidious|Voidious]]
  
 
Can anyone tell me, or even give me a clue, why DookiBee is not working in the RoboRumble client? It works in the Robocode launched from that same directory, and I even tried Java 1.5 with no luck. After that, I deleted all the CC .class files and recompiled it myself, still no luck. It loses 350-0 every time. Any ideas? Is there any error log that I can check? Here's the file:
 
Can anyone tell me, or even give me a clue, why DookiBee is not working in the RoboRumble client? It works in the Robocode launched from that same directory, and I even tried Java 1.5 with no luck. After that, I deleted all the CC .class files and recompiled it myself, still no luck. It loses 350-0 every time. Any ideas? Is there any error log that I can check? Here's the file:
Line 173: Line 203:
 
http://www.dijitari.com/void/robocode/voidious.test.DookiBee_0.82b.jar
 
http://www.dijitari.com/void/robocode/voidious.test.DookiBee_0.82b.jar
  
-- [[Voidious]]
+
-- [[User:Voidious|Voidious]]
  
 
The jar works on my client as well, but I wouldn't be able to test the rumble without it being listed. -- Martin
 
The jar works on my client as well, but I wouldn't be able to test the rumble without it being listed. -- Martin
  
Ok, thanks to Martin, I know this is just a problem appearing in my RoboRumble client. (It works fine in his RR client.) -- [[Voidious]]
+
Ok, thanks to Martin, I know this is just a problem appearing in my RoboRumble client. (It works fine in his RR client.) -- [[User:Voidious|Voidious]]
  
No problems in my client also (v1.0.7Kawigi, jre 1.5). Maybe clearing the roborumble/temp directory and/or the .robotcache may help.  -- [[GrubbmGait]]
+
No problems in my client also (v1.0.7Kawigi, jre 1.5). Maybe clearing the roborumble/temp directory and/or the .robotcache may help.  -- [[User:GrubbmGait|GrubbmGait]]
  
I tried clearing the cache/databases, tried the temp directory, neither of which solved it. I even tried loading up an older RR directory, clearing the cache/database and rebuilding it, and that one had the same problem. I'm quite stumped here. If DookiBee is getting in the way of anything more important, feel free to remove it temporarily, as it is just a test and I'm not able run the client right now... -- [[Voidious]]
+
I tried clearing the cache/databases, tried the temp directory, neither of which solved it. I even tried loading up an older RR directory, clearing the cache/database and rebuilding it, and that one had the same problem. I'm quite stumped here. If DookiBee is getting in the way of anything more important, feel free to remove it temporarily, as it is just a test and I'm not able run the client right now... -- [[User:Voidious|Voidious]]
  
The only thing I have to go on is that DookiBee says "Couldn't read vgstats: null" every match, which is from catching the exception when trying to read in Bee's data file. But it successfully writes it each match, and that error doesn't raise any flags in the regular Robocode client. Oh well... -- [[Voidious]]
+
The only thing I have to go on is that DookiBee says "Couldn't read vgstats: null" every match, which is from catching the exception when trying to read in Bee's data file. But it successfully writes it each match, and that error doesn't raise any flags in the regular Robocode client. Oh well... -- [[User:Voidious|Voidious]]
  
Question: is ''<nowiki>-Dsun.io.useCanonCaches=false</nowiki>'' present in the roborumble.bat file?  -- [[GrubbmGait]]
+
Question: is ''<nowiki>-Dsun.io.useCanonCaches=false</nowiki>'' present in the roborumble.bat file?  -- [[User:GrubbmGait|GrubbmGait]]
  
 
Yep...
 
Yep...
Line 191: Line 221:
 
cd robots
 
cd robots
 
:run
 
:run
java -Dsun.io.useCanonCaches=false -Xmx256M -cp .;../robocode.jar;../codesize.jar;  
+
java -Dsun.io.useCanonCaches=false -Xmx256M -cp .;../robocode.jar;../codesize.jar;
 
     roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
 
     roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
 
goto run
 
goto run
 
</pre>
 
</pre>
-- [[Voidious]]
+
-- [[User:Voidious|Voidious]]
  
I haven't run a full MC2K6 since I made the final changes to the movement, but I finally got my WaveSurfingChallengeBotC score up to snuff. Several steps helped, so it's hard to say which was the most important - a flaw in my future prediction (probably #1), higher segmentation on distance and wall distance (I'd guess #2), and the distancing stays a lot closer when flattener is off than the previous MC-mode distancing. Last WSC scores were 99.59 / 98.79 / 96.91 ... I'll run a full MC2K6 soon. -- [[Voidious]]
+
I haven't run a full MC2K6 since I made the final changes to the movement, but I finally got my WaveSurfingChallengeBotC score up to snuff. Several steps helped, so it's hard to say which was the most important - a flaw in my future prediction (probably #1), higher segmentation on distance and wall distance (I'd guess #2), and the distancing stays a lot closer when flattener is off than the previous MC-mode distancing. Last WSC scores were 99.59 / 98.79 / 96.91 ... I'll run a full MC2K6 soon. -- [[User:Voidious|Voidious]]
  
Well, I'm pleased that 0.88 turned out the way it did. I fixed a small flaw in the gun, but I was still convinced that the rating would stay the same or drop... Anyway, I figure there's only a few (less than 5) points left in my gun for the moment, so I'll probably be working on movement until version 1.0. The comparison sheet vs CassiusClay and [[Ascendant]] is a bit intimidating. Rambling sidenote: Making Dookious track TC/MC scores and print them at the end of each round has made running those benchmarks a lot more bearable :) -- [[Voidious]]
+
Well, I'm pleased that 0.88 turned out the way it did. I fixed a small flaw in the gun, but I was still convinced that the rating would stay the same or drop... Anyway, I figure there's only a few (less than 5) points left in my gun for the moment, so I'll probably be working on movement until version 1.0. The comparison sheet vs CassiusClay and [[Ascendant]] is a bit intimidating. Rambling sidenote: Making Dookious track TC/MC scores and print them at the end of each round has made running those benchmarks a lot more bearable :) -- [[User:Voidious|Voidious]]
  
* Even if the 0.88 version of that tracking had a bug - doh! -- [[Voidious]]
+
* Even if the 0.88 version of that tracking had a bug - doh! -- [[User:Voidious|Voidious]]
  
Congratulations on your top3 placing, truly excelent work. Good luck in your #1 spot hunt! -- [[ABC]]
+
Congratulations on your top3 placing, truly excelent work. Good luck in your #1 spot hunt! -- [[User:ABC|ABC]]
  
Thanks a lot, man! =) (Of course, [[Shadow]] still wins over 500 rounds.) Maybe I'll make some time for [[Codious]] again, and just enjoy #3 for a bit before I risk changing anything... -- [[Voidious]]
+
Thanks a lot, man! =) (Of course, [[Shadow]] still wins over 500 rounds.) Maybe I'll make some time for [[Codious]] again, and just enjoy #3 for a bit before I risk changing anything... -- [[User:Voidious|Voidious]]
  
Nice, nice, nice. I see "tiny bugs" and "flaws" in the last few version history entries. Care to share details? When I get a chance to work, I've been trying to weave a flattener into [[Chalk]]. I can't tell if it will give me a significant improvement or if most of my problems are subtle bugs in the standard surfing. Good work and don't stop. --[[Corbos]]
+
Nice, nice, nice. I see "tiny bugs" and "flaws" in the last few version history entries. Care to share details? When I get a chance to work, I've been trying to weave a flattener into [[Chalk]]. I can't tell if it will give me a significant improvement or if most of my problems are subtle bugs in the standard surfing. Good work and don't stop. --[[User:Corbos|Corbos]]
  
 
The last version was two things: First, Dookious surfs a wave until it's (half_a_bot_width - bullet_velocity) past him, since the next tick it advances and then checks for collisions; it was using the last bullet's velocity, but now it's using the velocity from that specific wave, as it should. Second, there was a flaw in the prediction of the "stop" movement prediction, where it wasn't predicting the distance control (just due to a stupid coding error). The gun flaws concerned the exact point at which I mark a wave as "hitting" the enemy, and which tick I use for the GF0 angle and segmentation data.
 
The last version was two things: First, Dookious surfs a wave until it's (half_a_bot_width - bullet_velocity) past him, since the next tick it advances and then checks for collisions; it was using the last bullet's velocity, but now it's using the velocity from that specific wave, as it should. Second, there was a flaw in the prediction of the "stop" movement prediction, where it wasn't predicting the distance control (just due to a stupid coding error). The gun flaws concerned the exact point at which I mark a wave as "hitting" the enemy, and which tick I use for the GF0 angle and segmentation data.
  
In my experience, the curve flattener can help significantly against the very best guns, but it can also very much hurt your high scores against lesser tanks if you enable it against one of them. (Dookious is very careful about enabling the curve flattening.) Anyway, I look forward to seeing some updates to [[Chalk]]; I may get around to perusing its code sometime soon, as I've meant to for a while! -- [[Voidious]]
+
In my experience, the curve flattener can help significantly against the very best guns, but it can also very much hurt your high scores against lesser tanks if you enable it against one of them. (Dookious is very careful about enabling the curve flattening.) Anyway, I look forward to seeing some updates to [[Chalk]]; I may get around to perusing its code sometime soon, as I've meant to for a while! -- [[User:Voidious|Voidious]]
  
Well, I'm not at all surprised that the rating is about the same in 0.92, I'm just glad it didn't go down :) Hopefully I can earn some points with the next version's movement changes. -- [[Voidious]]
+
Well, I'm not at all surprised that the rating is about the same in 0.92, I'm just glad it didn't go down :) Hopefully I can earn some points with the next version's movement changes. -- [[User:Voidious|Voidious]]
  
If that bug in 0.93 turns out to be of the PerformanceEnhancing variety, I'm going to be banging my head against the wall :) It was a sin-in-place-of-cos error, so a lot of the time the bot width was calculated as close to zero. I'm still unsure if how I'm doing it now is preferable to just using 18, but I think it is... and my [[WaveSurfingChallengeBotA|WSCBotA]] score is at an all-time high. -- [[Voidious]]
+
If that bug in 0.93 turns out to be of the PerformanceEnhancing variety, I'm going to be banging my head against the wall :) It was a sin-in-place-of-cos error, so a lot of the time the bot width was calculated as close to zero. I'm still unsure if how I'm doing it now is preferable to just using 18, but I think it is... and my [[WaveSurfingChallengeBotA|WSCBotA]] score is at an all-time high. -- [[User:Voidious|Voidious]]
  
Well, PerformanceEnhancingBugs stink (this is my first real experience with one), but it did lead me to figuring something out that I wouldn't have otherwise. I use RobocodeGL to line up my bullets with my code logic; but given a controlled experiment, I realized that the bullet is hitting the enemy 1 tick later than the graphic is overlapping the enemy tank, despite them lining up visually. Since a bullet's velocity is often pretty close to half a bot width, I'm pretty sure those bugs were offsetting each other. Let's see if I can get this working right... -- [[Voidious]]
+
Well, PerformanceEnhancingBugs stink (this is my first real experience with one), but it did lead me to figuring something out that I wouldn't have otherwise. I use RobocodeGL to line up my bullets with my code logic; but given a controlled experiment, I realized that the bullet is hitting the enemy 1 tick later than the graphic is overlapping the enemy tank, despite them lining up visually. Since a bullet's velocity is often pretty close to half a bot width, I'm pretty sure those bugs were offsetting each other. Let's see if I can get this working right... -- [[User:Voidious|Voidious]]
  
* Heh ... "right" being the way 0.93 worked, but coded in a way that is logical and correct ;) I think 0.945 is that, as it's ahead of 0.93 on a per-opponent basis so far. -- [[Voidious]]
+
* Heh ... "right" being the way 0.93 worked, but coded in a way that is logical and correct ;) I think 0.945 is that, as it's ahead of 0.93 on a per-opponent basis so far. -- [[User:Voidious|Voidious]]
  
Really nice work man! If you keep this up we might need to make a 2100 club soon! I havn't had time for anything but minor tweaks in a while, but hopefully this summer I'll be back in the game for real. Anyway, Keep it up! --[[wcsv]]
+
Really nice work man! If you keep this up we might need to make a 2100 club soon! I havn't had time for anything but minor tweaks in a while, but hopefully this summer I'll be back in the game for real. Anyway, Keep it up! --[[User:Wcsv|wcsv]]
  
Uh, i just noticed the progress Dookious made this week. Congratulations from me too (better late than never :-). It has become a very strong bot and a serious contender for the throne now. And it defeated [[Ascendant]] in the rumble... i'll investigate ;-) --[[mue]]
+
Uh, i just noticed the progress Dookious made this week. Congratulations from me too (better late than never :-). It has become a very strong bot and a serious contender for the throne now. And it defeated [[Ascendant]] in the rumble... i'll investigate ;-) --[[User:Mue|mue]]
  
Hehe, thanks [[Mue]]! I've been sort of waiting for you to re-post one of your better versions - this #1 spot is kind of uncomfortable when you know it belongs to someone else =) I should be posting a new version tonight, which I think will gain a few more points, but you never can be too sure... Best of luck in your defense of the throne! -- [[Voidious]]
+
Hehe, thanks [[User:Mue|Mue]]! I've been sort of waiting for you to re-post one of your better versions - this #1 spot is kind of uncomfortable when you know it belongs to someone else =) I should be posting a new version tonight, which I think will gain a few more points, but you never can be too sure... Best of luck in your defense of the throne! -- [[User:Voidious|Voidious]]
  
I still have every intention of contending for that throne, but I've found myself far more motivated to work on [[Komarious]] lately. Working on Dookious is like... I don't know what it's like, but it's a major pain in the butt. Spending hours trying to get 99% instead of 95% against some tanks while maintaining 99% instead of 95% against others - gah! [[Komarious]] is fresh and fun, it executes WAY faster than Dookious, and I'm just enjoying it a lot. (I must say, I'm really proud of that tank.) Plus, I've had a tough week of school - 3 exams, a project, and a heavy homework assignment. I will keep working on Dookious, but it's just not holding my attention the way I thought it would once I passed 2070... -- [[Voidious]]
+
I still have every intention of contending for that throne, but I've found myself far more motivated to work on [[Komarious]] lately. Working on Dookious is like... I don't know what it's like, but it's a major pain in the butt. Spending hours trying to get 99% instead of 95% against some tanks while maintaining 99% instead of 95% against others - gah! [[Komarious]] is fresh and fun, it executes WAY faster than Dookious, and I'm just enjoying it a lot. (I must say, I'm really proud of that tank.) Plus, I've had a tough week of school - 3 exams, a project, and a heavy homework assignment. I will keep working on Dookious, but it's just not holding my attention the way I thought it would once I passed 2070... -- [[User:Voidious|Voidious]]
  
I kinda understand you :-). On the one hand this probably makes [[Ascendant]] keeping the throne a bit longer, on the other hand im quite curious whether you'll find a way to raise the bar when i did not. I took an extended break from robocode in a similar situation, when it started to look more like work than fun to me and i did not find any way to improve my bot. Now i'm only occasionally looking into robocode. Somehow i enjoy experimenting much more this way, even though theres still not much progress here :-). So take your time, its rather unlikely i'll come up with something soon, that'll shift the throne away from Dookious. --[[mue]]
+
I kinda understand you :-). On the one hand this probably makes [[Ascendant]] keeping the throne a bit longer, on the other hand im quite curious whether you'll find a way to raise the bar when i did not. I took an extended break from robocode in a similar situation, when it started to look more like work than fun to me and i did not find any way to improve my bot. Now i'm only occasionally looking into robocode. Somehow i enjoy experimenting much more this way, even though theres still not much progress here :-). So take your time, its rather unlikely i'll come up with something soon, that'll shift the throne away from Dookious. --[[User:Mue|mue]]
  
Tell me about it, I've been working on the same bot for over 4 years now... sometimes you just need a break. ;) -- [[ABC]]
+
Tell me about it, I've been working on the same bot for over 4 years now... sometimes you just need a break. ;) -- [[User:ABC|ABC]]
  
I fully expect 0.96 to go down in rating, as is usually the case with the first version after a break for me, but maybe I'll get lucky. I am curious to see how the gun does in the RRGunChallenge, which I entered for the first time, too. -- [[Voidious]]
+
I fully expect 0.96 to go down in rating, as is usually the case with the first version after a break for me, but maybe I'll get lucky. I am curious to see how the gun does in the RRGunChallenge, which I entered for the first time, too. -- [[User:Voidious|Voidious]]
  
Ok, 0.962 gains about a point over 0.96, which is pretty much negligible - the weird thing is, it did much worse in comparison to 0.96 on the tanks it faced more than once. I guess what I'm doing for data saving isn't worth jack for the moment, so I'll be turning it off for a while... -- [[Voidious]]
+
Ok, 0.962 gains about a point over 0.96, which is pretty much negligible - the weird thing is, it did much worse in comparison to 0.96 on the tanks it faced more than once. I guess what I'm doing for data saving isn't worth jack for the moment, so I'll be turning it off for a while... -- [[User:Voidious|Voidious]]
 +
 
 +
[[Category:Archived Talk|Dookious/Archived Talk 20060413]]

Latest revision as of 04:50, 8 October 2009

Before I go and enter Dookious into the RoboRumble, I wouldn't mind hearing from a couple people on other computers that have successfully downloaded it and run it. I'm worried it might skip a ton of turns or simply have unforeseen problems on various other system configurations... If anyone has a moment to test it out, please let me know the results. (It does print to the console on a skipped turn.) Thanks! -- Voidious

My work uses WebSense which blocks the robocode repository (but not the wiki) and thus I cannot access your bot. I started hosting my bots on my personal site to avoid this as well as the occasional crash of the repository. But .. there's really no harm in submitting your bot. Changing the version number will start all new stats for it. The first bot I entered in the rumble was crashing due to the file i/o issue, so I had to disable the i/o and replace 3.0 with 3.0a and start over. No biggie. He still got his ass handed to him with a side of parsely. -- Martin Alan Pedersen

Oh, and my home machine is processing both the Roborumble and Meleerumble today while I'm at work, so if you enter your bot you'll see the first results in maybe 10-15 mintues. -- Martin Alan Pedersen

@Voidious I ran this bot without a problem on my winXP, 2.4 Ghz machine. It skipped a couple of turns per round, but that's not really a big deal. My bot Stampede2 skips about the same number. Dookious seems to be a fairly competitive duelist, you should enter it into the rumble. Maybe sometime soon I'll have a chance to get back to Robocode also.--wcsv

Ok... Thanks for testing it, wcsv, and thanks for the comments, Martin. I get a couple skipped turns per round locally, as well, but it's nothing I'm worried about. I just entered Dookious into the RoboRumble. I think seeing him get his butt kicked will inspire me to work on him more ;) By the way, Stampede 1.3 was one of my primary benchmarking bots for a while, I liked his movement style a lot when I first loaded him up. I think I'll add a list of bots I use(d) for testing to this page sometime... -- Voidious

Hey, that's a pretty darn good ranking for a first release. My first released bot, Stampede, did not do nearly that well. Congratulations! By the way, I'm glad that you deemed Stampede 1.3 a good enough bot to test against, I put a lot of time into that movement. --wcsv

'Hopefully cracking the 100 mark' seems like an understatement. You're close to 50! (or rating 1800 for that matter). It took me 9 months to give birth to a bot capable of that. -- GrubbmGait

Thanks, man! I wasn't sure where it would rank, but even my optimistic appraisals put him at more like 70 or 80. I'm pleasantly surprised, of course! :) It looks like GrubbmThree is among my biggest problem bots now... -- Voidious

and it always will be ;-) PEZ has the only two bots that can get 70% of the score against GrubbmThree. But what else do you expect from a rambot. -- GrubbmGait

Is there anyone here with a Mac that could test Dookious for me? I have tried him on both a 1 GHz eMac and a 1.5 GHz PowerBook here at work, both with 512 MB RAM, and he skips crazy amounts of turns on both. On my home machine (XP) and an XP machine at work, it's just a few per round; and even when it's as many as 10 per round on XP, it's still not detrimental. Dookious is no mini-bot, but he's certainly a lot faster than a lot of other bots in the RoboRumble... It even happens when minimized, which I mention because I have seen some references to Mac/Java graphical issues with Robocode. Any input is appreciated... -- Voidious

Sure, Voidious. I can test him, but I don't have access to my Mac again for a few days, so it could take me a little while to get back to you. -- Greywhind

I can run it on my 1.25 GHz PB in a window with no problems (only in a small percentage of all rounds it skips up to 4 turns), but when minimized it's insane. -- Jonathan

Ok, thanks for the info guys, I appreciate it. I haven't focused on CPU & skipped turn issues too much just yet, but I guess now is the time to start! -- Voidious

I believe I've mostly alleviated the skipped turn issues with the dev version of Dookious... Removing non-firing targeting waves (no change or better accuracy, anyway) and upping the angling increment in my iterative WallSmoothing were the key components to that. I've also disabled my VirtualBullets / VirtualGuns system, but I don't think that was really a major cause. -- Voidious

Wow, Dookious is currently beating PulsarMax, Phoenix, Shiva, Pugilist, and Ali head to head (woohoo!), but still losing to some bots ranked much lower. I blame the gun! :) I'm half-tempted to try a DookiBee version soon just to get a feel for how much of the gun's fault it really is... Still, a 20 points rating jump and 8 places on the ladder feels pretty good. -- Voidious

Congrats on pushing me back to rank #50. If you suspect your gun, you could make a DookiRRGC and enter it in the RRGunChallenge. Remember though that in the regions you entered now, movement is much more important than gunnery! -- GrubbmGait

Thanks, Grubbm. I think I'll try that once it's even *possible* that the gun is adequate, but at the moment I'm more just curious as to how bad it is. (That would also tell me how good my movement is.) -- Voidious

Congratulations on the move! Dookious is heading in the right direction. --Corbos

Thanks, dude! Congratulations yourself, Mr. soon-to-be-at-1900! ;) (Well, next version, I mean.) Maybe we'll re-awaken some dormant Robocoders as we keep moving up the rankings. (And wcsv is a bit ahead of us and active, as well.) -- Voidious

Chalk and Dookious are great bots guys! You'll pass me by soon if i'm not careful... wcsv

Surprising even myself, I took a moment to stop working on Dookious and write a complete description of his movement algorithm. -- Voidious

Updated the info for Dookious 0.61. Sorry about the e-mail, I often click that thing by accident! -- Voidious

I posted a version of Dookious that uses CassiusClay's Bee gun. I am feeling really good about Dookious's movement, and I really want to know how high he could rise in the rankings with a top-notch gun. Hopefully nobody minds the temporary double entry; I'll be running the RR@Home client from this machine for the next 16 hours or so. -- Voidious

Seems that you can squeeze 50 more points out of your gun (and 150 out of your movement!). As an active contributor running the RR@Home client I forgive you your double entry :) . Such temporary entries ( xxxBee and also xxxRRGC ) are no problem as long as you keep it tidy. -- GrubbmGait

Ok, thanks. :) I was getting a bit cocky about Dooki's movement based on my MovementChallenge scores, but it's nice to learn that there's still a lot of room for improvement there. Surprisingly, my own gun does a lot better vs many of the top tanks than Bee! That's nice to see, too. -- Voidious

Congratulations on 0.61. Do you think you're a victim of the MovementChallenge? Chalk's scores are far worse than Dookious and his gun pales in comparision to PEZ's Bee; but he's still hanging within 10 points of DookiBee. I imagine it's possible to over-optimize for Ender's and SandboxDT's guns at the expense of others - almost like settling in a local minima. Regardless, both Dooki versions give Chalk a beating. Good work. --Corbos

Yes, actually, I think that's the case. I don't think it's actually optimized for specific tanks, but I think his movement is probably optimized to work well against a good gun, while I've probably ignored some simple pitfalls that crop up against lesser guns. The reason I don't think it's tank-specific is that I've also been using CassiusClay and Shadow to benchmark my movement lately. With a win/loss score of 380/26, I think a lot of rating points lie in beating down on those lesser ranked tanks instead of just winning against them. -- Voidious

<a name="crush"></a>There are a lot of points to gain when focussing on the 'simple targetters'. Look at GrubbmGrb, it looses to more than 100 bots, but it crushes approximately 130 bots with 90+%, resulting in rank 50. Just compare it with Dookious, and you'll see what I mean. -- GrubbmGait

Well, the day after releasing v0.61, I found a major problem that was holding me back against lesser tanks: I was curve flattening no matter what. I made that a dynamic decision based on if Dookious has been hit X amount of times per round, and I also added a 2nd anti-surfer gun. I was going to wait a week to release it, anyway, but everything was stable and so many others have been re-releasing often, I decided to just post the new version last night before bed. The rating jumped 45 points! I'm very pleased. And the 49.6% against Ascendant is almost more exciting. :) -- Voidious

Congrats on 6.11. Looks like you got over the MC issues. It may take me a while; but I hope to provide some improvement-pressure soon. Cheers. --Corbos

Hopefully I'm not speaking too soon (only ~100 battles), but welcome to the 1900 club! --wcsv

Hey, thanks man! Glad to be here, at least for the moment ;) I was a little nervous about this release, as I reworked my guns to a very large degree, but it's looking pretty good so far. -- Voidious

Woah! Great job, man! You're so close! (rating ~1995 w/ 674 battles) Don't think for a second that I won't be catching up though! --wcsv

You really know how to propel yourself up in that thin air, The2000Club is just one tweak away! -- GrubbmGait

Thanks, guys! And wcsv, I'd expect nothing less :) -- Voidious

Ah, tension! 2004 with 422 battles faught. This could be the day you enter that club! My fingers are crossed hard I tell ya! -- PEZ

I know, man, I'm watchin' it carefully! :) It might be a close one! Is 500 battles still fair, since there were probably less tanks in the Rumble back then? -- Voidious

Argh, dipped just below 2K just before hitting 500 battles! Still over 100 bots to face, though, so we'll see what happens. *Sigh*... -- Voidious

Don't panic. I've seen my bots change rating with as much as 15 points after they've reached 700 battles counted. -- PEZ

Wow. That's good to hear, thanks for telling me that :) Still, I should be happy with 1995 rating, I've just kinda got my hopes up at the moment. -- Voidious

I know all about that. Those times when CC has reached 2100+ after like 200 battles and I almost take my #1 ranking to the bank even though deep inside I know how wrong that is.... But for me hope is very much at the core of my being so it is as it should be I guess. =) -- PEZ

Well, I'm revising my plan... I'll take a break from Dookious once he's reached 2K :) Back to work! -- Voidious

Congratulations! You made it to The2000Club! -- GrubbmGait

12 voidious.Dookious 0.72 2000.17 details graph 1016 28-1-2006:14:11

Thanks, Grubb! Wow, we must have posted at like the exact same moment - spooky! I was worried it might drop below 2K after that, but it's actually gone up a couple more points. I'm very happy :) -- Voidious

Ok, so 0.75b dropped a few points from 0.72, but I'm not too worried about that. I sort of let things get messy in my quest for 2K, and I eliminated a ton of "excess fat" from the gun in this version, as well as improved some aspects of it. I think the FastLearning score went up a bit, too, though I never ran a full 15 seasons of it... -- Voidious

Version 0.76 is at 2,007 after 1,000+ matches, which I am very happy with. I expected this version to rate about 2,000 or possibly as low as 1,995, and to act as a benchmark for my continuing gun work. So 2,007 is quite a pleasant surprise! And it beats Shadow! :) Now if I could just get another match versus RamRod, man... What an unlucky match... -- Voidious

Tonight, I realized that what I thought was a semi-effective and much more CPU-efficient way of copying PEZ's style of segmenting enemy position was quite flawed. I've been doing it that way for a while. So I just changed the code to do it exactly how he does it in CassiusClay, threw in some reasonable segments, and ran another (11th in this sitting) 500 rounds vs Cigaret TC. I got 83.66%, a new high for Dookious! Me so happy! I am going to resist making the change in his movement for now, but hopefully it will help there, too, in my next movement-change version. -- Voidious

By enemy position you mean wall proximity? Wall segmentation is really important. -- PEZ

Yeah, that's what I mean. I thought I was doing a "quick and dirty" version of the CC code, but in fact I was doing a "quick and broken" version ;) -- Voidious

It is a very crude approach. And I too spent some time trying to do it in a less brute way, but then I decided it was only run once (twice including reverse) every turn so it isn't really impacting performance. If it ain't broken, don't fix it. A very hard-to-live-by rule, but it's nontheless a good rule. =) Besides, when I saw Jamougha copied it verbatim I realized maybe it's not so easy rolling it differently. (Because if it was then J would have done it, being as smart as he is.) -- PEZ

From versions 0.72 to 0.76, I greatly reduced the number of stat buffers; 0.76 had 2 significant stat buffers per gun. (It also has unsegmented and just lat-velocity, with very low weights, for quick learning.) Version 0.77 only had one (significant) in each, and still did quite well. Version 0.77 did better than 0.76 against about the same number of bots that it did worse against, but on average was about .4% score lower per bot. -- Voidious

That's funny. Two seems to be the magic number here. I have tried many times using one or three, but it doesn't work as well. A bit of a riddle that I have never quite figured out. And not for lack of trying. I don't like unanswered questions. I feel like some of the meaning of life must be to try find answers to the questions you raise in honest curiousity. =) -- PEZ

That is the way in which Pooh always raises questions, eh? =) I suspect with some seriously ugly code, you could make that function work with a formula for the intersection of a line and a circle. But you're right, you can cut it down to two calculations per tick (well, and another 2 for movement). I am currently doing it many more times, like 12-15 per tick (15 on non-virtual waves.. ugh!!), but I realized a clean way of cutting that down to 2 for the gun. (My GF/segmentation code is structured a bit differently than yours, so each segmentation set calculates its own indexes from the scans. So the wave hitting and the gun aiming are calculating them on the fly, and multiple times. But I will just store those ratios in the scans each tick in the next version.)

My computer seems to be refusing to run the RoboRumble client here... It hung during the night, and now it isn't even getting through a match. At first, I thought I'd turned Dookious into an ultra SlowBot (he is a bit slower now), but that's not the problem. I just re-copied my Robocode directory, grabbed the .bat files and roborumble.txt from the old RR directory, and tried again; still seems to be hanging. Grr! -- Voidious

Is it hanging before battles start? If not, does it seem able to run any battles at all? If so, is it hanging on a specific bot? MY RR@H clientat work doesn't seem to like Freya for instance. -- PEZ

It is hanging on the first battle, but not on a specific bot. Mine doesn't like Freya, either, but with that one it will just crash and re-iterate and all is well. I'm trying a fresh re-install of Robocode now... -- Voidious

Just in cast you've overlooked it, I suggest bringing up the Robocode client against that set of robots to ensure that it is done with the caching and database rebuilding. That's the most obvious reason for behind-the-scenes hanging of the roborumble client. And my machines don't like Freya 50dl or somesuch. Everytime it is #2 in a battle it crashes the iteration. (Not a major deal.. the loop continues with a new set of iterations.) -- Martin

Well, the fresh install worked. -- Voidious

Man, I look forward to speeding up that wall segmentation for the next version. Running Dooki's fast-learning here is painful! I am quite pleased to have cracked the 80% barrier against Cigaret, though. Too bad it came at the cost of every other non-surfer in TC2K6. Still, I figure that zeroing in on them again will be much easier than it's been to get my Cigaret score up to par. I'm really starting to take this Robocode lesson to heart: when everything you try fails to increase your tank's performance, you probably have a bug somewhere else. -- Voidious

I don't know how many people use Dookious in any kind of testing, but I optimized the new wall segmentation quite a bit, and posted Dookious 0.775c. The gun is 2-3 times faster, I think, but I'm pretty sure it's 100% equivalent in function to 0.775. -- Voidious

I think I'll make the next version a movement update, as the movement is still using the mostly-broken and totally inferior wall distance segmentation. The tabulated TC scores on the DookiSaber page make me feel like I'm going around in circles with the gun, but I trimmed down the stat arrays a lot after 0.72, and the rating of 0.78 is 7 points higher than 0.72 (with no movement changes). Still, I'm somewhat unsatisfied with my gun progress so far, but it's coming along. -- Voidious

Hmm... Dookious 0.79 lost 4 rating points, but the specialization index went from 60+ in every version I can remember to 43 in 0.79. I guess that's good; maybe it means future updates will be more likely to affect all my scores the same instead of creating more ProblemBots? I'm really not sure what this means for my development, actually, but it seems like it can't be bad. =) -- Voidious

I've been toying with segmentations and distancing and whatnot with very little change in Dookious's performance. So I realized there had to be more flaws in the code, and I started checking over my WaveSurfing code again. I'd been treating a wave intercept as a single point in time when the wave would intercept my tank on the next tick; in reality, a power 3 bullet could conceivably hit you in 4-5 different ticks (1, 12, 23, 34, and even 45 if you're on a diagonal). So I made a quick code change... While I've been happy holding Barracuda to around 100 every match, I just held him to 35 or less in each of 3 matches! Woohoo! Ok, just had to let that out =) Back to work... -- Voidious

My latest bearing offset gun revision started recording angle ranges for every tick that the wave's edge passed through the target, expiring the wave only after it has completely passed. I don't really use that information in my wave surfing yet, but since I can now use my targeting systems against myself it should be an easy transition when I finally make a wave surfing movement that is based on statistics rather than just random angle selections. -- Martin

.791 looks pretty stable around 2030; Congrats on the jump to the top ten! I've got midterm exams this week and next, so no robocode for me :( --wcsv

Yeah! Congrats! Where you think you found the 30 points. -- PEZ

Very impressive, congrats! -- ABC

Thanks guys! @PEZ: It came from fixing a flaw in my WaveSurfing, unless I stumbled across some magical set of segmentations, which I doubt. Basically, I previously considered that a wave would intercept me at ((BOT_WIDTH / 2) + BULLET_VELOCITY), because the next tick (as I understand it) the bullet will advance by its velocity and then check for collisions. However, any wave past that point I would ignore, while I should surf it until it's a full bot width past the intercept point. Yay! =) -- Voidious

Nice work! What's next? -- Corbos

Next would be contriving a targeting system that beats wave surfing. And after that, a movement that defies that targeting system. It's the Circle of Robocode. -- Martin

Thanks, Corbos. An obvious choice would be to work on my gun against non-surfers, as it's still significantly worse than the top 5 in that respect. I'm almost afraid to touch the movement for now, and I'm almost convinced that there are, finally, no more flaws in the WaveSurfing, even if some parts could be a little more optimal (distancing, weighting of non-closest waves, etc). Or I may take another short break from Dookious, as I did some initial work on a team a couple weeks ago, and that was just starting to get interesting. (They would use the Shaakious gun, but I'd lighten it to be not so horribly slow.) -- Voidious

Maybe it's time to just turn off that AntiSurfer gun:

Name Author Type BFly Cig DM FM GRB RMB Score
Dookious 0.791* Voidious GF 99.62 85.29 93.72 90.84 88.73 91.79 91.66

That's just with the general purpose gun, compared to 90.01 with the VG setup against this group. I guess I need to stick closer to the rules of EmpiricResearch in my gun work... *sigh* -- Voidious

I lose more than that. It's a classic trade-off; Do you want that PL crown or not? =) -- PEZ

That's not really a decision I've given much thought to just yet, I guess =) -- Voidious

I have been the proud king of the PL and I can tell you it is sweet. I am still PL king in mini-land. Even though the current tweak of Pugilist seems to not hold that crown in as firm a manner as the other tweak. I will fix that. "Undefeated" is just such a great thing to be able to say about a bot of your own. -- PEZ

I do have a lot of respect for the PL crown. I'm just not at the point of sacrificing rating for PL points just yet. I have thought before, when considering Shadow's undefeatedness, that if I had an undefeated tank in 1v1, you'd have a lot of trouble convincing me it wasn't "the best tank" no matter what the rating was. -- Voidious

Hey, congrats on having the top American bot in the rankings now. You've already had that title in the PL for a few versions, I believe. -- Alcatraz

Hey, thanks man! (Not by much...) Any chance of you updating Cyanide any time soon? In case you didn't notice, it's one of the reference bots for the new targeting challenge. -- Voidious

I've actually been slowly working on a gun for a new bot, and I have a few ideas for improving my wave surfing. But mostly I don't have enough time to do this, and I finally understand how understand how other busy robocoders feel. Robocoding during high school was real easy, but yeah, nice work with Dookious. -- Alcatraz

Seeing as my "more elegant" VirtualGuns system seems to pale in (rating) comparison to the simple crippling of the AntiSurfer gun's VG rating, I'm going to make the next version of Dookious be with my best gun (0.80), and no AntiSurfer gun (no VirtualGuns). If that gets a higher rating than 2032 (where 0.80 ended up), I'll just forget about the WaveSurfers and focus on rating for a while before returning some focus to PremierLeague rankings. -- Voidious

Ok, Dookious 0.815 is what I said above: Dookious 0.80 with the AntiSurfer gun disabled. The resulting rating will largely dictate how my future gun work will go... I've just been too afraid to disable that AntiSurfer gun until now, but at this point, I have to know what will happen =) -- Voidious

Can anyone tell me, or even give me a clue, why DookiBee is not working in the RoboRumble client? It works in the Robocode launched from that same directory, and I even tried Java 1.5 with no luck. After that, I deleted all the CC .class files and recompiled it myself, still no luck. It loses 350-0 every time. Any ideas? Is there any error log that I can check? Here's the file:

http://www.dijitari.com/void/robocode/voidious.test.DookiBee_0.82b.jar

-- Voidious

The jar works on my client as well, but I wouldn't be able to test the rumble without it being listed. -- Martin

Ok, thanks to Martin, I know this is just a problem appearing in my RoboRumble client. (It works fine in his RR client.) -- Voidious

No problems in my client also (v1.0.7Kawigi, jre 1.5). Maybe clearing the roborumble/temp directory and/or the .robotcache may help. -- GrubbmGait

I tried clearing the cache/databases, tried the temp directory, neither of which solved it. I even tried loading up an older RR directory, clearing the cache/database and rebuilding it, and that one had the same problem. I'm quite stumped here. If DookiBee is getting in the way of anything more important, feel free to remove it temporarily, as it is just a test and I'm not able run the client right now... -- Voidious

The only thing I have to go on is that DookiBee says "Couldn't read vgstats: null" every match, which is from catching the exception when trying to read in Bee's data file. But it successfully writes it each match, and that error doesn't raise any flags in the regular Robocode client. Oh well... -- Voidious

Question: is -Dsun.io.useCanonCaches=false present in the roborumble.bat file? -- GrubbmGait

Yep...

cd robots
:run
java -Dsun.io.useCanonCaches=false -Xmx256M -cp .;../robocode.jar;../codesize.jar;
    roborumble.RoboRumbleAtHome ./roborumble/roborumble.txt
goto run

-- Voidious

I haven't run a full MC2K6 since I made the final changes to the movement, but I finally got my WaveSurfingChallengeBotC score up to snuff. Several steps helped, so it's hard to say which was the most important - a flaw in my future prediction (probably #1), higher segmentation on distance and wall distance (I'd guess #2), and the distancing stays a lot closer when flattener is off than the previous MC-mode distancing. Last WSC scores were 99.59 / 98.79 / 96.91 ... I'll run a full MC2K6 soon. -- Voidious

Well, I'm pleased that 0.88 turned out the way it did. I fixed a small flaw in the gun, but I was still convinced that the rating would stay the same or drop... Anyway, I figure there's only a few (less than 5) points left in my gun for the moment, so I'll probably be working on movement until version 1.0. The comparison sheet vs CassiusClay and Ascendant is a bit intimidating. Rambling sidenote: Making Dookious track TC/MC scores and print them at the end of each round has made running those benchmarks a lot more bearable :) -- Voidious

  • Even if the 0.88 version of that tracking had a bug - doh! -- Voidious

Congratulations on your top3 placing, truly excelent work. Good luck in your #1 spot hunt! -- ABC

Thanks a lot, man! =) (Of course, Shadow still wins over 500 rounds.) Maybe I'll make some time for Codious again, and just enjoy #3 for a bit before I risk changing anything... -- Voidious

Nice, nice, nice. I see "tiny bugs" and "flaws" in the last few version history entries. Care to share details? When I get a chance to work, I've been trying to weave a flattener into Chalk. I can't tell if it will give me a significant improvement or if most of my problems are subtle bugs in the standard surfing. Good work and don't stop. --Corbos

The last version was two things: First, Dookious surfs a wave until it's (half_a_bot_width - bullet_velocity) past him, since the next tick it advances and then checks for collisions; it was using the last bullet's velocity, but now it's using the velocity from that specific wave, as it should. Second, there was a flaw in the prediction of the "stop" movement prediction, where it wasn't predicting the distance control (just due to a stupid coding error). The gun flaws concerned the exact point at which I mark a wave as "hitting" the enemy, and which tick I use for the GF0 angle and segmentation data.

In my experience, the curve flattener can help significantly against the very best guns, but it can also very much hurt your high scores against lesser tanks if you enable it against one of them. (Dookious is very careful about enabling the curve flattening.) Anyway, I look forward to seeing some updates to Chalk; I may get around to perusing its code sometime soon, as I've meant to for a while! -- Voidious

Well, I'm not at all surprised that the rating is about the same in 0.92, I'm just glad it didn't go down :) Hopefully I can earn some points with the next version's movement changes. -- Voidious

If that bug in 0.93 turns out to be of the PerformanceEnhancing variety, I'm going to be banging my head against the wall :) It was a sin-in-place-of-cos error, so a lot of the time the bot width was calculated as close to zero. I'm still unsure if how I'm doing it now is preferable to just using 18, but I think it is... and my WSCBotA score is at an all-time high. -- Voidious

Well, PerformanceEnhancingBugs stink (this is my first real experience with one), but it did lead me to figuring something out that I wouldn't have otherwise. I use RobocodeGL to line up my bullets with my code logic; but given a controlled experiment, I realized that the bullet is hitting the enemy 1 tick later than the graphic is overlapping the enemy tank, despite them lining up visually. Since a bullet's velocity is often pretty close to half a bot width, I'm pretty sure those bugs were offsetting each other. Let's see if I can get this working right... -- Voidious

  • Heh ... "right" being the way 0.93 worked, but coded in a way that is logical and correct ;) I think 0.945 is that, as it's ahead of 0.93 on a per-opponent basis so far. -- Voidious

Really nice work man! If you keep this up we might need to make a 2100 club soon! I havn't had time for anything but minor tweaks in a while, but hopefully this summer I'll be back in the game for real. Anyway, Keep it up! --wcsv

Uh, i just noticed the progress Dookious made this week. Congratulations from me too (better late than never :-). It has become a very strong bot and a serious contender for the throne now. And it defeated Ascendant in the rumble... i'll investigate ;-) --mue

Hehe, thanks Mue! I've been sort of waiting for you to re-post one of your better versions - this #1 spot is kind of uncomfortable when you know it belongs to someone else =) I should be posting a new version tonight, which I think will gain a few more points, but you never can be too sure... Best of luck in your defense of the throne! -- Voidious

I still have every intention of contending for that throne, but I've found myself far more motivated to work on Komarious lately. Working on Dookious is like... I don't know what it's like, but it's a major pain in the butt. Spending hours trying to get 99% instead of 95% against some tanks while maintaining 99% instead of 95% against others - gah! Komarious is fresh and fun, it executes WAY faster than Dookious, and I'm just enjoying it a lot. (I must say, I'm really proud of that tank.) Plus, I've had a tough week of school - 3 exams, a project, and a heavy homework assignment. I will keep working on Dookious, but it's just not holding my attention the way I thought it would once I passed 2070... -- Voidious

I kinda understand you :-). On the one hand this probably makes Ascendant keeping the throne a bit longer, on the other hand im quite curious whether you'll find a way to raise the bar when i did not. I took an extended break from robocode in a similar situation, when it started to look more like work than fun to me and i did not find any way to improve my bot. Now i'm only occasionally looking into robocode. Somehow i enjoy experimenting much more this way, even though theres still not much progress here :-). So take your time, its rather unlikely i'll come up with something soon, that'll shift the throne away from Dookious. --mue

Tell me about it, I've been working on the same bot for over 4 years now... sometimes you just need a break. ;) -- ABC

I fully expect 0.96 to go down in rating, as is usually the case with the first version after a break for me, but maybe I'll get lucky. I am curious to see how the gun does in the RRGunChallenge, which I entered for the first time, too. -- Voidious

Ok, 0.962 gains about a point over 0.96, which is pretty much negligible - the weird thing is, it did much worse in comparison to 0.96 on the tanks it faced more than once. I guess what I'm doing for data saving isn't worth jack for the moment, so I'll be turning it off for a while... -- Voidious