Melee ranking ...

Jump to navigation Jump to search
Revision as of 15 March 2012 at 17:12.
The highlighted comment was created in this revision.

Melee ranking ...

Hi mates... (sorry for my bad english) Can i suggest a discussion about the melee ranking in mini, micro, nano weight? Maybe i don't fully understand how the ranking is working, please correct me if i'm wrong.

To me it looks like, that the lower weight classes are influenced by the battles against the higher weights. Lets say we have a nano bot who is specialized on close combat. Against the own class bots it could survive very well because the other bots are also limited and you can put more code in the gun than the movement. If it now comes to pairings against the, lets say mega bots, it has to die very quickly because it goes still close to the enemy (not the best idear against a heavy gun). This is just an example. What it shows, is that you have to deal with the mega bots and there is only one option - improve the avoid movement. If you improve the movement you have no codesize left for a competitive gun against your own class and so on. I think the current ranking system fafors the movement more than it should. One more point is that the current ranking favors mega weight (more bots) and so you get way more battles where you are paired against bots of other classes (it looks like 3:1 battles against higher classes). My suggest is to make the weight classes indepentend. I think you can still be paired against the higher classes but it shoul'nd count for your current class if there is another bot of your class within this pairing.

I hope it is clear what i meant and you should see what i want to say. My english writing isn't that good and i wished i could explain it a little more ... but well you know:)

