Melee ranking ...

Fragment of a discussion from Talk:RoboRumble
Jump to navigation Jump to search

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
 

I had a look at the client source and to me it looks that the battle generator works a little bit different. As allways i might be wrong with that but to me it looks that the client pairs allways first the bots out of the "prioritymelee.txt" (send by the server) against the whole competition. If the server sends no priority file (does that ever happen?) the client checks the bots current battles against the BATTLESPERBOT property. The client checks this property from top down GENERAL,MINI,MICRO,NANO. If you have the standard property of 2000 battles this means by the way you come to the nano class you have 2000 general (all bots) 2000 mini (mini,micro,nano) and so on battles until you reach your own class weight. Til then it it is very possible that you have the 2000 battles reached in your own class and you never come against your own class only. You can recheck this by having a look at the "PrepareBattles.java" class.

Beside the battlegeneration i still find there is another reason while we should think about weight class only competitions. Voidious stated above with his example of bot A and bot B only the relation between this two bots. But if you take all bots of your weight class into account you see that bot a might be better in this particular battle and might be the best bot in his class. But if bot B has an overall better movement he will sum up scorepoints against all weaker bots of his class and so in the end he will be better than A. Maybe the example is'nt so good but i would just show that you have to look on the influence on the whole weight class. If a bot has a stronger movement it is most likely that he will gain an overall more score than one bot with a weaker movement but a strong class releated gun. Moreover, how the client picks the opponents is very random and it can be that bot B allways (or at least more) become weaker mega bots then bot A and this can generate another influence on the overall scoring.


Please feel free to correct me if i'm wrong. I'm still very new to robocode/roborumble and it might be this lack of experience that took me the wrong way.

Wompi18:02, 16 March 2012