Where can i find the rules for roborumble?
Or aren't there any limitation what my robot is allowed todo? (e.g. reflection, sockets, file-operations, etc.)
sorry if this is a repost. i'm new in this forum
Welcome! I don't think there are any rules like what you're looking for, except for what is allowed by Robocode itself. Reflection, network access, and general filesystem access are all disabled by Robocode's security manager, and your CPU time is limited to a few milliseconds per turn. You do have a small amount of controlled disk access - see AdvancedRobot.getDataFile. As for CPU time, if you use more than the amount Robocode calibrated for your system, your bot will skip some turns to make up for it.
Hope that helps and let us know if you still have questions.
But as for rules, anything in the spirit of the game is generally okay. That means anything that strictly uses the robocode API within the game. Anything that tries to attack the robot from outside the game is disabled, forbidden, or frowned upon. Examples of that are things like killing the enemy robot thread, or altering/reading internal robocode classes, etc.
Ah, yeah, I think the only "unwritten rule" is that people will get mad if you use multiple threads. This is an exploitable aspect of Robocode, since Robocode only tracks CPU time in the main thread, and you could theoretically steal CPU power from the opponent in your alternate threads.
And the ban on multiple threads is written in a discussion page somewhere I can´t find anymore.
Those 2 are the only house rules not enforced by the engine that I can remember.
There is also a limit of 512MB heap space. You can see it in the client´s initialization scripts.
Yeah, multiple threads are 'frowned upon' but not disallowed. Some robots use them (such as pear).
thanks for your replys! :)
what works in robocode will work in roborumble right?
Pretty much. If it works on stock Robocode, it should work in the rumble.
how many robots CAN i submit to roborumble?! i know it should be just 1
It depends how different they are. If it's just an improvement on an old one, then rather remove the old one, but if it's entirely new and different then it's fine keeping the old one in. It's usually better to give it a new name as well, if you're going to do that.
Yeah, submit as many as you want, but replace previous versions. If you add DrussGT 2.9.1, remove DrussGT 2.9.0 - you can revert if 2.9.1 is worse. And it's ok to have multiple bots that share some code, even though that's kind of like "different versions".