🚀
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
battlecode-engine
battlecode-manager
battlecode-maps
bindings
examplefuncsplayer-c-old Release script Jan 13, 2018
examplefuncsplayer-c fixes for ubuntu Jan 11, 2018
examplefuncsplayer-java-old Release script Jan 13, 2018
examplefuncsplayer-java oom Jan 23, 2018
examplefuncsplayer-python-old Release script Jan 13, 2018
examplefuncsplayer-python
scripts Release 1.2.0 Jan 26, 2018
.coveralls.yml Well, that was a pointless odyssey. Nov 29, 2017
.dockerignore
.gitignore
.travis.yml
Cargo.lock Ansi mode Jan 10, 2018
Cargo.toml
Makefile Remove .gitignores from scaffold Jan 22, 2018
README.md
battlecode.bat
battlecode.sh More tv features Jan 12, 2018
helpers.mk
run.bat
run.sh
run_nodocker.bat Fix run scripts Jan 16, 2018
run_nodocker.sh
t.py

README.md

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.

Layout

  • 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/README.md
  • 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

Building

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 ./start_nodocker.sh (or battlecode.sh) 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.

Releasing

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 make-release.sh with the name of the release, run ./make-release.sh, and follow the instructions.