Archived talk:RoboRumble

From Robowiki
Revision as of 19:12, 15 June 2009 by Miked0801 (talk | contribs) (How to turn off max 200k save limit?)
Jump to navigation Jump to search

Hey, I have one question. Is it the rules of TeamRumble set amount of bots in team to 5? I think some teams in teamrumble have only 4 bots. If there are no limit on bots number, how about some team with maximum robots that robocode can process (10 bots)? » Nat | Talk » 09:20, 9 February 2009 (UTC)

So far as I understand, it's considered a rule that you're allowed 5 or less team members in TeamRumble. I'm not sure it's formally stated anywhere but that is the general understanding I believe. Expect people to remove it if you add a team with 10 bots ;) --Rednaxela 17:30, 9 February 2009 (UTC)

I not sure there are people removing now =( I saw that GrubbmGait sometimes contribute team rumble (arround 6 battle per month) and I sometimes contribute team rumble, too. (I almost run 3 rumbles at same time! so the rsult may corrupt since I run 3 battle, create robot using eclipse, surf the internet on firefox with about 50 tabs, do my work on Word and Excel 2007, edit image for work in Photoshop CS3. All of that run togeather on my 2-years-old notebook with 1GB of ram! (although it dual-core, my computer also run 3 apache, 2 mysql, 1 tomcat, 3 mail server, IIS and other @Home operation (SETI@HOME etc.) in background which result in over thousand of threads to process in one cpu cycle!)) My computer sometime crash and I close teamrumble and meleerumble so the result will be given only to roborumble. I've enter MiniAtomicOperation for about 3 months and got only 17 battles! I don't think there are actually one who test every bot in teamrumble! (In fact, I don't think there're someone who download team rumble for testbed! Robocode 1.6.2 has seriously bug on team, I can't run any team create from my 1.6.2, also some jar like PairOfShiz ain't batleable, too.) » Nat | Talk » 09:11, 10 February 2009 (UTC)

Note that MiniAtomicOperation is not listed in the TeamParticipants page on the old wiki, so it is understandable that it does not get much battles. on the 'old' CurrentRankings page it is stated that Teambattles are on a 1200 by 1200 field over 10 rounds with 2 teams with 5 bots each. Some teams really expect 5 opponents, I ran into that when testing my first TwinDuel twin against some teams from the TeamRumble, so I would expect some strange results when fighting with a team with less or more than 5 bots. --GrubbmGait 00:25, 14 February 2009 (UTC)

Really? I have not check that page yet but I know that last old-wiki downtime cause loosing many change include my robot! I have to add them, then. But I not expect much with this team! You see on my page, It just a mix of those robots! » Nat | Talk » 05:00, 14 February 2009 (UTC)


Hi! I don't know where to ask, so I write here. I'd be glad to see the Hungarian flag next to my name in RoboRumble. How can I set it? --HUNRobar 11:32, 13 February 2009 (UTC)

I think you need to post on the old wiki RoboRumble/CnoutryFlag page. But, indeed, I think he may check this page, too. I don't know, let ask Darkcanuck! » Nat | Talk » 12:15, 13 February 2009 (UTC)

Thanks, I've just written to CountryFlags, hope they realise. ;) Er, one more question: can Robocode use somehow quad-core processors? If yes, how can I configure it? Now I see that only 2 cores are used. And one more. :D I'd like to download nz.jdc.nano.* robots, but the repository can't find bots with such ids. Anyway, if a bot can't be downloaded then it's corrupted and must be removed from rumble, mustn't it? --HUNRobar 16:17, 13 February 2009 (UTC)

New version of robocode do have special command-line option to run multiple bots in parallel to allow more full CPU usage, however this mode should NOT be used for the rumble. The issue is that it can allow one robot using lots of CPU to starve the other bot(s) of CPU and make them skip turns too. For your own testing feel free to use that of course, but it's not safe for rumble until/unless Robocode starts measuring actually CPU time used by the bot thread instead of clock time that the bot spends in a tick (there are some issues that make fixing that difficult though). As far as robots that don't download, you you check the zip files linked here. The downloads in the participants list really should be fixed indeed though. --Rednaxela 23:19, 13 February 2009 (UTC)

I think current robocode use only one cpu to processing bot behavior but it can use another core for other processing such as battlefield redraw, scoring etc. » Nat | Talk » 05:06, 14 February 2009 (UTC)


Hi! Does anybody have nz.jdc.nano.Neophyte* bots? I'd really need them to test against, but I've never been able to download them. Other thing would be my flag. I've posted to countryflags but nothing has happened for weeks. --HUNRobar 14:24, 28 February 2009 (UTC)

  • I'll try to make a new or additional zip this evening. --GrubbmGait 15:48, 28 February 2009 (UTC)

Thanks a lot, that would worth much for me. Many bots like Grinnik 0.7, neophytes, Moebius and others are all corrupted or undownloadable. --HUNRobar 17:43, 28 February 2009 (UTC)


Hey Darkcanuck, do your server rejected 0 score? See this [1] There should be some mistake somewhere. » Nat | Talk » 09:40, 25 March 2009 (UTC)

Have you run battles between them yourself? Your bot has many more 0 scores than that, check the battles against the bots you have very low score. Usually at least in one of the battles you had a 0 score. Maybe for start positions or something you bor can get into a skip turn streak or something like that. --zyx 22:48, 25 March 2009 (UTC)
I know my bot may get zero, because it ate at least over 128M just by initializing. Actually, I don't want to run it myself, because my poor notebook need to restart after run it :-) But after two restarts, I've run battle with Memnoch, which I get zero, and I get 61% score. I think my robot are crazy for some unknown reason. » Nat | Talk » 23:59, 25 March 2009 (UTC)
I think it has created a black hole in the system :). But if you know that, then I don't understand your question. If one bot gets score 0 why should the battle be rejected? Or am I still misunderstanding something? --zyx 01:55, 26 March 2009 (UTC)
The old servers always reject 0 score. I just ask that why not this server do. Because 100% score will give ELO of POSITIVE_INFINITY, that a reason why old server reject zero score. But, this server have ELO, too! How it calculated? » Nat | Talk » 02:24, 26 March 2009 (UTC)
My server happily accepts zero scores! :) I don't believe that filtering out zeros is fair to bots that don't crash/hang, and it's quite possible for a top bot to win a match against a weaker one without ever being hit. I researched this issue on the old wiki before making this decision, and it appears that the old server rejected zeros to work around bugs in the original client. --Darkcanuck 04:48, 26 March 2009 (UTC)
Well, I believe accepting zero scores just fine when they are due to a buggy bot, HOWEVER in my time with Robocode, zero scores have FAR more frequently been due to bad clients than buggy bots, and bad client results are nasty and not always noticed easily (I believe I have suggested a "suspicious results" page though). --Rednaxela 05:30, 26 March 2009 (UTC)
I didn't know that about the old server, but as Darkcanuck pointed out it would be really unfair. DrussGT smashes to ground weak bots, he would never get complete pairings if it rejected them I think. And my current surfing development is actually an effort to make HOT at the very least score 0 always, hopefully other simple targeting systems too. --zyx 05:15, 26 March 2009 (UTC)
Some people used to program in a flaw to allow at least one bullet to hit vs. weak bots, in order to keep the score from being thrown away. --Darkcanuck 05:25, 26 March 2009 (UTC)
Pairings do complete when zero scores are rejected even without the measure that Darkcanuck mentions. No surfer to date has quite avoided EVERY single HOT bullet fired on it. See here. The highest score is 99.99, with no perfect 100 depite people trying very very hard to get a perfect 100. With the old server rejecting 0 scores, complete pairings always happened still. It didn't take THAT many battles for even the worst the HOT bot to get a lucky shot in. --Rednaxela 05:30, 26 March 2009 (UTC)
That is what we call ImperfectPerfection. Darkcanuck, how you calculate ELO rating? Because zero score result in Double.POSITIVE_INFINITY. One more, it seem that BlackHole get more score from GrubbmGait client than your! » Nat | Talk » 05:41, 26 March 2009 (UTC)
I think you have it the wrong way around: an infinite score difference will lead to a predicted score of zero, not a zero score will cause an infinite score difference. It took me a while to wrap my head around this one =) --Skilgannon 08:04, 26 March 2009 (UTC)
Oh oh, I wrong, but you still wrong =) Actually, the 100% raw score diff will result in infinity ELO score. !!!! » Nat | Talk » 08:45, 26 March 2009 (UTC)
You're understanding it the wrong way around, maybe the math behind the score will help. The ELO score of a bot is calculated such that:
 NewRating = OldRating + CorrectionConstant * (ActualScoreFraction - EstimatedScoreFraction) 
