Skip to content

JeffA233/rlgym-sim-rs

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

rlgym-sim-rs

Initial release of Rust RLGym for sim. More documentation soon.

Originally a port of rocket-league-gym-sim (which is a version of RLGym). It no longer has exactly the same functionality but the goal is moving from one to the other should not be difficult.

Differences between RLGym-sim and rlgym-sim-rs

Observation functions must be provided as a Vec (Vec<Box<dyn ObsBuilder>>) where the length must be equal to the number of agents that will be in the match. The current functionality is that observation builders are per-agent and hence independent of each other.

Terminal conditions must return only a singular boolean when called.

Info does not return the state for now. Unfortunately mixed-type HashMaps are not possible by default with PyO3 though this may be adapted in the future. This crate is adapted a bit more for the ease of use of bindings via PyO3, though it can be used entirely from Rust as well, so this has been left as-is for now.

Docs

See the docs here.

Installation

Installed via cargo: cargo add rlgym-sim-rs

While RocketSim will automatically compile thanks to Virx's bindings, you must still use your own collision meshes.

Usage

See examples/basic_examples.rs for how to create the gym. Also see tests/tester.rs and tests/team_change_test.rs as more extensive examples. You can also look at examples/lib.rs for an example of how to create Python bindings that you can use.