Crates.io | rlgym_sim_rs |
lib.rs | rlgym_sim_rs |
version | 0.8.0-alpha |
source | src |
created_at | 2023-11-09 03:05:46.321729 |
updated_at | 2024-07-16 02:20:36.825399 |
description | Rust port of RLGym-sim |
homepage | |
repository | https://github.com/JeffA233/rlgym-sim-rs |
max_upload_size | |
id | 1029681 |
size | 259,093 |
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.
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.
See the docs here.
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.
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.