where
 EstimatedScoreFraction = 1/(1 + Math.pow(20,-RatingDiff/800))
So where are you getting your infinity for the NewRating from? Only if your RatingDiff is +-INFINITY then your EstimatedScoreFraction will be 1 or 0. --Skilgannon 09:21, 26 March 2009 (UTC)
I don't know about the formula, but I read this from here that 100% will give you Double.POSITIVE_INFINITY score. » Nat | Talk » 09:48, 26 March 2009 (UTC)
One more, mybe you try ABC way? Reject on |PBI| > 50 That match result in PBI of -61.8 :-) » Nat | Talk » 05:43, 26 March 2009 (UTC)
I can believe you that 100% maybe too much out there, but I won't give up yet :). But there are still situations that would harm the rumble, elvbot.ElverionBot 0.3 disables himself almost always and ap.Frederick 1.1 doesn't fire bullets, against them you need to purposely give them points somehow. Either deplete your energy or make them ram you a bit :P, probably they would be removed from the rumble, but it would kill the fun for at least two persons. --zyx 06:01, 26 March 2009 (UTC)

To address some of the questions above:

  • DrussGT currently has 100% scores against 9 other bots; all have more than 1 battle fought (one has 5). The reason no bot has 100% in the WaveSurfingChallenge2K6 is because the battles last much longer than 35 rounds, which increases the odds of getting a lucky shot enormously.
  • I haven't implemented the suspicious results page yet, but I think the calculations may be too intense anyway...
  • There are no bots in the rumble with POSITIVE_INFINITY scores, so something must be working. ;)
  • PBIs of > 50% are possible for decent bots which crash occasionally. If you still have a low number of battles, a crash/zero against a weak bot will skew your rating and give a wider range of PBIs.
  • Let me know if you see any strange results -- if they're client-related, there will be more than one. If it's a bot problem, well...

