#ffxiv #crafting #final #fantasy #action #ff14 #condition

byregot

Byregot is yet another simulation library for crafting in FINAL FANTASY XIV, heavily inspired by the Teamcraft simulator

5 releases (3 breaking)

0.5.0 Jul 19, 2024
0.4.0 Jun 5, 2023
0.3.1 May 28, 2023
0.3.0 May 27, 2023
0.2.0 Apr 10, 2023

#34 in Simulation

MIT license

130KB
3K SLoC

byregot

Build MIT License Crates.io

Byregot is yet another simulation library for crafting in FINAL FANTASY XIV, heavily inspired by the Teamcraft simulator.

This library is written in Rust and is designed for very high performance applications that require simulations of FFXIV crafting. For this reason, this library purposefully only implements a subset of crafting. If you need the full breadth of functionality for simulating crafts, I highly suggest you just use Teamcraft simulator instead.

Features

✔️ Accurately simulates crafts with non-specialist actions.

✔️ Supports simulation for all job levels up to 100, but actions will not individually validate if your job level meets the minimum requirement.

✔️ Support for expert crafting

✔️ Simulates all random events in crafting, such as failed "Hasty Touches" and "Good" conditions.

✔️ Ability to manually set the next success and/or condition for the next step.

❌ Byregot does not implement Trained Eye.

❌ Byregot does not currently implement the specialist actions Careful Observation and Heart and Soul. This means Muscle Memory and Reflect can only be used on Normal conditions.

❌ Byregot does not currently implement the specialist action Quick Innovation.

Development

Byregot is written in Rust, and so needs Rust installed for development.

To run the tests, run cargo test.

To run the benchmarks, run cargo bench.

Usage

For example usage of the library, check out the benchmark code.

Benchmarks

Abbreviated single-threaded benchmark results on a AMD Ryzen 5950x:

full_craft_no_validate  time:   [260.27 ns 261.41 ns 262.63 ns]
full_craft              time:   [301.78 ns 303.11 ns 304.61 ns]
get_valid_actions1      time:   [13.971 ns 14.042 ns 14.118 ns]
get_valid_actions2      time:   [14.026 ns 14.103 ns 14.189 ns]
set_next_state_rng      time:   [53.456 ns 54.026 ns 54.666 ns]

This benchmark indicates roughly 3.3 million crafts per second for a 17-step craft, or roughly 56 million steps per second.

License

MIT

Special thanks to the folks at Teamcraft for the research and development of Teamcraft simulator.

Dependencies

~1.2–1.8MB
~37K SLoC