Wompi

    Wompi14:06, 14 March 2012

    You want nanobot rankings to use battles with nanobots only.

    I think it is not being done mostly because of historical reasons. 10 years ago there was barely enough CPU to process a single melee league, much less 4 independent melee leagues.

    Today it might be viable. But the client needs to be modified and the melee rankings in the server needs a reset.

      MN14:41, 14 March 2012
       

      Yes this is what i want. Aswell mini and micro. Hmm are you sure about the historical reasons? Because the single bot weight classes are independent as far as i can see this. My thought was that the battle pairing script isn't capable of matching the bots on weight classes for melee.

      I'm not sure if the client has to be changed, would'nt it be the same logic just with other battle pairings? I mean if the client is ready to run shuffled melee it should be ready to run weight class battles just as good. I think there might be some work on server side to bring the right battlepairings up, but i could be wrong. About the reset of the current ranking results, well i have'nt thougt about this. I'm not sure how big the influence would be on the current results. On the other hand, maybe a reset brings back some vets to work on there bots again - who knows.

      All in all i really would like to see a ranking by classes. I find it very educational to start with the lower classes, because there is plenty to learn from.


      Sidenote: MN can you do something with your mn.SuperSittingDuck 1.0 it says on both (1.7.3.0 and 1.7.3.2) clients that i cannot handle this bot. It is something around version minor/major. (not quit sure i can recheck this if you want) ... no offense. It would just be nice.

        Wompi16:52, 14 March 2012

        Did someone find a bug in my single-line-of-code bot?

        That bot was generated with the internal Robocode IDE. The only causes I can think of are Java 1.5 incompatibility, or corrupted downloads.

          MN22:40, 14 March 2012
           

          Todays download (1.7.3.4 client) .. rebuild database Got an error with mn.SuperSittingDuck: java.lang.ClassNotFoundException: mn/SuperSittingDuck : Unsupported major.minor version 51.0

            Wompi14:34, 15 March 2012

            Java 1.5 incompatibility then. I´ll update the bot later.

              MN15:16, 15 March 2012
               

              I think there are quite a few bots compiled with Java 6. Any chance you can upgrade? Java 5's pretty old. Even us Mac users have Java 6 now. =)

                Voidious15:25, 15 March 2012
                 

                Hmmm .... i got:

                Terminal: java -version java version "1.6.0_29" Java(TM) SE Runtime Environment (build 1.6.0_29-b11-402-10M3527) Java HotSpot(TM) 64-Bit Server VM (build 20.4-b02-402, mixed mode)

                Robocode About: Running on Java 1.6.0_29 (64-bit) by Apple Inc. 

                So i'm almost half sure :) that i'm runing on 1.6 ... i will recheck this. And SuperSittingDuck is the only bot who gives me this exception.

                Edit: looks like you used 1.7 ... according to wiki - class version 51 is 1.7.

                  Wompi16:03, 15 March 2012
                   
                   

                  One thing to be clear about: while a battle containing MegaBots is not ignored in the NanoBot rankings, only the relative score of two NanoBots in that battle is contributed to NanoMeleeRumble. If NanoBot A gets 9th with 500 points and NanoBot B gets 10th with 300 points, what's logged to the NanoMeleeRumble is A winning over B with 62.5%. NanoBots that do particularly well or poorly against MegaBots will still have their rumble score impacted by how many NanoBot-only battles they get, though.

                  Since most bots in a weight class have similar weaknesses against bigger bots, I don't think it's having a huge effect, but it isn't zero either. I've seen MicroBots have their MicroMeleeRumble score change by maybe 0.5 APS from the time they have 2000 Mega-battles to the time they have 2000 Micro-battles.

                  I agree counting only all-NanoBot battles for NanoMeleeRumble would be better, and that the CPU load is probably not a huge issue. (Non-MegaBots tend to be so much faster, Melee rumbles have less activity than 1v1, and our CPUs have gotten much faster, too.) I think the biggest hurdle is how much work it would take to implement vs how much it would really change scores. I think it would require client changes, too, because the client is what decides which pairing data gets uploaded to which rumble.

                    Voidious17:24, 14 March 2012

                    Those 2000 Micro-battles all have megabots in them.

                    In a nanobot only league, nanobots will be killed by other nanobots. Simple targeting against simple movement. It might completely change survival scores and rankings. If you watch a samplebot only melee battle, Walls usually survives last. Add a single megabot and Crazy tends to survive longer. (flatter movement profiles tends to be ignored by top bots in melee)

                    I could volunteer to update the client, although there are other things in the rumble bothering me more, like slow client uploads. I would prefer to fix those first.

                      MN22:59, 14 March 2012
                       

                      What do you mean? As far as I know, it works like this:

                      • MegaBot battles until 2000 battles in MeleeRumble.
                      • Battles against lowest weight class bots only until 2000 battles in lowest weight class.

                      It used to go MiniBots until 2k in MiniMeleeRumble, then Micros, then Nanos, but it was changed to result in less overall battles for Nanos/Micros, since they're already getting so many extra before they've stabilized in every weight class.

                        Voidious02:15, 15 March 2012

                        Currently, all melee battles mix all weight classes.

                        All bots battles until there are 2000 battles in megabot ranking. 2000 is the sum of all pairings against nanobots to megabots.

                        But in nanobot rankings the sum of all nanobot pairings is still lower than 2000. Then all bots battles until there are 2000 battles in nanobot rankings. Which means the sum of all nanobot pairings is 2000, but all those battles in nanorumble still include megabots.

                        Almost no battles have 10 nanobots. A battle with 2 nanobots and 8 megabots also counts for nanorumble. And those 8 megabots affect the APS between the 2 nanos. Those 2 will be crushed before having the chance to interact with each other, the nano with worse movement profile being crushed first.

                          MN15:09, 15 March 2012

                          I was very strongly under the impression "but all those battles in nanorumble still include megabots" is not the way it is. Yes, the battles from when megabots are getting to 2000 score *are* still counted, but new battles made specially for the smaller league only include smaller league bots. At very least, that's how it used to be I believe.

                            Rednaxela18:12, 15 March 2012
                             

                            Really? Definitely not how it used to work, and sounds like it could even be a bug in the client. Maybe Darkcanuck can comment.

                              Voidious15:26, 15 March 2012
                               

                              Slow upload isn't client problem; it's the server. I believe darkcanuck is throttling the upload on the server because the server can't handle the load,

                              Although if we do this we should clear all the battle data from nano/micro/minimeleerumble, too.

                                Nat Pavasant12:38, 15 March 2012

                                Its how the protocol works which slows down uploads. According to Bwbaugh, the server can handle about 30 clients. Or can handle 30 times what a single client uploads.

                                The ideal would be to adapt the protocol for batch uploads, but it is also possible to achieve a similar speed up changing the client alone.

                                Faster uploads would benefit all leagues, melee leagues even more, since a single melee battle generates about 45 to 180 pairings.

                                  MN14:58, 15 March 2012