42 releases (stable)
4.0.0 | May 9, 2024 |
---|---|
3.1.3 | Jul 25, 2023 |
3.1.2 | May 31, 2023 |
3.0.0 | Mar 2, 2023 |
0.2.0 | Jul 6, 2021 |
#32 in Simulation
186 downloads per month
535KB
2.5K
SLoC
rl_ball_sym
Rust implementation of Rocket League's ball physics; Inspired by Samuel P. Mish's C++ utils called RLUtilities with accuracy improvements from RocketSim and other miscellaneous performance improvements.
Running
Make sure you have Rust/Cargo installed, then just run cargo test --release
in the terminal.
Example implementations
Check out the examples folder! If you want to run them and don't know how:
cargo run --example example_name
For example, to run the example basic.rs
:
cargo run --example basic
Performance numbers
Numbers are from a system running Ubuntu 23.10 with a Ryzen 9 5900X and 3600MHz CL18 RAM.
Numbers will vary depending on your system. Only default features are enabled.
load_standard
: Loads 8028 triangles, executes in around650µs
load_hoops
: Loads 15732 triangles, executes in around1.30ms
load_dropshot
: Loads 3616 triangles, executes in around300µs
load_standard_throwback
: Loads 9272 triangles, executes in around810µs
get_ball_prediction_struct_for_time
: standard + 8 seconds, executes in around200µs
get_ball_prediction
: standard + 6 seconds, executes in around150µs
get_ball_prediction
: Hoops + 6 seconds, executes in around160µs
get_ball_prediction
: Dropshot + 6 seconds, executes in around140µs
get_ball_prediction
: standard + Throwback Stadium + 6 seconds, executes in around155µs
Features
standard
: Enable loading the standard maphoops
: Enable loading the hoops mapdropshot
: Enable loading the dropshot mapthrowback
: Enable loading the throwback map (with standard game rules)compression
: Minimize the size of the produced binaries by compressing the binary field data at compile time. Will slightly slow download_x()
functions.
Dependencies
~3–4.5MB
~98K SLoC