Rules

Participants

Anyone can submit a bot and play, but only individual students can score points. Most participants will probably be university students, but this is not a requirement. Any educational institution will do.

Matches

  • Loss: The bot loses immediately under these conditions:
    • If it loses all the buildings.
    • If it crashes.
    • If it slows down the game significantly. Every game frame takes some real-world time, depending on what bot is doing. The bot loses if he has:
      • More than 1 frame longer than 10 seconds, or
      • more than 10 frames longer than 1 second, or
      • more than 320 frames longer than 55 milliseconds.
  • Victory: The bot wins immediately if its opponent loses (see above).
  • Time limit: The game ends automatically either after 90 in-game minutes (86400 frames) or when no unit dies for 5 real-world minutes. When any of that happens, the win is assigned to the bot that has higher in-game kills+razings score, computed as BWAPI::Player::getKillScore() + BWAPI::Player::getRazingScore();
  • Score: 3 points are awarded for every victory. Draw results are no longer possible.
  • Speed: Games run at speed 20 (which is approximately 30% faster than the "Fastest" speed setting).
  • We will stream every match live on our home page or at Hitbox.tv. The replays are saved on the server and will be published after the tournament.
  • Only two bots for a match - we're playing 1v1.
  • There is only one match at a time.
  • We select a random map from our map pool.
  • Complete map vision, or any other flags/cheats are forbidden.
  • If the match result is for some unknown reason evaluated incorrectly, admins can fix it based on the replay file (replay files are accessible for users after logging in).

Bots

Here, we're getting a bit more technical.
  • You need to submit a source code AND compiled bot (we will never publish or use your sources - we need them only for automated plagiarism check). We accept bots coded either as standard C++ BWAPI AI Modules or Proxy Bots or in JAVA (using BWMirror or JNIBWAPI). C++ bots need to be compiled as DLL or EXE files, Java bots as runnable JAR.
  • The bot must be compatible with the BWAPI version 3.7.4 (revision 4160) or newer.
  • Using BWTA libraries is allowed and encouraged. If you have some additional special requirements (external programs, libraries, etc.), let us know.
  • Bots that behave suspiciously, don't run, or lag too much can be disqualified.
  • The bots need to run on 32bit Windows 7 machines.

Writing and Reading Files

  • You have read access to folder 'bwapi-data/read/' and write access to folder 'bwapi-data/write/', both of which are in the StarCraft root location (where StarCraft.exe is). After every match, the contents of the write directory is copied to the read directory with auto-overwrite. Your bot will be placed in 'bwapi-data/AI/' folder.
  • Any reading or writing of other directories is forbidden. You have a 100MB limit for all the files in the read directory. If you go over this, you risk being disqualified.
  • Your bot should never change current working directory (CWD). This might cause the tournament manager to think it's crashed and assign a loss.
  • You can manually upload the contents of 'bwapi-data/read/' folder via bot submission interface, along with new versions of your bot.