add general README

This commit is contained in:
Ilion Beyst 2021-12-26 22:01:27 +01:00
parent 31b439ee31
commit 044e13940e
2 changed files with 57 additions and 10 deletions

View file

@ -1,3 +1,59 @@
# mozaic4 # mozaic4
Because third time's the charm! 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!

View file

@ -1,10 +1 @@
# planetwars-localdev # planetwars-cli
Tools for developping planetwars bots locally.
## Getting started
1. Initialize your workspace directory: `pwcli init my_workspace`
2. Enter your fresh workspace: `cd my_workspace`
3. Run an example match: `pwcli run-match hex simplebot simplebot`
4. View your match in the web UI: `pwcli serve`