Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?


Failed to load latest commit information.
Latest commit message
Commit time

🥔 PotatoPeeler 🍟

📈 Measures your BWAPI bot against a gauntlet of opponents.

💪 Gets your potato in shape!

Example screenshot of win-loss records against each opponent and on each map

Your bot's win-loss-incomplete records against each opponent and on each map

🚀 Mission

When developing a bot to compete at StarCraft: Brood War using BWAPI, you may want to measure your bot's performance against salient opponents. PotatoPeeler is a set of simple scripts to run lots of games via SC-Docker and measure how your bot is doing.

PotatoPeeler can also analyze results from SC-Docker games you've run manually via; there's no difference between games run by PotatoPeeler and those run by

PotatoPeeler is deliberately simple. There are no plans for additional features.

🔨 Using PotatoPeeler

🏃 potato-run

Runs games of your bot against a gauntlet of your opponents.

The script specifies which bot to test (yours), which opponents to play against, and which maps to use. Modify the script directly to customize your run.

potato-run runs games indefinitely. Press Ctrl+C to halt the run.

Results from potato-run games go in the default scbw "games" directory. If you want to start start a fresh test run, delete or move the games in that directory.

potato-run kills all running Docker containers on start by running If you're using Docker for other purposes, you should remove this step.

Terminating potato-run doesn't always succeed at ending all the processes it spawns. If this happens, you'll need to end those processes manually. They'll likely be listed as instances of bash.

📝 potato-status

Displays results of the most recent potato-run. Collects replays and logs of games your bot lost.

potato-status prints results directly to the console (see example above). It copies replays and logs of losses to a "losses" directory inside your SC-Docker directory.

Example screenshot screenshot of Windows Explorer showing aggregated replays and log files

The files are named with each game's timestamp, so if you sort the "losses" directory by name it'll also be sorted by game, in chronological order.

You can run potato-status while potato-run is still in progress.

👷 Setup

  1. Install SC-Docker
  2. Install Python 3

On Windows, you'll need access to Bash or an equivalent shell. Some good options for doing this:

  1. (Recommended) Install Git Bash. This is part of Git for Windows, so you likely already have this installed.
  2. Install
  3. git clone


PotatoPeeler measures your BWAPI StarCraft bot's performance against a gauntlet of opponents







No releases published


No packages published