RoboRumble/Enter The Competition
Once your robot is good enough, you can evaluate its strength and gain bragging rights by entering it into the RoboRumble.
How to enter
- Have a RoboWiki account.
- Unfortunately, due to spam attacks and lack of time to implement CAPTCHAs, new user registration and anonymous editing are disabled and will probably remain so for the foreseeable future.
- If you don't have an account, email Skilgannon. You will receive an account in a few days.
- Decide which rumble you want to enter:
- RoboRumble – Two-bot duel on a 800x600 battlefield over 35 rounds. Suitable for 1v1 and melee robots.
- MeleeRumble – Ten bots on a 1000x1000 battlefield over 35 rounds. Suitable for melee robots only.
- TeamRumble – Two teams of 5 bots each on a 1200x1200 battlefield over 10 rounds. Suitable for 5-bot teams.
- Twin Duel – Two teams of 2 bots each on a 800x800 battlefield over 75 rounds. Suitable for 2-bot teams limited to 2000 Code Size total.
- Don't worry about weight classes. The rumble will automatically calculate your robot's Code Size and place it in the appropriate category.
- Upload your bot into file-hosting of your choice (see below).
- Edit the correct participants list (1v1, melee, teams, Twin Duel) and add your robot.
- If you want your robots to have a flag next to them in the ranking table, edit your main package name and your country code into RoboRumble/Country Flags. You only need to do this once.
- You will see the results (some time later) on LiteRumble.
To create a bot that is accepted by the RoboRumble server, the following rules are mandatory:
- The bot must have a package name.
- The bot must be packaged in a JAR file.
<botname>.propertiesfile must be present in the JAR file.
- The naming of the bot must reflect the internal structure.
The easiest way to do this is to package your bot with Robocode (Robot -> Package robot for upload).
- Choose a unique main package name to avoid mixups between different authors. Stick with that one main package name per author.
- Do not use underscores in your package name, bot name or version number. Robocode itself has no problems with it, but the client is known to have problems with them, especially in version numbers.
- Keep your bot Java 8 compatible. The 2017 Java client survey showed that majority of the rating generating clients run Java 8.
- Try out your just-packaged bot before letting it loose in the rumble.
Publishing the JAR
You will need to upload your robot's JAR on a website that can host arbitrary files, giving you an URL with which others can download your robot. Keep in mind the following:
- The link must be a direct link. When the link is clicked, the JAR must immediately begin downloading, without any intermediate page.
- The link should not break. You should upload your JAR to a reliable file storage service. Random "free online hosting" services are definitely out. Broken links generally will not cause data loss, as all JARs entered into the rumble are backed up on Rednaxela's server; they are just annoying to fix, and your robot may not participate in battles in the interim.
Suggestions for your file host:
- Do not upload to your own domain/web hosting. Such links have a strong tendency to break. This has happened plenty of times in RoboWiki's history.
- If you are developing your bot on GitHub, you can publish the JAR on GitHub Releases.
- You also (ab)use GitHub as a file hosting service, by uploading the JAR to a public repository.
- Google Drive is a good host. Enable link-sharing and transform the share link into a direct download link.
- Dropbox is also good for hosting JARs. Enable public sharing and append
?dl=1to the end of the link.
Contributing to RoboRumble
- Main article: Contributing to RoboRumble
If you entered a bot into the competition, you could consider to collaborate running the competition by using your computer to execute battles and upload results (similar to SETI@home project). The process is fully automated, so there is no pain on doing it.