Skip to content
Andrey Kurdyumov edited this page May 11, 2018 · 8 revisions

Welcome to the sc-bot-repository wiki!

This repository is to capture discussion related to provide unified bot repository, where bot authors could upload their bots, and ladder organizers to capture all available bots.

  • Requirements for the bot repository
  • Possible use of NPM

Requirements for the bot repository

Provide information about bots

  • Name
  • Author information (name and email)
  • Contributors
  • Country
  • Races supported (Could be more then one)
  • Org affiliation
  • Binary files
  • specify link to source code/upload source code
  • type of bot (CPP EXE, CPP DLL, Proxy, BWmirror)
  • version of BWAPI (3.7.5, 4.1.2, 4.2.0)
  • Language/Runner
  • Supported OS (XP, Win7, Win10, Wine)
  • Custom launcher scripts
  • Libraries used (BWEM, BWEB, BWTA, FAP)

Team name (e.g. "Facebook" or "FAIR" or "Chris Coxe") Team manager's full name (should only exactly one of the contributors). For each contributor:

  • Full name
  • E-mail (hide this from the public by default?)
  • Handles/nicknames (optional)
  • Country (optional)
  • Org Affiliation (or "Independent" if none)
  • Dept/lab of Org Affiliation (if applicable)
  • Occupation(s) (optional), e.g. Undergraduate, Graduate, Postgraduate student, Researcher, Software Developer/Engineer.
  • CIG cash prize eligibility (optional), e.g. Student, Young Professional, Public. Note that CIG only awards cash prizes to students and young professionals. Probability weight for each bots/versions/races, e.g. Simon Prins only has one bot so he might configure 9 for Protoss, 1 for Terran. List of bots/versions, including for each bot/version:
  • Bot name, e.g. "CherryPi", "PurpleWave", "CherryPi-AIIDE2017"
  • Official version name, if any, e.g. for "CherryPi-AIIDE2017" it would be "AIIDE2017"
  • Player name, which defaults to the Bot name (e.g. for bot name "CherryPi-AIIDE2017" they could decide whether the bot's player name seen by opponents is "CherryPi" or "CherryPi-AIIDE2017". After the bot has played a game, this not allowed to be changed.
  • Require full disclosure on 3rd party codebases or libraries the bot is based on or has borrowed from or uses.

Query bots

List of all bots should be queried by following parameters

  • OS supported
  • Version of BWAPI (multiple selection)
  • Language

Restrict bot operations

Bot author should be able to restrict operations of his bot which he don't want to make public.

  • Restrict which ladders could see binaries
  • Restrict downloading binaries to public
  • Temporary restriction bot from participation in the ladders (?)

Provide UI for the bot authors

  • CLI for operating of the registry
  • Web UI for operating of the bot via UI

Authorization

  • Provide authorization via Google, Facebook, email in the web interface
  • Provide authorization via key in the CLI

Integration with other systems

There should be integration with other systems:

  • Ladders
  • Bot developer apps

Ladders

Ladders probably should have following point of integrations

  • Notification about bot version upload
  • Notification about bot privacy settings changed.
  • Notification about bot removal
  • Endpoint for notify about bot crash

Bot developer apps

Not clear if something needed here, but want to place this here, as catch for ideas of other people.

  • Notification about bot crash (received from ladder)

CLI features

  • list of bots
  • download bot
  • upload bot