Skip to main content

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 which GraderExercise should be run and the config_paths 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 by Graders
  • A Grader decides whether to continue the exercise or to Pass/Fail the exercise by looking at each tick. A Grader 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 than Exercise. Using Graders will allows you to share termination conditions, safely store state across ticks and provide metrics.
  • Compose your Graders. For instance, by using CompoundGrader
  • Provide meaningful error messages in your Graders by subclassing Fail

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for rlbottraining, version 0.6.0
Filename, size File type Python version Upload date Hashes
Filename, size rlbottraining-0.6.0.tar.gz (47.0 kB) File type Source Python version None Upload date Hashes View hashes

Supported by

Elastic Elastic Search Pingdom Pingdom Monitoring Google Google BigQuery Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page