A new ladder for BWAPI bots without the support for voting. It runs random 1v1 games 24/7 and aims to be more fair towards calculating ELO, win rate and other AI strength values. It's main goal is to encourage competitiveness and the increase of maximum AI strength. That's why some secrecy / development in "the closed" (non-public data in read/, no bot downloads, etc.) is allowed. No video streaming of games played at this point. It's been developed and maintained by a small, dedicated team of BW AI bot authors and Twitch viewers.
NiteKat handles communications, PR, and some back end scripting. Another one of the team members should be obvious from the domain name ;)
Current ELO ranking
Bot vs Bot crosstable
Fast mirror by N00byedge with viewer
Fast mirror Original source (slower)
Games list (you could save the page contents as games.csv and view in LibreOffice Calc / Excel).
Last bots update from SSCAIT: 2018-04-19 04:30:37 (updates are weekly)
Rules for AIs:
- StarCraft Brood War version 1.16.1 will be used for all games.
- Games will be run on a native Windows 7 install.
- All the games are 1v1. Game type is set to Melee.
- Random-race bots are allowed to participate, but the server will pick one of the races at random *before* the start of a game, so that the opponent bot will know what race the Random bot is playing outright. Reasons: the many discussions on Twitch, FB and Discord about why Random race is OP.
- Bot downloads won't be available from this ladder site. Please use SSCAIT or another source.
- Games will be run using
StarcraftAITournamentManager (TM), so you may want to make sure that your bot is compatible with it before submitting.
- Game speed: All games will be played at setLocalSpeed(0) (fastest setting). Please make sure that your bot
functions correctly on this setting. To avoid problems, base your 'timings' on unit counts or currentFrame() and not
- The winner and loser of each game are decided the same way as during an AIIDE tournament. This includes the Time Limit and Bot Time-Out rules. (For reference)
- Latency Frames (LF) of 3 are used in a LAN UDP network game between the two players. I.e. the Game Speed slider in the game lobby gets set to "Normal", rather than "Fastest".
- Currently supported BWAPI.dll versions with their MD5 hashes: BWAPI_374 (6e940dc6acc76b6e459b39a9cdd466ae), BWAPI_375 (5e590ea55c2d3c66a36bf75537f8655a), BWAPI_401B (84f413409387ae80a4b4acc51fed3923), BWAPI_412 (1364390d0aa085fba6ac11b7177797b0), BWAPI_420 (2f6fb401c0dcf65925ee7ad34dc6414a)
- The map pack is the same as on SSCAIT and can be downloaded from
here (info about the maps)
Note: `Electric Circuit` and `Big Game Hunters` are currently out of rotation.
- No observer players will join any games.
- Due to a limitation of the TM software, bot names can only contain alphanumeric characters (spaces are removed). So some bots that have hardcoded the names of opponents with spaces as they appear on SSCAIT(e.g. the bot name "Iron bot"), may not recognize their opponent when they face e.g. "IronBot" on this ladder.
- Due to hardware limitations and for the purpose of simplicity, only one game will be running at any given time.
- Persistent File I/O works almost the same way as described in this AIIDE
web page, section Persistent File I/O
One major difference though is that any data stored in write/ during the current game will be made already available in the next game (i.e. without the need to wait for the current round of games to finish). This is more akin to how the File I/O system works on SSCAIT.
- Other bot authors won't have any access to the data in your bot's read/ and write/ folders. This is to help facilitate the option of some competitive advantage. You could even encrypt the data stored there if you feel like it. If you need to upload something additional into your read/ folder, please contact us via the means below.
Bots participating on this ladder are *NOT* allowed to:
- open network sockets (other than those required by BWAPI or TorchCraft)
- connect to the Internet. Bots will be run on an isolated LAN
- use the getRandomSeed() method for decision making, e.g. inferring enemy start location or race.
- read the contents of the file `CWD/gameState.txt`
- 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 100MB 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
- retrieving and storing of system information
- crash (or enter an infinite loop) in more than 1% of the games they have played. This percentage will be measured after at least 100 games. Some additional tolerance may be allowed for very old, no longer maintained bots.
- the TM can't properly identify those, so there is a room for error, e.g. assigning the win to the wrong bot
- crashes corrupt replays
- crashed games are no fun to watch (later in replays)
- a game that lead to a crash gives little useful info to the opponent bot if the latter employs machine learning (it could confuse a learning bot)
Basically, crashes should be one of the first things that a bot author should fix. Jay Scott has a nice article about this.
- 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
All other 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
- Allied mines
- Gas walk, to get through blocked entrances or ramps
- You should assume *exclusive* access for your AI system process to:
- 1 CPU core of an Intel(R) Core(TM) i7 CPU @ 2.60GHz
- 256MB of RAM
- up to 100MB of disk space total for your read/ + write/ + ai/ directories
- Programs that attempt to cheat will be banned. Bots must *NOT* enable the complete map information flag (BWAPI::Flag::CompleteMapInformation)
- Bots that behave suspiciously, don't run, or lag too much (e.g. lagging client based bots that the tournament module can't detect) may be disqualified after some investigation.
- Please first submit your bot to SSCAIT, make sure it works there and can win at least one game before submitting to this ladder.
- Bots that violate the ladder rules may be subject to a temporary or permanent ban at a moderator's discretion. Temporary bans may last for several weeks or more.
Email point of contact or @NiteKat on Discord - in the special case that you want to submit your bot directly or want your bot removed from this ladder.
This ladder is NOT in competition with other established competitions and ladders like SSCAIT, AIIDE and CIG. It rather completes the above three with a different source of game statistics and ELO ratings.
Aside from StarcraftAITournamentManager, everything else in the project has been implemented from scratch, so if you notice any bugs, corrupted statistics, suspicious activity / foul play by any bots, please report to the contact address above. Any feedback is appreciated!
Are there any plans to provide a greater variety of maps? The SSCAIT map pool is good but limited. Maps played in CIG or AIIDE might be especially valuable.
Yes, there are such plans for the future. One idea is to use the newest (pro-) versions of the SSCAIT maps instead of the current, old, buggy versions. Introducing new maps may require the pruning of some old bots unfortunately, so we are not in a hurry to do so.
How long will historical data (game results and replays) be kept? Indefinitely?
Game results will be kept indefinitely. The main source of replays will keep only the replays of the last ~15000 played games. Any replays mirrors should be able to keep at least 100000 replays in total.
Is a bot list planned, so we can see when bots are reuploaded (and possibly other info like author's notes)? It would help in interpreting ratings.
A bot list indicating which bots have been disabled and why, what the last update time is, etc. is in the plans. ETA ~ 1-2 weeks.
Is a submission form planned, so people can upload directly?
For now, manual (outside of SSCAIT) submission is only supported via email. One of the reasons is that implementing such an upload interface takes some time and effort (just imagine the non-trivial amount of checks and validations that are required). Another reason is that we like to do some extensive, manual testing (running actual games) before activating a new bot submission or even updates of an already existing submission. This avoids the possibility of completely broken bots from ever playing on the new ladder.
Is bulk download of replays planned? I could use wget....
At some point in the future, archives of a huge amount of replays may be made available. For now, you could just use your preferred tool for mass downloading of files off the Internet. Just make sure that you point to the fast mirror though. Mirrors typically lag a few hours behind in providing the latest replays.
- SSCAIT Twitch stream
- Broodwar AI Discord
- SSCAIT tournament
AIIDE Starcraft AI Competition
StarcraftAITournamentManager web page
- Starcraft and Starcraft: Broodwar are trademarks of Blizzard Entertainment.