planetwars.dev/planetwars-cli
2022-02-24 22:46:48 +01:00
..
assets refactor workspace code 2021-12-28 14:57:41 +01:00
src extract matchrunner crate from planetwars-cli 2022-01-01 12:10:02 +01:00
Cargo.toml extract matchrunner crate from planetwars-cli 2022-01-01 12:10:02 +01:00
README.md update README 2022-02-24 22:46:48 +01:00

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!