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
130KB
3K
SLoC
byregot
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