What’s actually slowing this PC down?
Pick the symptom - the matching free tool is one click away.
For a conventional scripted bot in Python, start with BurnySc2’s python-sc2, distributed as burnysc2. Choose Blizzard’s s2client-api if you want to build in C++ against its reference client library. For learning-environment or reinforcement-learning research, consider PySC2, but verify its current setup and compatibility before committing. There is no documented, controlled speed comparison that establishes a universal winner.
How the frameworks differ
| Framework | Best fit | Language and approach | Setup and cautions |
|---|---|---|---|
BurnySc2 python-sc2 / burnysc2 |
Scripted bots, particularly a first bot written in Python | Python 3; high-level game objects alongside access to lower-level modules. Bots commonly subclass BotAI and implement asynchronous on_step. |
Requires Python 3.9 or newer, StarCraft II, and maps. The project focuses on the raw scripted interface, not graphics-based interfaces. Its maintainers warn that this fork can diverge from Dentosal’s version, so older tutorials may no longer work. BurnySc2 project; documentation. |
Blizzard s2client-api |
C++ scripted bots, API-level control, or use of Blizzard’s reference implementation | C++; wraps the protobuf protocol and provides interfaces including Agent, ObservationInterface, and ActionInterface. |
Build the API client first. Examples require a StarCraft II executable path. The official documentation is useful for understanding the interfaces, but was generated several years ago; consult repository instructions for current build details. API documentation; protocol project. |
| PySC2 | Learning-environment and reinforcement-learning research | Python environment wrapper for the StarCraft II Learning Environment. | Blizzard’s protocol project lists it as a community tool, and foundational SC2LE research describes the research interface. Current installation and compatibility details should be checked before adopting it. protocol project; SC2LE paper. |
| CommandCenter | A possible alternative architecture for bot development | Language and abstraction details: not stated in the cited protocol project. | The protocol project lists it as a community architecture, but the cited material does not establish current setup or maintenance details. protocol project. |
Choose by the kind of bot you want to build
For a first Python scripted bot: BurnySc2
BurnySc2 describes its project as “An easy-to-use library for writing AI Bots for StarCraft II in Python 3.” Its high-level game objects make common scripted-bot logic more approachable, while lower-level access gives you room to work closer to the API when needed. The project’s quick-start materials include a BotAI subclass, an asynchronous on_step method, and a run_game entry point. Project README; documentation.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
StarCraft II: Wings of Liberty | $7.59 | Buy on Amazon |
| 2 |
|
Starcraft II: Legacy of the Void - Standard Edition | $42.94 | Buy on Amazon |
| 3 |
|
Starcraft II PC | $21.45 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
For C++ and direct API interfaces: Blizzard’s s2client-api
The C++ reference library is the clearest fit when your language choice or project design calls for working with Blizzard’s API-level interfaces. An ObservationInterface provides a snapshot of game state and visible units; an ActionInterface issues commands such as moving, attacking, or building. Expect to build the client library and configure the StarCraft II executable path for examples. API documentation.
For learning workflows: PySC2
PySC2 is an environment-oriented option rather than simply another high-level scripted-bot wrapper. It may suit a project centered on learning or reinforcement-learning workflows. The available sources do not establish its present-day installation steps or compatibility, so confirm those against the project’s current documentation before selecting it. Blizzard’s protocol project also lists community tools alongside its protocol definitions, reference implementation, Linux packages, maps, and replay resources. Protocol project; SC2LE paper.
#1 Best Overall
- Fast-paced, hard-hitting, tightly balanced competitive real-time strategy gameplay that recaptures and improves on the original game
- Three completely distinct races: Protoss, Terran, and Zerg
- Units and gameplay mechanics distinguish each race
- 3D-graphics engine with support for visual effects and massive unit and army sizes
- Full multiplayer support, with competitive features and matchmaking utilities available through Battle.net
For CommandCenter: verify the fit independently
Blizzard’s protocol project names CommandCenter among community architectures, but that alone is not enough to compare its language, setup burden, or current maintenance fairly. Check its own current documentation for those details before investing in it. Protocol project.
What to check before committing
- Language: Python points toward BurnySc2 or PySC2; C++ points toward Blizzard’s reference API.
- Agent style: a scripted-bot abstraction fits direct game-rule and command logic. An environment interface fits a project organized around learning and research workflows.
- Setup: these approaches depend on a compatible StarCraft II client or runtime and appropriate maps. The C++ reference path explicitly requires building the API client.
- Abstraction: BurnySc2 offers high-level game objects as well as lower-level access. Blizzard’s API exposes observations and actions through defined interfaces.
Getting started with BurnySc2
- Install Python 3.9 or newer and a StarCraft II client. The documentation expects the client in its default installation path and also requires maps. BurnySc2 documentation.
- Install the package: run
pip install --upgrade burnysc2, as shown in the project materials. Linux and WSL may require additional configuration; follow the platform-specific guidance in the documentation. BurnySc2 project. - Define the bot: subclass
BotAIand implementasync def on_step(...)for the bot’s per-step logic. - Run it with
run_game, supplying the game setup and bot as shown in the project’s examples. Confirm that the game executable and a compatible map are available if startup fails. BurnySc2 documentation.
The docs also expose configurable controls such as game step and distance-calculation method. Treat these as settings to choose for your project, not as guaranteed performance improvements.
Rank #2
- This is a standalone product. It does not require any other version of StarCraft II to play
- Internet Connection Required
- Battle.net registration and Battle.net Desktop Application required
What the documentation does—and does not—establish
Blizzard describes its protocol as supporting scripted bots, machine-learning bots, replay analysis, and tool-assisted play. Those capabilities describe the ecosystem, not a performance ranking among frameworks. The sources here provide no common benchmark for speed, win rates, or resource use across BurnySc2, s2client-api, and PySC2. Do not choose a framework on the assumption that one is fastest; performance would need to be measured against the intended game version, map, machine, and bot workload. Blizzard protocol project.
Free tools Windows power users keep installed
One-click scans. No signup required.
Quick Recap
Rank #3
- Videogame Software
Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.




