For a conventional scripted bot in Python, start with BurnySc2’s python-sc2 package, distributed as burnysc2. It offers high-level game objects alongside lower-level access and includes quick-start examples. Choose Blizzard’s s2client-api if you want to build in C++ against the reference client library; consider PySC2 when your work is centered on learning-environment or reinforcement-learning research. There is no published, comparable benchmark here that establishes one framework as universally fastest or best.
How the frameworks differ
These options serve overlapping but distinct goals: writing a bot that issues game commands, working close to the Blizzard API, or building a research workflow around the StarCraft II Learning Environment. The comparison below is based on documented interfaces and setup, not a controlled performance test.
| # | 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.
| Framework | Best fit | Language and approach | Setup and cautions |
|---|---|---|---|
BurnySc2 python-sc2 / burnysc2 |
Scripted bots, especially for Python users who want examples and convenient game objects | Python 3; higher- and lower-level abstractions, including BotAI and asynchronous on_step examples |
Requires Python 3.9 or newer, a StarCraft II client and maps. The project describes support for the raw scripted interface, not graphics-based interfaces. Its fork may diverge from Dentosal’s version, so older tutorials may no longer work. BurnySc2 project README; BurnySc2 documentation |
Blizzard s2client-api |
C++ scripted bots, API-level control, or projects that want Blizzard’s reference client library | C++; wraps the protobuf protocol and exposes interfaces such as Agent, ObservationInterface and ActionInterface |
Build the API client first; examples also need the StarCraft II executable path. Official API documentation was generated several years ago, so check repository instructions for current build details. Blizzard API documentation and repository; Blizzard protocol repository |
| 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. Foundational SC2LE research describes the research interface, but current installation and compatibility details are not established by the sources cited here. Blizzard protocol repository; SC2LE research paper |
| CommandCenter | A possible alternative bot-development architecture | Not stated in the cited source | The Blizzard protocol repository lists it as a community architecture, but the cited material does not establish its language, setup requirements or current maintenance. Blizzard protocol repository |
Which framework should you use?
Choose BurnySc2 for a conventional Python bot
BurnySc2 is the clearest starting point if you want to write direct game logic in Python: observe the current state, decide what to do, and issue commands. Its project describes itself as “An easy-to-use library for writing AI Bots for StarCraft II in Python 3.” The project README and documentation provide examples, including a BotAI subclass with an asynchronous on_step method. Use it when its higher-level convenience is useful, while retaining the option to work at a lower level.
Crashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteWindows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallBurnySc2’s project says its fork can diverge from Dentosal’s version. That matters when following older tutorials: check that a guide’s code matches the package and documentation version you install rather than assuming the examples remain interchangeable.
#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
Choose Blizzard’s s2client-api for C++ and reference-level interfaces
If C++ is your preferred language, or you want to work directly with Blizzard’s reference client library, s2client-api is the natural candidate. Its ObservationInterface exposes a snapshot of game state and visible units; its ActionInterface is used to issue commands such as moving, attacking or building. The trade-off is a more explicit setup path: the client library must be built, and examples need the StarCraft II executable path.
Consider PySC2 for learning-environment research
PySC2 is better considered as an environment-oriented interface than as a direct substitute for a beginner-friendly scripted-bot library. It is relevant when the project is built around learning workflows or reinforcement learning. The foundational SC2LE paper explains the research environment, but the cited sources do not establish PySC2’s present-day maintenance status or provide a current end-to-end setup guide; verify compatibility with your intended StarCraft II installation before committing.
Treat CommandCenter as an option to investigate, not a documented head-to-head choice
Blizzard’s protocol repository lists CommandCenter among community architectures. The available source material does not provide enough current primary documentation to compare its language, setup or maintenance fairly with the other options.
The Tool Desk
Outbyte PC Repair FREERepair Windows errors before they cause bigger problemsFix Now →Outbyte Driver Updater FREEScan for outdated or missing drivers - takes under a minuteDriver Scan →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 to check before setting up
BurnySc2
The documented prerequisites are Python 3.9 or newer, a StarCraft II installation in the expected location, and maps. The repository gives this installation command:
pip install --upgrade burnysc2
On Linux or WSL, consult the project’s configuration guidance rather than assuming a default desktop installation path will work. A basic bot subclasses BotAI, implements async def on_step(...), and is launched with run_game. The documentation also describes options such as game step and distance-calculation method; treat them as configuration controls, not guaranteed performance boosts. Repository and installation details; Usage documentation.
Blizzard’s C++ API
Start from the API repository and build its sc2api-client before following getting-started examples. Those examples require a path to the StarCraft II executable. Use the protocol repository for the protocol definitions and related resources, and check the repository’s current build instructions because the generated API documentation is several years old.
Rank #3
- Videogame Software
PySC2 and other community architectures
The protocol repository identifies PySC2 and CommandCenter as community tools or architectures, but that listing alone is not a current compatibility or maintenance guarantee. For either, confirm the project’s own installation instructions against the client build, operating system and maps you intend to use.
Quick wins for a faster PC:
Scan for outdated or missing drivers - takes under a minuteDriver Scan →Repair Windows errors before they cause bigger problemsFix Now →How to make the decision
- Language: Python points toward BurnySc2 for scripted bots or PySC2 for learning-environment work; C++ points toward Blizzard’s reference API.
- Agent style: Choose a scripted-bot interface when you want to implement game rules and command logic directly. Choose an environment interface when the project centers on research or learning workflows.
- Setup: Plan for a compatible StarCraft II client and suitable maps or runtime setup whichever route you take. The C++ reference path additionally requires building the API client.
- Abstraction: BurnySc2 offers higher-level game objects as well as lower-level access. Blizzard’s API presents observations and actions through explicit interfaces.
Do not choose on an assumed speed advantage: the cited project materials do not provide a common benchmark. A valid speed comparison would need to hold constant the StarCraft II version, map, machine and bot workload.
What the Blizzard protocol supports
Blizzard describes the protocol as supporting scripted bots, machine-learning bots, replay analysis and tool-assisted play. Its protocol project brings together official definitions, a reference C++ implementation, Linux packages, maps and replay resources, and links to community tools including PySC2. Blizzard’s protocol repository.
Quick Recap
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.




