Take BasicGFSurfer, add a bit of segmentation and distancing, and switch it to surfing goto-style. Spend about 10 hours working out all the bugs (remember to account for the reduced distance when you slow down at each point - gah!), and something like DrussGT should result. Now to add a flattener (just pick a random point from the precise prediction - would that work?), and then I'll work on guns. =). -- Skilgannon
Very nice scores! Not really surprising, but still remarkable to see that coming to a full-stop every wave does exploit the weaknesses of LT and CT targeting. I expect you also have some kind of dive-in protection added, or does BasicGFSurfer already have that. I would like to see the total score of the MovementChallenge2K6, then you will see the true power of your movement. -- GrubbmGait
No dive protection =). Instead, I have 151 bins (I'm thinking of adding more) , so at all distances a botwidth covers at least 3 bins. Then, at the predicted position, I add the values of all the covered bins together to get the danger at that point. So, as I get closer, I cover more bins, and it increases the danger. To me this is the most accurate representation of how dangerous it is at a point. I'm not sure how much the StopAndGo is helping me against LT/CT. Another 'feature' (which I'm not sure helps) is my choice of high/med/low/none segmentations. I check if the 'hiseg' bin has any recorded hits, and if it does then I use that segmentation. Otherwise I check the next lowest segment. Each segment has it's own rolling average, which is lower the more precise the segment is. Finally, I think that GoToSurfing? eliminates one big bug-risk: you always go where your precise-prediction thinks you will. =) DrussGT will be coming to the Rumble as soon as I add rolling averages to the gun =). -- Skilgannon
Very nice WSC scores there! Those are 500 rounds, right? (I only ask because we used to do 1000 rounds and yours are particularly good. =)) What kind of gun do you have hooked up, by the way? Feel free to post a test version with the gun from CassiusClay or Dookious, which is a good way of seeing just where your movement stands in the rumble. Keep up the good work!
Oh, I also had a thought on your distance / DiveProtection. I can see the logic in it and it surely works, but if you divided the danger by number of bins covered (average danger), you would have much finer control of your distancing. You could still divide the final danger by the distance (basically what you're doing now), but you'd also have the choice of trying 1.2 * distance or square(distance) if you wanted. There are a lot of points in fine tuning distancing and DiveProtection!
-- Voidious
double thisDanger = getTotalDanger(bestBins,index,botBinWidthAtEnd)/botBinWidthAtEnd; thisDanger /= Math.pow(distance,2);
Hmmm I just found that I get eaten alive by PatternMatchers?. A Time-Since-Velocity Change segment won't help me, because I stop for every wave. Time-since-dir-change doesn't help much either. I've even tried setting my surfing rolling depth to 2, and it still doesn't help. Any ideas? -- Skilgannon
OK, I've uploaded version 0.1 with Raiko's gun (from the mc2k7, thanks for the pluggable version Simonton!). -- Skilgannon
Ok, so I fixed the precise prediction (it thought it could get 6 pixels further than it could), put Raiko's gun in, and (it looks like) a 2020+ bot. This is without a flattener in the movement, or rolling averages in the gun. In fact, it looses to almost every surfer on the block (besides BasicGFSurfer :-p). Do I get a medal? =) -- Skilgannon
Yes, cept i'm not certified to give it ;). I had my eyes on the 20th spot. Oh also! I might have to make my own goto surfing implimentation after I get my gun above shadows in all the targeting challenges (only about 2 and a half points away in the TC and TC2K6). --Chase-san
OK, I'm ranking on par with CassiusClay, and I'm using Raiko's gun. Maybe it's time to do a version with dLightning? =) -- Skilgannon
Holy cow! Dude, major congrats. =) Yeah man, put up a version with DookiLightning? and see what happens. I want to know. =) Maybe wait for 0.3.1 to get to 2,000 battles, could still move a few points up or down from there. -- Voidious
Keep this up you could take the crown... O.o --Chase-san
Impressive scores! It still is not as good as Dookious, but i would like to have such a movement :) --Krabb
Looks like the third member of The2100Club pre-announced himself. If your gun will be on the same level as your movement, it is just a matter of time! @Krabb: Don't you hate it when people don't want to enter our 'race for 2050 in eighty days' (or weeks), but just beat us left, right and in the middle. :-( -- GrubbmGait
Congratulations! Hmm... so if you implemented a goto-surfer with VisitCountStats, would its shorthand be WS-GT/VCS? =) -- AaronR
Started up 4 RRAH clients here for ya. =) So DrussiousGT is your movement with Dooki's gun? --David Alves
I will start up a power-client as well to do battles, one of those core duo lab machines I use to benchmark. --Chase-san
Started up some clients for you. What's new in this version? (How about a /VersionHistory ?) =)--David Alves
A couple segmentation tweaks, nothing much. I haven't had time for anything else. I'll release a version with my own gun some time next week (I hope). -- Skilgannon
Buggy? https://rumble.fervir.com/rumble/RatingDetailsComparison?game=roborumble&name1=jk.mega.DrussGT%200.3.6&name2=jk.mega.DrussGT%200.3.4 =( --David Alves
Who would have thought it possible - passing RaikoMX with a pattern matcher (and not even multiple choice, at that!) -- Skilgannon
Hey man, I don't know if you meant to leave both of them in there, but there's generally a rule of thumb that you should only have one version of a bot in the rumble at a time. Maybe you could remove DrussGT / PM? Having two versions in as a temporary test is no big deal, but long-term, it kinda throws off what "Top 10 / 25 / 50" means if people leave multiple versions in the rumble. -- Voidious
2062.76 and more than 500 battles... your 2050+ ranking seems save ;( --Krabb
Indeed, this one look almost perfectly tied up with the Raiko version ([compare]). -- Simonton
It's depressing, if I'd had this score 2 weeks ago, I would be in 4th by a good 7 points, but now I'm in 6th! =(. I really need to work on a decent gun...maybe give DC a shot. -- Skilgannon
I didn't do this intentionally, but this DC gun seems to be quite a potent surfer killer. I'm counting 7 losses. Maybe I should try reducing the scan size even more....and put in a Vgun array with my VCS gun. -- Skilgannon
Look ma, no flattener! [PL] -- Skilgannon
He, the 5th PL place is mine! :) --Krabb
Prove it! The only way that will happen is if I get 4th! :-D -- Skilgannon
Hey man, I hope you don't mind a word of wisdom from someone who has done this before - be careful not to over-optimize for the MovementChallenge (or any challenge, really). I think MC2K7 is less susceptible to this than the old MC's, but I'm sure it can still be done. You could very well be increasing your MC2K7 score at the cost of overall (i.e., RoboRumble) performance. Just be sure to post to the rumble often enough to make sure that's not the case. =) Keep up the good work, though! -- Voidious
Yeah, 0.5.10's movement is what is currently under my DC gun in 0.7.0, so I don't think it's that bad. But thanks for the pointer. =) I'm trying to get my DC working as good as my VCS, and I have one idea, but it may not pay off. DC definitely has its problems, but this latest idea may make it good for movement. -- Skilgannon
By the way, I'm not sure how long it's been happening, but I noticed some recent versions of DrussGT were compiled with Java 6, so they're not getting any real battles from my clients. Just FYI - if you're not using anything Java 6, you'll get more battles faster with Java 5 compatibility. ;) -- Voidious
Wow, thanks for the heads up. It seems that when I changed to compiling with jikes to javac to accommodate Simonton's tree, I didn't add -target 1.5 to the right place in the compiler config. This latest version seems a bit buggy anyways...I'll get a new one up asap. -- Skilgannon
version 0.8.3 still is not Java 1.5 compatible, putting jk.mega.* back on my exclude list :-( -- GrubbmGait
I think I know what it is....some of the dependencies didn't get their .class file replaced with the new compile. Sorry 'bout that... -- Skilgannon
So much for that BrickWall, eh? =) Man, 2111, that's pretty solid, nice work. I suppose it may be time to start testing / tweaking Dookious again... -- Voidious
It was just a straight revert back to 0.7.23. Which has no precise max-GFs. So I'm thinking that my implementation might have had some bugs in it. Unless of course I broke something else in the process, which quite likely. My final implementation was to not allow the choosing of any angles that were outside the present maximum, but I think I should have allowed an extra half botwidth as well so that I could choose that very end angle if I had to. Maybe I'll give that another look, but for now I've got some different things I want to try. Including a major refactor. -- Skilgannon
It's strange that I gained 5 points from adding a flattener, whereas Dookious gained nothing...maybe Dookious' strong anti-surfer gun takes care of the bots that his flattener would help against, negating the effect? -- Skilgannon
Nice work! Hard to say where the difference is. It could be the AntiSurfer gun. It could be that my base movement is already pretty well tweaked against top guns where the flattener would help. It could even be that my flattener just stinks, or that yours is killer! -- Voidious
My flattener only logs hits on 'real' waves, and it logs all waves, whether or not I was hit by the bullet, or even if the bullet got hit by one of my bullets. And it uses about 35 buffers (randomly selected, like my others) on all the same dimensions that I normally use. It seems Chalk has my number though, so I'll have to give it another look. I think the fact that Dookious has quite a few 'deep' buffers (ie. a buffer with more than 5 dimensions) makes his movement more unpredictable to the top guns (a sort of 'randomness' due to differing slices) whereas DrussGT has several slices for every dimension, and each slice is paired with many other slice combinations, but never has more than 4 dimensions in one buffer, making more of a 'surfing' movement that can be predicted by very low rolling averages coupled with real-wave-only logging. Anyways...off to test against Chalk! -- Skilgannon
Wow, did I read that right? You use 35 VCS buffers in your surfing movement? How many dimensions? That makes my movement, with just 5 unwheighted dimensions, look like childs play in terms of complexity... -- ABC
I also use something in that range =) : 34, unweighted, varying dimensions and segments, but not random. I don't have a second set of 34 for my flattener, though, the flattening is also done right in those same buffers. Then I have 3 separate buffers for the non-firing waves flattener. -- Voidious
Psh, 3 releases in one day is nothing. =) Also, by the way, I think some of your recent ratings under /VersionHistory are off by 1 (or 100 =)). -- Voidious
Version 1.0.0 is incompatible with java 1.5. :/ -- ABC
Oh gosh, not this again. I must have not replaced the classes from one of my reverts...give me a minute and it'll be fixed... -- Skilgannon
Holy.....73% against SandboxDT after 4 battles.....it might be worth keeping this one even if the points dropped a bit... -- Skilgannon
I know it's just one battle, but Shadow 3.77v just got 77.7% against DT! -- ABC
I'm guessing it's because my flattener only recognizes 'real' waves...adding tick waves would make it quite a bit slower, but if it's what it takes to improve my score ;-) -- Skilgannon
Congratulations on your new crown! :) Version 1.0.17NVBW is clearly ahead of Dookious, your precise bot width code wasn't very effective in the rumble after all. -- ABC
Thanks! =) Yeah, seems not. I've just had some ideas on improving the precise botwidth, inspired by Rednaxela's animations, and I see some of the assumptions I took with it aren't quite right. So perhaps I can improve even further than simply removing it. I also had the idea of doing DC surfing weighted parallel with VCS surfing, I remember Stormrider had quite a different set of problembots from DrussGT. -- Skilgannon
Congratulations indeed! You just passed halfway mark from The2100Club to the The2200Club? of legend! In any case, nice stuff, hopefully you can indeed improve further than simply removing it :) -- Rednaxela
Hmm, interesting, looking at the comparison between your new version and your last [[here]], at least as far as UbaRamLT goes it isn't doing any better desipite adding the gunheat waves like I have in RougeDC, and that's one rambot that RougeDC is doing better with than DrussGT (~81% as opposed to ~74%). Perhaps the key to RougeDC's rambot success is not entirely in the gunheat waves... -- Rednaxela
I was tweaking the attack angles against GrubbmThree, maybe I'll have to add some other RamBots to my testbed. Also maybe I'll watch some battles to see what you're doing there in RougeDC to get those scores =). I think your precise botwidth helps a lot with the close-range AntiRamBot? movement, because 1 pixel different can quite often make the difference between getting hit and dodging a bullet. But now I've released 2 new versions, one leaving out the DynamicClustering and the other leaving out this 2 tick advantage, we'll see what happens. -- Skilgannon
By the way, I've noticed how DrussGT somehow outputs to the console when run in the rumble and I noticed that something is off with DrussGT's hitrate calculation. Against pmc.SniperBot? which I think stands still it outputs things like "My hitrate: 1.5" and "My hitrate: 1.2857142857142858" sometimes. Is this a known issue? -- Rednaxela
Wow, it doesn't print to the rumble in my local versions. Checking in the gun, I see that the System.out.println("My hitrate: " + (bulletHit/bulletsPassed)); is placed inside the gun constructor, and the gun is a non-static object in the main bot. So maybe Robocode 1.6 has a bug that allows printing to the console from the constructors? Because this doesn't happen in 1.5.4 with the rumble. And about that buggy hitrate - the only thing it controls is whether or not I fire power 3 bullets. It seems it's buggy only at close range. I'll take a look at it, but I've got other stuff on my plate at the moment, like getting this weighting system working, oh yeah and that integral calculus test in 12 hours time that I should theoretically be studying for =) -- Skilgannon
Well, I think the buffer import code is much better now, and the buffer extraction code, while it may be more messy and complicated, is actually much more technologically advanced, as all floating point comparisons are limited to the absolute minimum, and a huge number of loops are avoided. It could be made to look neater, but that would require a redesign of the entire mess, something I certainly don't have the time for now. Also, while being much neater, it would be less readable, because of all the stuff that would have to be generated beforehand. -- Skilgannon
It seems that somewhere along the gun adaption DrussGT decided he would start going for the surfers... Except for Hydra, WaveSerpent (its close) and Shadow, for some reason CassiusClay (who I used to beat fairly easily, but maybe more matches are needed) and the yet unuploaded Dookious coming in about 47%. I rose above Ascendant, burnt Phoenix to ashes (ok I'll stop now, I promise =) ) and I think got a terrific score against the Raiko family. All in all, I'm 100% happy with the gun transition to precise GFs. I even found a bug in the gun code, so it runs a lot faster than before. My TCRM seasons take place in about 2/3 the time they used to. Thanks for the inspiration, Rednaxela!! -- Skilgannon
Haha! Nice stuff Skilgannon! I'm glad I was able to inspire you =) I'm glad at least some of the qualities that made my DC gun differant than most are not complete garbage =) -- Rednaxela
Maybe I take back what I said about hitting surfers. Yeow... my gun must have been terrible at it before. My TC2K7 score for the surfer sub-catagory is now a mind-numbing 66.61 after the first 4 seasons. ~57 against Shadow. I really think I need to get started on an anti-surfer gun... if I ever get the time. -- Skilgannon