6 releases (breaking)
0.8.0-alpha | Jul 16, 2024 |
---|---|
0.7.0-alpha | Dec 20, 2023 |
0.6.0-alpha | Dec 1, 2023 |
0.5.0-alpha | Nov 27, 2023 |
0.3.0-alpha | Nov 9, 2023 |
#215 in Machine learning
250 downloads per month
200KB
4K
SLoC
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.
Dependencies
~14MB
~252K SLoC