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.
Make sure you have Rust/Cargo installed, then just run cargo test --release
in the terminal.
Check out the examples folder! If you want to run them and don't know how:
bat
cargo run --example example_name
For example, to run the example basic.rs
:
bat
cargo run --example basic
Numbers are with default features from a system running Ubuntu 22.10 with a Ryzen 9 5900X with 3600MHz CL18 RAM.
Numbers will vary depending on your system.
load_standard
: Loads 8028 triangles, executes in around 860µs
load_hoops
: Loads 15732 triangles, executes in around 1.77ms
load_dropshot
: Loads 3616 triangles, executes in around 390µs
load_standard_throwback
: Loads 9272 triangles, executes in around 1.08ms
get_ball_prediction_struct_for_time
: standard + 8 seconds, executes in around 140µs
get_ball_prediction
: standard + 6 seconds, executes in around 105µs
get_ball_prediction
: Hoops + 6 seconds, executes in around 195µs
get_ball_prediction
: Dropshot + 6 seconds, executes in around 85µs
get_ball_prediction
: standard + Throwback Stadium + 6 seconds, executes in around 110µs
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 down load_x()
functions. stable-compression
: Does the same as compression
using the same crate, but available for use in stable Rust.fast-math
: Enables the fast-math
feature in the glam
crate.