Metadata-Version: 2.1
Name: rlbottraining
Version: 0.6.1
Summary: A framework for writing training for Rocket League bots.
Home-page: https://github.com/RLBot/RLBotTraining
Author: RLBot Community
Author-email: rlbotofficial@gmail.com
License: MIT License
Description: # RLBotTraining
        Customizable training for Rocket League bots of any language.
        
        ## Tutorial: [Click Here](https://youtu.be/uGFmOZCpel8?list=PL6LKXu1RlPdxh9vxmG1y2sghQwK47_gCH)
        
        ## 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_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 by `Grader`s
         - 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 `Grader`s will allows you to share termination conditions, safely store state across ticks and provide metrics.
         - Compose your `Grader`s. For instance, by using `CompoundGrader`
         - Provide meaningful error messages in your `Grader`s 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
        
Keywords: rocket-league,training,train
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.7.0
Description-Content-Type: text/markdown
