From 044e13940ed2fa8882fe39c5981fc4eb16efe69c Mon Sep 17 00:00:00 2001 From: Ilion Beyst Date: Sun, 26 Dec 2021 22:01:27 +0100 Subject: add general README --- README.md | 56 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 56 insertions(+) (limited to 'README.md') diff --git a/README.md b/README.md index f3605d7..f19b9ab 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,59 @@ # 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: +```bash +cd web/pw-frontend +npm install +npm run build-wasm +npm run build +``` + +Then build the backend: +```bash +cd planetwars-cli +cargo build --bin pwcli --release +``` + +You can install the binary by running +```bash +cargo install --path . +``` + +## Getting started +First, initialize your workspace: +```bash +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: +```bash +pwcli run-match hex simplebot simplebot +``` + +You can now watch a visualization of the match in the web interface: +```bash +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! -- cgit v1.2.3