The Arena is where AI’s are pitted against one another in a fight to the death! Thousands of games are played in the cloud during the course of MegaminerAI and these game results are made available to users, so that they may further debug their code and refine their strategy.
How Your Code is Run
Out of the box, your AI should run in the arena without any
problems. ShellAI comes with a nice
Makefile that will build your
code and a
run file to run it. These files are necessary in order to
prepare and run your code in the arena.
The arena will do the following things with your code:
gitto check out the version of your AI specified by your latest submission on SIG-Game’s website. When you create your team’s repository, your team automatically submits ShellAI by default.
makein the root of your repository to build your code. If this does not successfully return, your code will not run in the arena. In most cases, there is no need to ever change the contents of your
Makefile. However, if you are having problems building with
make, please ask a dev for help.
arenaRunscript in the root of your repository to run your AI. The arena will run your script expecting the ability to use the following arguments:
bash arenaRun <game slug> -r <game session id> -s <game server hostname> -p <game server port> -i <player index> -n <team name>
Should you decide to change your run file (which is not recommended), it must accept those arguments in that order to run in the arena.
After the game completes you will have 40 seconds to do things and shut down your client. After that the arena will attempt to force kill your client. If your client is still running after the force kill attempt you may be embargoed.
Debug Arena Code
The arena will create a zip folder containing build output as well as
stdout. This zip folder is made available to
the AI’s team through SIG-Game’s main website.
stdout will be
limited to 5MB. There will also be a directory created in the root of your
client at runtime called
arenaupload. This directory will be zipped as
yourstuff.zip and uploaded with your build output.
be limited to 300MB. Additionally, game logs (more specifically, the
compressed gamelogs or
glogs) are made available to the teams who
participated in them. Teams can only download arena games in which
- Embargoed - An embargo means that your code is broken and is unable to run in the arena. This could be caused by compilation errors, segmentation faults, or other AI-code-related problems.
- Something Broke - Broken means that the arena is either down or there has been a networking issue between the website and the arena.
- Not Ready - Not Ready means that the arena is (intentionally) not yet running and no games are being played.
- Thunderbirds Are Go - Everything is working properly and your code is ready to run in the arena.
Dealing with Embargoes
If your code has been embargoed, that means that there is something
wrong with your code that prevents it from running in the arena. In
order to fix this, you need to debug your code using the output found
in the zip folder mentioned above. Then, after your code has been
fixed, it needs to be resubmitted to the arena. Be sure to check the
build output as well as
Statistics with everyone’s rankings in the arena is available at http://arena.siggame.io/mies/thunderdome/scoreboards. It displays live scoring based off of games played in the arena.
Tired of waiting for the arena to play your team versus another? Now you can create your own custom games! Just go to http://arena.siggame.io/mies/thunderdome/inject_com.
All SIG-Game tournaments are run using the same system as the arena. Therefore, if a competitor’s code does not work in the arena, then it will not work in a tournament. Teams need to make sure that their code is able to run in the arena in order for games to be played and results to be collected.
Below is a list of supported software versions for MegaminerAI. If you have questions about other software, please contact a dev to have this list updated.
Please take a look at our always-up-to-date document on versions used in the arena!
- RAM - Usage is limited to 2GB. If you use more, it may cause lag, server crashes, and/or cause unfairness in other games running on the same machine.
- CPU - Thread usage is limited to 2 max. If you use more, it may cause unfairness in other games running on the same machine.
- Disk - While there is no hard limit on disk usage, keep in mind that if your git repository is very large the arena may have trouble with your games.