A very experimental crafting rotation solver for FFXIV.
The simulator implemented for this project was roughly rewritten from the Teamcraft simulator and is reasonably accurate, but has some rounding errors compared to actual in-game crafts.
The solver uses a basic Monte Carlo tree search (MCTS) algorithm with some hand-coded crafting rotation logic to better guide the search. Usually this method is used for two-player games like chess or go -- this solver is a single-agent variant.
To build and install from scratch (requires the Rust toolchain):
git clone https://github.com/alostsock/crafty
cd crafty
cargo install --path cli
crafty --help
Running benchmarks:
cargo bench
Flamegraphs can be generated and viewed by following the steps in this blog post.
cargo bench --profile release --bench benchmark -- --profile-time=10
wasm-pack
is used to generate an ES6 module for usage in Node.js or browsers; it can be found here. Javascript bindings can be generated from the web
crate:
wasm-pack build web --release --target web --out-name crafty