Skip to main content

A framework for writing custom Rocket League bots that run offline.

Project description

RLBotTraining

Customizable training for Rocket Leage bots of any language.

Installation

  • Install RLBot
  • Clone this repo (RLBot/RLBotTraining)
  • Run the file run_exercises.bat

Features at a glance

  • Uses RLBot config files to support bots in any programming language
  • Reproducable training setups with randomness
  • Customizable Pass/Fail criteria
  • Importing of shots/playlists 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 playlists
  • Provide an example of striker vs goalie
  • Changes in exercise/grader source files automatically restarts the tests
  • Allow imports from RocketLeague Training
  • 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.

Source Distribution

rlbottraining-0.1.1.tar.gz (9.3 kB view details)

Uploaded Source

File details

Details for the file rlbottraining-0.1.1.tar.gz.

File metadata

  • Download URL: rlbottraining-0.1.1.tar.gz
  • Upload date:
  • Size: 9.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.6.2 requests-toolbelt/0.9.1 tqdm/4.30.0 CPython/3.7.2

File hashes

Hashes for rlbottraining-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7d360ab8c81123244ff6f2ddf1e49f5f398372f9e356a55d6037440e9a9c520c
MD5 8714a953cecb0619687834c79e1ead63
BLAKE2b-256 61ff13f53e57ea6d90fdcb05faa28b19d730b79ecd2c8fe2f39784d0c29279c8

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page