rl_ball_sym
Rust implementation of ball path prediction for Rocket League; Inspired by Samuel (Chip) P. Mish's C++ utils called RLUtilities.
This crate also contains fixes to discovered errors stemming from the original repo.
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 22.04.1 with a Ryzen 9 5900X with 3600MHz CL18 RAM.
Numbers will vary depending on your system.
load_soccer: Loads 8028 triangles, executes in around910µsload_hoops: Loads 15732 triangles, executes in around1.82msload_dropshot: Loads 3616 triangles, executes in around410µsload_soccer_throwback: Loads 9272 triangles, executes in around1.16msget_ball_prediction_struct_for_time: Soccer + 8 seconds, executes in around140µsget_ball_prediction: Soccer + 6 seconds, executes in around110µsget_ball_prediction: Hoops + 6 seconds, executes in around200µsget_ball_prediction: Dropshot + 6 seconds, executes in around90µsget_ball_prediction: Soccer + Throwback Stadium + 6 seconds, executes in around110µs
Features
uncompressed: Default feature. Enables the loading of uncompressed binary field data, which is faster but increases the size of the final binary.compression: Nightly only - Minimize the size of the produced binaries by compressing the binary field data at compile time. Will slightly slow download_x()functions.stable-compression: Does the same ascompressionusing the same crate, but available for use in stable Rust.fast-math: Enables thefast-mathfeature in theglamcrate.