A framework for writing training for Rocket League bots.
Project description
RLBotTraining
Customizable training for Rocket League bots of any language.
Tutorial: Click Here
Installation
- Install Python 3.7 or later
pip install rlbottraining
Features at a glance
- Uses
RLBot
config files to support bots in any programming language - Reproducable training setups with seeded randomness
- Customizable Pass/Fail criteria
- Importing of shots/playlists from BakkesMod training
- Playlists of exercises
- Automatic reloading of both bot and exercise code
- Imports from bakkesmod training
Architecture
- At the entry point (
run_exercises.py
) we decide whichGraderExercise
should be run and theconfig_path
s define the RLBot setup to be used (which bots, which mode). - Each
GraderExercise
composes together the initial game state and how the bot is judged. The responsibility of judging the bot is handled byGrader
s - A
Grader
decides whether to continue the exercise or toPass
/Fail
the exercise by looking at each tick. AGrader
may optionally gather metrics (e.g. "time until goal") to help track bot performance as the bot is improved. - Separation of responsiblity: This repository is designed to make it nice to define new exercises whereas the training API of the
RLBot
framework provides the minimum features for any training to occur.
Tips for writing your own exercises:
- Always subclass
GraderExercise
rather thanExercise
. UsingGrader
s will allows you to share termination conditions, safely store state across ticks and provide metrics. - Compose your
Grader
s. For instance, by usingCompoundGrader
- Provide meaningful error messages in your
Grader
s by subclassingFail
Future direction
- Provide an example of striker vs goalie
- Put metrics (
Grader.get_metrics()
) into a database - A way of browsing past runs, including metrics
- Reproducing failed exercises
- Visualization of metrics
- Continous integration of different bots
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
rlbottraining-0.5.0.tar.gz
(56.7 kB
view details)
File details
Details for the file rlbottraining-0.5.0.tar.gz
.
File metadata
- Download URL: rlbottraining-0.5.0.tar.gz
- Upload date:
- Size: 56.7 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.31.1 CPython/3.7.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 52632788fd5f468574a54fbc37faf5b9ec8519af7e9f6b53ba41cccd37bf91e6 |
|
MD5 | f0835dc8c5ef9e18a8037d4f794dcbd9 |
|
BLAKE2b-256 | 0672097d358d5475232c5178c68273ccc404abba348383a778c6e7babe4d1fe7 |