--Darkcanuck 06:11, 26 March 2009 (UTC)

Here's another person with a similar problem. Opposite gets 1st place against sample bots 90% of the time. Yet http://darkcanuck.net/rumble/RatingsDetails?game=nanomeleerumble&name=ntc.Opposite%201.2 shows tons of zero scores. I suspect a bad client. (I downloaded the copy from the repository and it works, so not a corrupted jar problem). I notice that, if the ones I looked at are representative, all the battles were from "deewiant@88.114.248.232 ver.1" If it is a bad client I request that the zero scores be removed (as I don't want them to negatively affect my score!) --Starrynte 00:58, 1 April 2009 (UTC)

BAD CLIENT for sure on that. What is zero survival and bd but 63% score? I suppose "deewiant@88.114.248.232 ver.1" should be banned. » Nat | Talk » 02:59, 1 April 2009 (UTC)

I just tested Opposite and it's problem is:

ntc.Opposite 1.2: Throwable: java.lang.NoSuchMethodError: robocode.util.Utils.normalRelativeAngleDegrees(D)

I don't think any client is using 1.7.* and that method is new. About having 0 survival and 0 bd and some score against check this image Score.JPG

As you can see it has 150 from survival, and against SittingDuck is not hard to get some even with a big bug. I would advice not to throw accusations without testing first. If something is suspicious post it, and probably will be checked, but accusing someone and saying should be banned is usually bad. I don't know who deewiant is, but he is almost alone running MeleeRumble, so we should appreciate that instead. --zyx 03:17, 1 April 2009 (UTC)

