StarCraft meets OpenAI Gym, via Alibaba's glue gun
A bridge too far: wrapping Facebook's TorchCraft into a Gym environment for Brood War RL experiments.

What it does
Gym-starcraft exposes StarCraft: Brood War as an OpenAI Gym environment. It sits on top of Facebook’s TorchCraft (the C++ bridge between Torch and the game) and a Python wrapper called torchcraft-py, so your RL agent can send actions and receive state through familiar Gym APIs.
The interesting bit
The project is essentially plumbing — three layers of dependencies (Gym, TorchCraft, torchcraft-py) to get a 1998 RTS engine talking to modern Python. The value is in not having to write that plumbing yourself. The README notes you can “skip the torch client part,” which hints at some decoupling from Torch’s Lua roots.
Key highlights
- Wraps TorchCraft into standard Gym
step()andreset()calls - Requires a live StarCraft server running BWAPI via Chaoslauncher — this is local or remote TCP, not a standalone simulator
- Includes a
random_agent.pyexample for basic connectivity testing - 527 stars suggests modest interest; marked “(In progress)” in the repo description
- Installation is four steps across three separate projects
Caveats
- README is sparse: no API docs, no observation/action space specifications, no benchmark results
- Clone URL in install instructions points to
deepcraft/gym-starcraft.git, not thealibaba/org — possible fork confusion or stale docs - “In progress” label and minimal commit history suggest maintenance uncertainty
Verdict
Worth a look if you’re specifically targeting Brood War and need Gym compatibility, but expect to debug the dependency chain. For newer StarCraft II work, Blizzard’s pysc2 or DeepMind’s environment are more directly supported. This is a legacy stack for a legacy game.