Welcome

Jump to navigation Jump to search
Revision as of 14 June 2012 at 21:21.
The highlighted comment was edited in this revision. [diff]

Hi mate. You can tell him he is very welcome to the robocode community :). No offense, i'm just kidding.

Would be nice to hear more about your competition. How is it going with the 1200x1200 field. I think Walls must be good, because he is quite often out of radar range.

Maybe if Skilgannon makes his LiteRumble official we could see the competition as well.

Take Care

    Wompi15:37, 13 June 2012

    Welcome! The work competitions sound fun. I wish I knew some real life Robocoders. =) Good luck with your bots.

      Voidious16:45, 13 June 2012
       

      Kudos for doing a competition at work!

      About 3 years ago I got a copy of the Rumbleserver code and ran a Rumble for my high school CS students as a competition for a 6 week project. On the busiest days, some of the more prolific students were submitting multiple revisions to the rumble.

      The passing standard was beating sample.Walls, sample.RamFire and one other sample bot (I forget which) in 1v1 combat. After that, the scores were scaled by their rumble APS. It was tremendous fun. :)

        Tkiesel18:53, 13 June 2012
         
        Edited by 2 users.
        Last edit: 22:22, 14 June 2012

        Thanks for the welcome guys. It's great to know there's still a active community years after the game was introduced!

        Voidious, I guess it's a privillage knowing other robocoders, hadn't thought about that. Have you considered trying to organise a competition in your city? A group like the local Linux Users Group, or ACM might be interested. I've consider running something like that after this comp is over. I have a feeling I might be hooked on robocode for a while.

        Happy to talk more about our competition, let me know if you have any questions.

        Here's the latest rankings...

        11/06/2012 12:27											
        Results for 500 rounds											
        Rank	Robot Name	    Total Score    	Survival	Surv Bonus	Bullet Dmg	Bullet Bonus	Ram Dmg * 2	Ram Bonus	 1sts 	 2nds 	 3rds 
        1st	MarksRobots.Mbotv1*	407104 (12%)	279100	19880	99602	7967	462	93	142	81	75
        2nd	apc.BadWolf*	380278 (11%)	256350	18060	95338	8854	1619	57	129	61	59
        3rd	apc.LeeroyJenkins2*	373103 (11%)	265800	16660	82728	6402	1505	9	119	121	58
        4th	apc.FaceOfBoe 1.0*	283546 (8%)	217900	5320	55499	2345	2318	164	38	58	65
        5th	apc.Colossus2 0.13	258344 (7%)	196950	5460	50655	3553	1682	45	39	24	59
        6th	apc.ShellyBot*	231230 (7%)	136400	700	76411	6193	10590	935	5	8	7
        7th	Tim.Maximillian 1.0	218011 (6%)	152950	560	58376	3448	2632	45	4	11	23
        8th	wally.walnut*	200190 (6%)	164850	980	32508	1021	821	10	7	31	34
        9th	apc.Walls*	197329 (6%)	162850	420	32364	890	796	10	3	30	42
        10th	apc.JarrodDoomedRobot*	167150 (5%)	149300	1400	15339	514	596	0	10	21	25
        11th	apc.stratman*	167081 (5%)	133450	0	31216	1015	1393	7	0	6	9
        12th	apc.Squirrel*	164965 (5%)	134050	0	29142	341	1421	12	0	6	6
        13th	apc.Legin*	156496 (4%)	142250	0	12810	82	1343	11	0	8	11
        14th	arp.Gimp 1.0*	152729 (4%)	134200	280	17114	314	797	25	2	27	20
        15th	apc.bot42*	136208 (4%)	96650	280	37767	871	640	1	2	8	6
        

        I think part of walls success is due to being out of radar range at times, but mostly because he stays out of the fray in the middle of the field. A number of robots have run into issues with their enemy being out of radar range. If your movement code never looks to seek our your opponent he could hide outside of radar range, no one appears to have tried that strategy yet. I noticed when testing my robot last night with Genesis and Diamond, Diamond shot all it's energy into a wall while Genesis sat outside of radar range doing nothing. Naturally I my robot was dead at that stage...

        If you look at bot42, you'll notice it has unexpectedly high bullet damage for its survival. It's using a neural network to determine the best targeting strategy to use. He's implemented linear, circular, and pattern matching I believe. If he can improve his movement, I'd expect him to jump up the ranks.

        Legin and Squirrel and largely unmodified Sample.Crazy. Wallnut and Gimp are modified Sample.Walls.

        Since you are all so helpful, a couple of questions... 1. Has any one attempted to develop a targeting system based on a regression line of previous movements? It is an idea I'm considering... http://en.wikipedia.org/wiki/Polynomial_regression 2. Is there a place I can get an explaination of all the numbers in the darkcanuck roborumble tables? I haven't been able to find it on the wiki and I'm not familar with some of the numbers (such as Glicko-2 etc)

          Jmb00:23, 14 June 2012
           

          My guess is Rednaxlea (and maybe others) have tried something like that. A quick search turns up oldwiki:Rednaxela/MultiplePlaneRegressionClustering and Talk:Targeting Matrix, but I'm not sure either of them are really the same.

          The best guns currently are nothing super fancy in terms of algorithm complexity: k-nearest neighbors to find similar situations, and kernel density among the firing angles (usually GuessFactors) recorded in those situations to choose one. (This is sometimes called Dynamic Clustering in Robocode.) Multi-variate histograms (aka Visit Count Stats) are a close second, and were the dominant strategy for a long time. Darkcanuck has an excellent neural network gun in his bots, too, which he describes a bit at Gaff/Targeting. Of course, there's lots of room for innovation and variation within any of those techniques, too.

          I've personally played with various clustering methods, but found nothing that can top simple KNN, and all of which were much slower than KNN. I still think there's room for improvement with clustering algorithms, and probably other totally different algorithms that can compete, as well. WaveSim can be pretty fun if you just want to hack away at targeting algorithms. =) RoboResearch for running massive battles for testing anything else.

          Hmm, not sure about the RoboRumble terms being explained anywhere. APS is "Average Percent Score" - score against each bot is (your score / total score), and APS is average of all those scores. Survival is the same, but only counting survival scores. ELO and Glicko are just chess-like rating systems based on those scores. PL is pure win/loss.

            Voidious03:27, 14 June 2012
             

            Thanks, Rednaxela's idea looks a lot more complicated than what I was thinking of!

            Just talked to User:Rjcroy I've been informed that regression line fitting is likely to be highly unstable for anything other than a straight line fit. So probably not worth pursuing, as linear targeting is pretty well understood. It could provide a way to get a best fit on a robot that's oscilating or something, but probably not going to be particularly good. Worth looking into these ideas though, who knows when the next break through will come...

              Jmb06:28, 14 June 2012
               

              Well, I'd say regression fitting's stability would not be the real important problem with it (though yes that would be an issue with some types of regression). The bigger problem would be that even in the impossibly best case scenario (taking into account all variables, and practically infinite data), you would still end up averaging the movement for any given scenario. Many robots are either randomized or intentionally avoid reacting the same way to a situation as they did in the past. Due to this, the average result for a given set of inputs, frequently does not match the most common result.

              For exactly that reason, one feature common to nearly all robocode targeting algorithms that are stronger than simple pattern matching, is that rather than outputting a single firing angle, they output a histogram of probability of how likely different angles are where the enemy is expected to be. (Sorry about the run-on sentence, tis late at night here and my brain doesn't word things nicely at this time)

              It's interesting to hear about this competition of coworkers. Have fun! :)

                Rednaxela07:00, 14 June 2012
                 
                Edited by another user.
                Last edit: 22:24, 14 June 2012

                Hi mate. There is a little description of the ratings Darkcanuck/RRServer/Ratings used in Darckcanuck server. Jdev described some of the values here Roborumble results. Maybe it helps a little.


                I took the liberty and made your results a little more readable. If you want, just take it and insert it at your post and delete this one here. So it saves some space - Thanks JMB

                For me the 1200x1200 (or even bigger fields) sound very interesting, i think this could lead to nice run and hide tactics. If you keen for some unusual views, you can just raise the gun cooling rate in the settings and see your robots shooting like crazy. I use this mainly for detecting energy leaks, spotting gun patterns of some enemies or checking how well the wave servers can avoid this. But i could as well think of it as part of a competition of some sort.

                Anyway your results look very interesting. ShellyBot has a high score for a ram bot and if you look at the damage of Walls :). Looks like Leeroy has good roots with his high survivability if he get some 1v1 energy management or better 1v1 skills he could raise some % i guess. MarksRobot is well prepared for your competition, damage, survival and some ram are all well.

                I wish you luck and fun and maybe you can keep us in the loop about your rumble :)

                take care

                  Wompi10:52, 14 June 2012