Skip to main content

TorchCraft 2 CircleCI

(aka StarCraft Gym)

The fastest, easiest way to use StarCraft as a reinforcement learning environment.

And all you have to do to get started is pip install it.

Motivation

Researchers are eager to use StarCraft-based environments for RL experiments. But the process of getting StarCraft up and running can be time-consuming, and most environments aren't easy to use out of the box.

TorchCraft 2 offers simple (one-touch!) installation, an easy-to-use Gym interface, and multiple challenges/baselines out of the box.

In addition, we've worked with Blizzard to allow to TorchCraft 2 to include first legal distribution of StarCraft: Brood War binaries. This will enable the public to use TorchCraft 2 without having to acquire their own copies of StarCraft, or having to install it.

See the project proposal for details.

Roadmap

With those ready, we're aiming to launch TorchCraft 2 internally for experiments and beta testing. From there, the plan is:

  • Integration with TorchCraft (deprecating the original Lua/Python APIs)
  • Pre-compiled binary distribution on PyPy
  • Public release, PR, and tutorial content

The full roadmap lives on GitHub

Usage

Building TorchCraft 2 for development

This is how I recommend using TorchCraft 2 at the moment:

git clone --recursive https://github.com/fairinternal/TorchCraft2/ tc2
cd tc2

conda create --name tc2 python=3 pip
source activate tc2
conda install pip cmake pybind11 numpy
conda install -y -c conda-forge sdl2 zstd
conda install -y -c anaconda zeromq
pip install -e .

Downloading required Starcraft files

Once you have installed tc2, you have to download StarCraft data files (MPQ files). We provide you with a tool to do that just for you - we can't provide them right away because we need you to read and accept Blizzard's EULA first.

tc2-setup

Demo

This demo (run_demo.py) creates a StarCraft gym environment and controls an agent using a simple "attack the middle" policy.

import gym
import tc2
from tc2.agents import attack_middle

env = gym.make('tc2-demo-v0')
while True:
  env.reset()
  actions = []
  done = False
  while not done:
    observation, reward, done, info = env.step(actions)
    actions = attack_middle(observation)

Running the TorchCraft 2 demo:

  • python3 run_demo.py

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

tc2-0.0.1594386114.tar.gz (8.3 MB view details)

Uploaded Source

File details

Details for the file tc2-0.0.1594386114.tar.gz.

File metadata

  • Download URL: tc2-0.0.1594386114.tar.gz
  • Upload date:
  • Size: 8.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.2.0 pkginfo/1.5.0.1 requests/2.24.0 setuptools/47.1.0 requests-toolbelt/0.9.1 tqdm/4.47.0 CPython/3.7.8

File hashes

Hashes for tc2-0.0.1594386114.tar.gz
Algorithm Hash digest
SHA256 91488c89903f2b92997f4bf290c5e1f6e1e54a020f8c1743afd20fd2f9850baa
MD5 02e5c189fa94da5e65a0d3d39969b942
BLAKE2b-256 a43a502dc82cb1569cba631861b26cf916d7b7268d60afd5c3a15708a025c922

See more details on using hashes here.

Release history Release notifications | RSS feed

0.0.1594993188

1 file

0.0.1594388125

1 file

0.0.1594386854

1 file

0.0.1594386657

1 file

0.0.1594386299

1 file

0.0.1594386261

1 file

This release

0.0.1594386114 This release

1 file

0.0.1594385742

1 file

0.0.1594385683

1 file

0.0.1594385467

1 file

0.0.1594382721

1 file

0.0.1594312845

1 file

0.0.1594312370

1 file

0.0.1594311307

1 file

0.0.1594304438

1 file

0.0.1594299836

1 file

0.0.1594193052

1 file

0.0.1593699057

1 file

0.0.1593675740

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page