backend | ||
planetwars-cli | ||
planetwars-rules | ||
web | ||
.gitignore | ||
Cargo.toml | ||
README.md |
mozaic4
Because third time's the charm!
pwcli
Note: this project is under active development. All file and configuration formats will take some time to stabilize, so be prepared for breakage when you upgrade to a new version.
Building
The cli comes with a local webserver for visualizing matches. Therefore, you'll have to build the web application first, so that it can be embedded in the binary.
You will need:
- rust
- wasm-pack
- npm
First, build the frontend:
cd web/pw-frontend
npm install
npm run build-wasm
npm run build
Then build the backend:
cd planetwars-cli
cargo build --bin pwcli --release
You can install the binary by running
cargo install --path .
Getting started
First, initialize your workspace:
pwcli init my-planetwars-workspace
This creates all required files and directories for your planetwars workspace:
pw_workspace.toml
: workspace configurationmaps/
: for storing mapsmatches/
: match logs will be written herebots/simplebot/
an example bot to get started
All subsequent commands should be run from the root directory of your workspace.
Try playing an example match:
pwcli run-match hex simplebot simplebot
You can now watch a visualization of the match in the web interface:
pwcli serve
You can now try writing your own bot by copying the simplebot
example. Don't forget to add it in your workspace configuration!