![]() |
|---|
| Demo video of RLDojo |
Free play, training packs, and custom maps are great tools for car control, but winning real games requires reading, reacting to, and outplaying your opponents. That’s why, in "real" sports, practicing game-like scenarios against other players is a critical component of training.
This type of training is sorely missing in Rocket League, so I made RLDojo to let you practice customizable drills against RLBot community-developed bots (like Nexto) for the first time.
RLDojo comes with a large handful of pre-made offensive and defensive setups or “scenarios” which make up a situation that the player can either play out on offense or defense.
In addition to the preset scenarios, I also built a way for you to create your own scenarios, by manually setting the physics of the cars and ball to start a scenario, similar to the training pack editor (but more flexible, as you can change the rotation of cars and set their velocity).
Playlists allow you to combine multiple types of scenarios (preset or custom) in order to shuffle through them. This allows you to group multiple scenarios by theme, e.g. maybe you want to work on a few different types of shadow defense or ground-based offense.
RLDojo comes with a few pre-defined playlists for you to try out, or you can create your own custom playlists.
In Race Mode, the ball will spawn in a random location (seeded so that the sequence is always the same), and the player tries to get to the ball as fast as possible. The ball will spawn elsewhere once touched, which will repeat 100 times (number of trials is selectable).
Your fastest time will be recorded and displayed on future attempts, and it is insanely addicting to try to shave seconds off your record.
While initially created just for fun, it turns out this is a really useful training method for practical / game-like movement, more useful in my opinion than things like rings maps.
As someone who got pretty serious about ranking up a few years ago, I’ve tried out just about every training tool that exists, from training packs to dozens of Bakkesmod plugins and custom maps.
I’ve also gone deep down the rabbithole of content tailored around improving gamesense (such as Flakes and Aircharged), and became obsessed with winning games through defense and decision-making.
Trying to improve at these skills made it obvious that Rocket League’s existing suite of tools is missing an entire dimension of practice: drilling scenarios repeatedly against other players.
For example:
- How can you practice shadow defense without an opponent attacking?
- How can you get better at taking 50/50s without someone on the other side of the ball?
- How can you react to and save a redirecting shot, if training packs can only send a ball from one point?
The goal of RLDojo is to make these scenarios (and infinitely more) possible to train repeatedly!
Installation guide here: https://www.youtube.com/watch?v=1GbHdYeG1cc
Note: RLDojo has now been added to RLBotPack, so no need to download the RLDojo release manually!
To get RLDojo up and running:
- Install RLBot: rlbot.org
- In RLBotGUI, go to
+Add->Download Bot Pack(this will download the 'standard' bots) - In RLBotGUI, select the
All botstab at the top, and findDojounder theScriptssection- If there is a yellow triangle next to
Dojo, click it to install any needed packages
- If there is a yellow triangle next to
- Enable
Dojoby clicking the toggle - In RLBotGUI, click the
Mutatorsoption at the bottom. ChangeMatch Lengthto "Unlimited", andRespawn Timeto "Disable Goal Reset" - In RLBotGUI, click the
Extrasoption at the bottom. Select the following:
- Make sure "Human" is on the Blue team, and add any bot (I recommend starting with
Necto) to the Orange team. - Hit
Launch Rocket League and start match. - Have fun!
It’s free! My motivation for making this is that I love this game, and I want to see it and its competitive community thrive.
If you feel particularly inclined to give back, feel free to follow me on Twitch and/or Youtube!
If that's not enough, feel free to buy me a coffee :)