New? I think Tracker use that method for a long time. See this. Where score come from??? Zero bd and survival but have over 2000 score. » Nat | Talk » 03:32, 1 April 2009 (UTC)

  • If you think so try and use it on 1.6.1.4 or earlier (don't know the exact version when it was added, but is after 1.6.1.4).
  • I don't know how Opposite works, who knows when he calls that method, I don't know. But in the image I posted he had 150 score, and in my console it had 35 Exceptions that made him disable. And I selected 3 best meleenaonbots and some other good nanomelee bots, usually he will be facing worse enemies.
  • I don't want to go off topic, Starrynte said he suspects a bad client. I say the bot has a version issue, not Oppsite's authors fault as the method exists in the new version of Robocode but not in the stable ones. And I recommend changing to radians or making a quick&dirty fix for the problem.
public static double normalRelativeAngleDegrees(double angle) { return Math.toDegrees(Utils.normalRelativeAngle((Math.toRadians(angle))); }

And I believe that should be enough for Opposite's author to see his bot start getting the points he deserves. --zyx 03:44, 1 April 2009 (UTC)

OK. I am Opposite's author lol. The problem is I can't use radians because it won't fit into the nano then...hmm... --Starrynte 04:23, 1 April 2009 (UTC)

  • Nvm. I managed to squeeze it into a nano. Expect non-normalRelativeAngleDegrees-using Opposite 1.3 by Friday --Starrynte 04:31, 1 April 2009 (UTC)
  • I thought you might be, but since it wasn't in your page(and I was too lazy to check the page on the old wiki ;) I chose to talk like that. I was only using nanos and stuff for testing it, but didn't think about your problem to try and fit the changes into one :S. But I hope 1.3 works for you, and hopefully the new versions will become stable enough to be used for the rumble. --zyx 04:41, 1 April 2009 (UTC)

zyx is right on the money. deewiant has been the greatest melee contributor for over the last month, so if it was a bad client, then the melee rumble would already be completely scrambled. Just because I like bullets:

  • Melee scoring rates relative performance so if a bot is in 9th place, the pairing between it and the 10th place bot may show a high % score (based on survival) even though there is no bullet damage.
  • If you see "bad" results and they are limited to one bot, probability theory says the problem is more likely to be the bot than the client that submitted the results.
  • Remember that the official versions for the rumble are still 1.5.4 and 1.6.0, so all bots need to be compatible with those versions.

--Darkcanuck 06:29, 1 April 2009 (UTC)

So it seems that the Robocode Repository no longer handles the download URLs that the RoboRumble is looking for. For instance, ad.Quest's page would have linked to, IIRC, .../Controller.jsp?submitAction=downloadClass&id=1846. Has anybody else noticed this? (I'd guess so, but found no mentions.)

Definitely seems like something we should have a solution for... I have most of these bots in my old RR install, but new RR users wouldn't have them, and Robocoders can't use the repository to host their bots if they want them in the RoboRumble. We need roborumble.org. =)

--Voidious 21:45, 26 April 2009 (UTC)

Aha! I managed to figure this out. Their site now gives download urls to browsers like this instead: http://www.robocoderepository.com/BotFiles/3514/jaara.LambdaBot_1.1.jar. Should we and try to update the participant list to use these URLs directly? --Rednaxela 22:09, 26 April 2009 (UTC)

Oh nice! Well, hmm... The RoboRumble client should still be able to deduce the URLs from the info it has, I think, but I don't see the source for any of the allowed RR versions on SourceForge. Maybe we should just update the participants page to use the direct URLs - it's not quite as elegant, but I don't see any real cons to it. I could surely do that with some regular expressions in just a few minutes, and we could just as easily convert back to IDs if there ever is some advantage to that. --Voidious 22:25, 26 April 2009 (UTC)

