planetwars.dev/planetwars-cli/README.md
2022-02-24 22:46:48 +01:00

1.4 KiB

planetwars-cli

ATTENTION: this package is currently out-of-date.

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 configuration
  • maps/: for storing maps
  • matches/: match logs will be written here
  • bots/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!