C++ Lua C Shell CMake AutoHotkey Batchfile
Latest commit 836b231 Jan 3, 2017 @edran edran Use v1.0-2 in quick_setup

README.md

TorchCraft

A bridge between Torch and StarCraft.

A general overview of the system (and motivations for using TorchCraft) can be found in:

Synnaeve, G., Nardelli, N., Auvolat, A., Chintala, S., Lacroix, T., Lin, Z., Richoux, F. and Usunier, N., 2016. TorchCraft: a Library for Machine Learning Research on Real-Time Strategy Games - arXiv:1611.00625.

Installation

Please follow the installation instructions.

You will need to have a license of StarCraft: Brood War.

The most tested and stable way to set it up is to have StarCraft running on Windows and Torch running in Linux or Mac OS X. If you already have StarCraft, you need to install BWAPI, copy a few files, and either launch the AIModule (DLL) OR launch the AIClient (EXE).

You can also run StarCraft on Linux through Wine, but this may be a bit more complicated, start with BWAPI on Linux.

Running TorchCraft

See examples/ for a list of scripts that you can try. The simplest examples come in two flavors: DLL/AIModule based and EXE/AIClient based. In all cases, the $server_ip is the ip address of the machine running StarCraft.

DLL/AIModule TorchCraft

Windows

  1. Open bwapi.ini and set ai = PATH\TO\BWEnv.dll (or copy ours from config/bwapi.in)
  2. Start ChaosLauncher, enable BWAPI DLL Injector [Release].
  3. Press Start.

Linux

  1. Run
$ cd examples
$ th simple_dll.lua -t $server_ip

EXE/AIClient TorchCraft

Windows

  1. Start BWEnv.exe.

Linux

  1. Run
$ cd examples
$ th simple_exe.lua -t $server_ip

Citation

Please cite the arXiv paper if you use TorchCraft in your work:

@article{synnaeve2016torchcraft,
  title={TorchCraft: a Library for Machine Learning Research on Real-Time Strategy Games},
  author={Synnaeve, Gabriel and Nardelli, Nantas and Auvolat, Alex and Chintala, Soumith and Lacroix, Timoth{\'e}e and Lin, Zeming and Richoux, Florian and Usunier, Nicolas},
  journal={arXiv preprint arXiv:1611.00625},
  year={2016}
}

Contributing

See Contributing