I updated the participants list and got 50+ bots that I was not able to download before. Some must have been working before, though, or I'm confused, because there are like 500 repository bots on the participants list. Others, I'm not sure what has happened - for instance, ProjectNano's id (3407) leads to some other bot, and ary.Help 1.0's id (3624) says "not found", with both the converted d/l links not working. If I can find any of the bots I still can't download (only 37, and not all repository bots), I'll post 'em to my web space and update the URLs. (But if other clients have them, it's probably not too urgent.) --Voidious 22:51, 26 April 2009 (UTC)
I think there was a time where robocode repository lost bots so someone cannot be found. For the source code, check tags/VER_X_X_X in SVN repository. » Nat | Talk » 02:58, 27 April 2009 (UTC)
The RobocodeRepository crashed a few months ago and they lost around 250 latest entries. They re-used the lost numbers however. All one-on-one bots till March this year should be located in the zipfile on the Starting with RoboRumble page. I admit it is a bit strange that some bots can only be found in the zipfile and nowhere else, but that could be solved with roborumble.org. --GrubbmGait 05:55, 27 April 2009 (UTC)
I put my entire collection online at http://darkcanuck.net/rumble/robots/ -- feel free to point any bots on the participants list here. I don't mind hosting jars on my server, just need to find some time to code up an upload form. --Darkcanuck 17:18, 27 April 2009 (UTC)

RoboRumble Rules: What exactly are the rules about bot information be stored witha bot before a match? 200Kb of Disk space?

I think that's the limit. Note that it's a general Robocode restriction, not rumble-specific. I also recall someone noticing that Robocode checks this limit only when writing files, not reading. --Darkcanuck 14:17, 5 June 2009 (UTC)
Yeah, IIRC it only checks when writing. So if you're asking about rules pertaining to pre-loading more data than that, I think I recall an old conversation where everyone agreed that we should use that limit for pre-loading, too. But that was long ago, I'm fine with reconsidering now. Since you can obviously hard-code as much "pre-loaded" data as you want, I could see a solid case for lifting that restriction. I guess my vote is to keep the 200 kb limit, but I don't feel too strongly about it... --Voidious 14:27, 5 June 2009 (UTC)
I know one robot which preloaded a data more than 200kb. It is SpareParts sound version, which the sound I believe is over 1MB so, ... Anyway, the saved data isn't much important anymore. Current generation gun/movement is able to learn within 35-rounds battle. If we reconsidering, I'd like about 1kb per opponents. And if it possible, a central files server to share data between each clients would be nice too. But some check-in-out conflicts may happen, counting a rumble clients running lately (I don't have any CPU cycles to spare now so I stop running my client, but many clients are still running) » Nat | Talk » 14:36, 5 June 2009 (UTC)
Saved data is still valuable. David and I tried pre-loading Dookious and Phoenix with gun data a while back and I gained 12 points from it (2095 to 2107 in the old rumble). Upping the disk quota makes some sense since we have so many bots in the rumble now, so I'm open to it -- I'm just not sure how many people care about the issue right now. I don't think it's worth the incredible hassle to come up with a central file storage solution, though... I'm very grateful to Darkcanuck for the current incarnation of the RR server, and I like him getting some time to write some bots. =) --Voidious 15:06, 5 June 2009 (UTC)
Well, central file storage will need a lot of work, probably RoboRumble 2.0 =) With current ~700 bots in rumble, each robot will have around ~0.3KB for each enemy. What can we store? » Nat | Talk » 15:19, 5 June 2009 (UTC)
There is still lots you could do. Remembering your Virtual Guns ratings or flattener settings would be very small and could still be valuable. As for something like targeting data, well, you'd want to only save that for bots where it's most valuable. Dookious only saves gun data if the Main Gun was a lot better than the AntiSurfer (fast adapting) gun, and he can store data for ~250 bots. --Voidious 15:36, 5 June 2009 (UTC)
If 200k is allowed, then I have my next project. I wonder how expensive serialization/file loading is :) --Miked0801 17:11, 5 June 2009 (UTC)

Isn't there a way to turn off the 200k max save file thingy on the command line? I need more space for debug output... --Miked0801 18:12, 15 June 2009 (UTC)