FORMAT AND RULES

Updated for AIST S3 4/5/2018)

Tournament Organization:

  • Double Elimination Bracket. Random draw for seeding. No losers 2nd final.
  • BO3 , w/ BO5 Finals
  • No preliminary matches will be played / ladder matches beyond testing. Learning for participating bots will be cleared after testing.
  • Source is required as part of submission. Authors must include build instructions! We reserve the right to review code if necessary for rule compliance.
    • Binary's will be published
    • Source will be published
    • Read / write will not be published
    • Replays will be made available after the tournament
  • Participant list is public / bot names for registrants. (This allows people to do pre-testing / not have to deal with entrants changing names before tournament start)
  • As a guideline, please have at least an estimated bot strength of 1900 ELO on SSCAIT or SAIL or BASIL (or participation in AIIDE / CIG / SSCAIT tournaments within the last year). If not I may ask for replay examples of your bot playing against bots near this level.
  • No Random, only Terran, Protoss, and Zerg are allowed and must stay one race for the entire tournament
  • Two bots are allowed per author, one personal and one group / team development project. (We are seeing a rise in multi author bots) This should allow some accommodation for authors that are on multiple projects. You may not submit two bots solely written by yourself.
  • Games will be played on Normal Speed then upped to Fastest using bwapi (LF3)
  • Games will be played in sc-docker bytekeeper build https://github.com/Bytekeeper/sc-docker (make sure your bot works for this) Installation instructions: https://github.com/basil-ladder/sc-docker/blob/master/docker/Setup%20in%20PowerShell%20--%20instructions.md
  • Only BWAPI versions officially supported by the bytekeeper build of sc-docker and of 4.4 vintage or later are supported for the tournament
  • Bot names can only contain alphanumeric characters
  • Other bot authors won't have any access to the data in your bot's read/ and write/ folders.
  • In the event of a tie (neither bot can eliminate the other, high score will be used to determine the winner)
  • A game in which nothing has died for 10 minutes will be ended and high score will be used to determine the winner.
  • Bots that are forks of other open source bots need to have at-least a 15%+ codebase difference and those changes must be significant and not filler (We realize this is subjective, but please if you use another open source bot as a base, make substantive changes)
  • Only C++/ C#, Python, Scala or Java bots are permitted by default (contact us if you need to use some obscure language)
  • Purposeful code obfuscation is not permitted.

The following Starcraft bugs/tricks are permitted:

  • Plague on interceptor
  • Units pressed through
  • Drops to defuse mines
  • Mineral walk
  • Manner Pylon
  • Lurker hold position
  • Observer over turret
  • Stacking air units
  • Stacked Recall

All other Starcraft bugs/exploits are forbidden. Bots caught attempted these exploits will be disqualified. This includes but is not limit to:

  • Flying drones and templars
  • Terran sliding buildings
  • (intentionally) stacking ground units. Stacked siege tanks are watched very carefully. If they are used in combat your bot may forfeit that match.
  • Allied mines
  • Gas walk, to get through blocked entrances or ramps

Bots participating in this tournament are not allowed to:

  • Cheat!, Bots must *NOT* enable the complete map information flag (BWAPI::Flag::CompleteMapInformation)
  • Use the getRandomSeed() method for decision making, e.g. inferring enemy start location or race
  • Monitor opponent unit IDs that are non random to detect a 4 pool build for example, or any other purposeful exploitation of https://github.com/bwapi/bwapi/issues/799
  • Monitor player ID's to infer enemy start location
  • Open network sockets (other than those required by BWAPI or Torchcraft, or local client server), no external network connections
  • Install worms/viruses/malware on the host machine
  • Intentionally crash Starcraft
  • Spam the in-game console
  • Change the already pre-set current working directory (CWD) of the process
  • Read and write files outside of the CWD (read-only), 'bwapi-data/read/' (read-only), 'bwapi-data/write/ and 'bwapi-data/ai' (read-only)
  • Use more than 750MB of disk space in total in their 'bwapi-data/read/', 'bwapi-data/write/ and 'bwapi-data/ai' directories
  • Malicious utilization of resources such as sockets, files, zombie processes
  • Retrieve / store system information

You should assume access for your AI system process to:

  • 2 logical processors of an Intel(R) Core(TM) E3-1230v3 @3.3GHZ
  • 1.5GB of RAM
  • up to 750MB of disk space total for your read/ + write/ + ai/ directories

Rule exceptions and changes:

  • Rule changes or exceptions require consent 100% consent from competitors, and will done by survey internally among contestants.