Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.

Battlecode 2018 Build StatusCoverage

Everything you need to run Battlecode 2018, aside from thousands of hours of spare time and a reasonable amount of cash.


  • battlecode-engine: The core engine component.
  • battlecode-manager: What runs matches, either as a CLI or in the cloud
  • bindings: An elegant monstrosity, more details in /bindings/
  • battlecode-sandbox: The environment in which player code is executed.
  • battlecode-maps: Map files for battlecode 2018
  • examplefuncsplayer-*: examplefuncsplayers.
  • examplefuncsplayer-*-old: examplefuncsplayers from initial release; kept around so we can monitor backwards compatibility.
  • all the junk in this folder: it's necessary, I promise


You'll need:

  • Rust and cargo 1.22.0
  • Java 8
  • SWIG 3.0
  • docker
  • python 3
    • cffi
    • eel
    • tqdm
    • werkzeug
    • ujson
    • psutil
    • docker
    • boto3
  • gcc

To build the engine and bindings, run make. (You should also run make clean as a first step if you get strange errors.) You can then run ./ (or to run without docker. You can also use make release to build in release mode (slower build, faster execution).

On windows, use build.bat, build-release.bat, and start_nodocker.bat / battlecode.bat. You'll need the same dependencies, but Visual Studio CE 2017 instead of gcc.


Clone the bc18-scaffold repo into this repo. On windows, run build-release.bat, copy-artifacts.bat, then cd into bc18-scaffold, create a new branch with the name of the release, commit the new binaries (lol) and push it. On mac os x, edit with the name of the release, run ./, and follow the instructions.