What's special about it?
Up to now Garm is quite simple, it only uses one GFGun and WSMovement and saves no data. The only special thing is its accuracy, the enemy's GF1 and GF-1 is calculated with precise prediction and the botwidth is considered in the Gun and Movement code.
How competitive is it?
It just entered The2000Club and is ranked around place 20 int the RoboRumble. Its quite competive in the PL-ranking with rank 18 too (with disabled tick waves).
Great, I want to try it. Where can I download it?
http://designnj.de/roboking/Krabb.sliNk.Garm_x.x.jar
How does it move?
It surfs the first two waves, using some kind of TrueSurfing.
How does it fire?
One exact GF-Gun without virtual waves (Segmentaton is based on Komarious).
What does it save between rounds and matches?
Gun and movement data between rounds, nothing between matches.
How does the melee strategy differ from one-on-one strategy?
No meele stategy up to now.
Can I use your code?
Not jet.
What other robot(s) is it based on?
What's next for your robot?
Versions:
Comments:
Whoa, close hit near Seraphim there, nicely done, might still beat it too. --Chase-san
Yea, i think i got you :) And GresSuffurd is only a few steps ahead! --Krabb
Now the three of us can race for The2000Club. Good luck ! Still lose against 50 bots, but ranked higher: I must be doing good (like always) against the less-than-average bots ;-) -- GrubbmGait
I´m good vs top bots (like always) :D Lets see who is the first one in The2000Club! --Krabb
Aww, do you ahve to make a competition out of it =)? Garm and Seraphim are bot closed source, but more then that I am currently working on a complex wall distance method (that should be alot faster then the current one at any rate). -- Chase-san
And now I am completely lost: in both TargetingChallenge2K6 (85.42 - 78.75) as in MovementChallenge2K6 (53.02 - 42.98) Garm is far ahead of GresSuffurd. Yet you are ranked 40 points lower in the roborumble. I only score better against HOT-bots, but thats only a 10% or so. Ideas someone? -- GrubbmGait
I´m a bit confused too :/ I can think of three reasons:
It could be a combination of other things, in the TC and the MC one of the bots doesn't move, in the rumble they both normally move about. The challenges are just a benchmark of how good the components of your bots are. Doing better in the challenges means you will do better in the rumble, but it doesn't mean it is directly related to the rumble rating. Meaning a bot with a lower rank in the challenges could have a higher rumble rating. --Chase-san
Don't forget energy management, don't underestimate distance, and consider little strategy elements as well :-) -- Kawigi
Hey, those were points I had in my original 2 page speech before I summerized it into that. I guess great minds Do think alike. However I edited them out because thier value overall was less described by that statement. --Chase-san
To complete the List: Bumping into walls can increase your MC score. (Has your great mind considered this too? :P)--Krabb
A location-related "off by 1" problem in the wave systems for WaveSurfing or targeting could be hiding in the challenges since the position of one bot doesn't change; a similar problem with the absolute bearing would be half as much of a problem as it is in a real match; and your segmentation could behave differently if you're segmenting on distance instead of bullet time (not to say one is better than the other in the end...). Bullet power management can definitely be worth a few points... And in my experience, the MC doesn't even come close to completely benchmarking a movement's abilities - distancing, angle control, quick adaptation, and complimenting your targeting are all things that are largely overlooked. -- Voidious
My bad ranking in comparison to its challenge results was (as I assumed) related to the distancing and DiveProtection code. It failed in keeping garm at distance and screwed up the movement statistics. It turned out that Krabby2's old and simple solution works still quite well :) --Krabb
Looks like 0.7d is gonna make it! (+6 points 500 battles). Keeping my fingers crossed. -- GrubbmGait
Yea looks nice!! How is the wether in Holland? My school closed today because of "Kyrill" :) But it's still a normal, windy day here. --Krabb
It looks quite bad here, at 17:00 I have to drive home (160 km) so I hope I will be back in time for my competitiongame of darts. -- GrubbmGait
It was fun to kick you out of the top 20 with that two small but efficient updates :) But my next step is more comprehensive and may be not that fruitful. Additionally I'll be on a class trip to Denmark for one week. Your chance to recapture your long-established rank. --Krabb
My bot is so funky I donno where to begin fixing/updating Seraphim, and building a new one would probably take far to long. --Chase-san
Could someone do me a favor? I get some missed scans with Garm when robocode runs minimised. It only happens when Garm skips turns. I wonder if this is just a problem on my pc. Garm would print something like "84: Missed Scan (9)" to the console. One "Missed Scan (2)" in the beginning is normal. Any 1.4x robocode version with Garm 0.8j should do the job (It doesn't happen with old robocode versions).
I could fix this problem whith a different radar(one from Radar), but I might not be the only victim :) --Krabb
Could this be a wrong setting for your CPU constant? Garm is a little bit of a SlowBot (not bad compared to some though). -- Skilgannon
Just a lucky streak :D --Krabb
Should have followed PEZ rule #1, "Assumptions are bad and assertions are good." I think one line, which seemed futile, is my undoing. By the way, i'm a bit confused, do you say commented or uncommented for "//setXYZ();"? In german it means "auskommentiert" :D --Krabb
Commented means it gets ignored by the compiler. So "//setXYZ();" is commented. It's called this because the main use is for adding comments, ie. explanations, to your code. And I thought PEZ's rule #1 was "Don't work on movement and targeting in the same release". =) -- Skilgannon
Hehe, he said that here. I think "comments are bad" is the next PEZ's rule #1 --Krabb
I think PEZ has a lot of rules, tied for #1. =) They are generally all good advice, though! -- Disciple of the Way of PEZ
I just noticed that Garm is pretty strong against the top bots, with nice fat PBIs against Ascendant (+9!), Phoenix, Dookious, Lukious, etc. You may have the makings of a PL champion on your hands here. =) --David Alves
Looks like you found the path back, awesome PL score. Now stop being nice and crush those weak bots. Hey, just compared Garm and GresSuffurd, and there is a lot red and green in the 'Diff' column for bots with almost the same rating. Just indicating that both of us have room to improve a lot. We still have about 50 weeks left to get to 10th/2050 -- GrubbmGait
I'm pretty satisfied with the 5. PL rank :D But I still don't beat my first WhiteWhale SandboxDT. At least there is no more red in the "% score" column at the details page! Hmm I suspect its not that easy to stop being nice, its one of my characteristics :) --Krabb
I have a question about .9d: what does "faster" binsmoothing mean? -- Simonton
I minimised the "window" width in the algorithm (It's a normal distribution with a variance of 1). I previously calculated the smoothing for the interval [bin-15;bin+15]. Now it ranges from bin-4 to bin+4. I also tried a faster algorithm (with no ^x calls), but it performed worse. In addition a lookup table is used to speed things up.--Krabb
Very nice rating jump! You need to add some time-since segments to your surfing though, because you are being hit quite badly by pattern matchers (Waylander, Smoke). Very good PL release, it seems. -- Skilgannon
Good hint, I already have some time-since-velocitychange segments, but they could probably be tuned. The general movement is more or less ready :) The only thing left to do is a flattener and some segmentation tuning, but the PL rank is good enougth so far :D The next step is a gun inprovement, it is still really horrible vs simple bots. --Krabb
I found time-since-decel to be more effective, time-since-lateral-direction-change also worked quite well. But I think the most effective was distance-last-10. =) -- Skilgannon
Hu? "distance-last-10" is the average distance during the last 10 ticks? --Krabb
That would be like nowLocation.distance(locationTenTicksAgo?). I use distance-last-8 in my gun. -- Voidious
Sounds good :) --Krabb
You're getting much to close to that 2050 (or was it place 10). Time to put the sparse time I have into GresSuffurd again instead of TwinDuel. Good work though! -- GrubbmGait
Looks pretty good, he? :) But maybe some points are due to different roborumble-client versions :/ Should we say top 10? You wouldn't have a chance otherwise. --Krabb
We could rephrase our goal: Who is the first to knock out CassiusClay and put him outside the top-10. Strange to see that proud ex-number 1 holding on with its fingernails to that tenth spot. Just wait till I release my next version, you'll be surprised (and I am affraid I will too) -- GrubbmGait
Seraphim 2 is still in the early beta's, it won't make your contest unless I decide to hammer it out all in a few hours like I do my homework assignments. EVen then, the original never even made the 2000 club. --Chase-san
This latest release is right on CassiusClay's heals... your top-10 aspirations may be fulfilled sooner than you thought! - Skilgannon
Yes, that >20-Point jump from 2055 to 2077 was great! Finally all the hard work paid off :)
GrubbmGait, It seems like i can't push CassiusClay out of the top 10 by my own. I need a mate in order to get him from place 9 to 11. Would you mind helping me with this? Somebody else is also welcome :) --Krabb
Seems you have done it without my help ;) Congrats on reaching the top-10 way before I came even close. I must say that after > 3 years of Robocoding, I kinda lost my interest, although you never know. Someone introduced me to SeaFight?, an online pirate game, and that is what I have been doing the last 2 months. I only have time to do one 'game', so my focus shifted to be a pirate. Good luck on your hunt to become the best German robocoder. -- GrubbmGait
I probably take a robocoding break too. I'll finish Garms melee compatibility and may be add some basic team play support. But I'm tired of tuning all the small parameters. May be I get the "best German melee robocoder" but probably not "best German robocoder". Winning the race to top 10 was all I wanted to do :) (After loosing the previous two^^) Take care of yourself as a pirate :P --Krabb