Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion docs/botmaking/config-file-documenation.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ NOTE: None of these take an effect currently
### Match Configuration

- num_participants: The total number of cars that will be spawned into the match.
- game_mode: 'Soccer', 'Hoops', 'Dropshot', 'Hockey', 'Rumble'
- game_mode: 'Soccar', 'Hoops', 'Dropshot', 'Snowday', 'Rumble'
- game_map, e.g. "Mannfield". [All possible values](https://github.com/RLBot/RLBot/blob/master/src/main/python/rlbot/parsing/match_settings_config_parser.py#L40-L78)
- skip_replays: If True, replays are automatically skipped after a goal. However, also prevents match replays from being saved.
- start_without_countdown: If True, skips kickoff countdown
Expand Down
2 changes: 1 addition & 1 deletion docs/botmaking/dropshot.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ At kickoff the ball is launched straight up into the air with a velocity of 1000

You always spawn with 100 boost.

Kickoff spawn locations are similar to soccer spawn locations, but not identical. In dropshot spawn locations are:
Kickoff spawn locations are similar to soccar spawn locations, but not identical. In dropshot spawn locations are:

| Kickoff | Blue | Orange |
|-----------------|-----------------------------------|-----------------------------------|
Expand Down
2 changes: 1 addition & 1 deletion docs/botmaking/hoops.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ Note: Some of these coordinates have been rounded.

## Ball

The radius of the ball is 98.38. When the kickout countdown hits zero, the ball is given a Z velocity of 1000. But other than that, the physics of the ball is similar to soccer.
The radius of the ball is 98.38. When the kickout countdown hits zero, the ball is given a Z velocity of 1000. But other than that, the physics of the ball is similar to soccar.

## Spawning

Expand Down
2 changes: 1 addition & 1 deletion docs/framework/psyonix-api-notes.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ We're aiming for a backwards compatibility with this first bot API release, so e
- Latest ball touch will always be blank for now (fixed)
- Boost respawn timers don't work yet
- Unfortunately, quick chat is not supported yet (1/2 fixed)
- We only support Soccer, exhibition mode at the moment. (More modes are supported)
- We only support Soccar, exhibition mode at the moment. (More modes are supported)
- The game data will currently update in memory at 60Hz, ~~regardless of Rocket League's frame rate~~ (anecdotally it seems to be capped at the frame rate). We may be able to tune that later. (We now have 120hz)
- The Psyonix API itself and the code that interfaces with it directly are closed source at the moment.

Expand Down
2 changes: 1 addition & 1 deletion docs/index.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Overview

!!! note "RLBot v5 is in beta!"
!!! tip "RLBot v5 is in beta!"
Learn more about v5 in the [RLBot v5 Overview](/v5/framework/v5) and start converting your bot today!

Welcome to the RLBot wiki!
Expand Down
6 changes: 3 additions & 3 deletions docs/v5/botmaking/ball-path-prediction.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,12 +7,12 @@ RLBot v5's ball prediction is 6 seconds' worth of ball path data, each advancing

## Message structure

[The `BallPrediction` flatbuffer](https://github.com/RLBot/flatbuffers-schema/blob/main/gamedata.fbs#L361-L367) defines the data in each message. The message is a list of 720 `PredictionSlice`s, with each slice advancing 1/120 of a second into the future past the previous slice.
[The `BallPrediction` flatbuffer](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/gamedata.fbs#L417-L423) defines the data in each message. The message is a list of 720 `PredictionSlice`s, with each slice advancing 1/120 of a second into the future past the previous slice.

A `PredictionSlice` contains the following fields:

- `game_seconds` - The moment in game time that this prediction corresponds to. This corresponds to 'seconds_elapsed' in [`MatchInfo`](https://github.com/RLBot/flatbuffers-schema/blob/main/gamedata.fbs#L254-L279).
- `physics` - The [`Physics`](https://github.com/RLBot/flatbuffers-schema/blob/main/gamedata.fbs#L116-L122) information for the ball at this slice. This contains:
- `game_seconds` - The moment in game time that this prediction corresponds to. This corresponds to 'seconds_elapsed' in [`MatchInfo`](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/gamedata.fbs#L294-L327).
- `physics` - The [`Physics`](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/gamedata.fbs#L123-L129) information for the ball at this slice. This contains:
- `location`
- `velocity`
- `angular_velocity`
Expand Down
12 changes: 6 additions & 6 deletions docs/v5/botmaking/config-files.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ The framework uses four types of config files, commonly known as:

## Bot & Script Config Files

A bot/script config file defines a bot/script and its attributes, closely resembling the `PlayerConfiguration`/`ScriptConfiguration` from the [flatbuffer schema](https://github.com/RLBot/flatbuffers-schema/blob/main/matchconfig.fbs).
A bot/script config file defines a bot/script and its attributes, closely resembling the `PlayerConfiguration`/`ScriptConfiguration` from the [flatbuffer schema](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/matchconfig.fbs).
The content of config files for bots and scripts are very similar, so the file extension indicates whether it is a bot or script:

- **Bots:** Named `bot.toml` or ends with `.bot.toml`. Here are examples of valid names: `bot.toml`, `Necto.bot.toml`, `atba.bot.toml`
Expand All @@ -37,7 +37,7 @@ It should also be noted that whatever prefixes the `.bot.toml`/`.script.toml` fi
- `developer` - The developer(s) of the bot/script.
- `language` - The language the bot/script is written in.
- `tags` - A list of tags that describe the bot/script. These will affect which categories in the GUI your bot/script appear in. Possible tags:
- `1v1` - The bot plays traditional 1v1 soccer.
- `1v1` - The bot plays traditional 1v1 soccar.
- `teamplay` - The bot considers team mates and rotates.
- `goalie` - Only add this tag if your bot *only* plays as a goalie. Incompatible with teamplay tag!
- `hoops` - The bot understands the Hoops game mode.
Expand All @@ -47,7 +47,7 @@ It should also be noted that whatever prefixes the `.bot.toml`/`.script.toml` fi
- `heatseeker` - The bot understands the Heatseeker game mode.
- `memebot` - The bot has an untraditional play style.

!!! note "Psyonix Bot Presets"
!!! tip "Psyonix Bot Presets"
If a Psyonix bot is not given a name, it will be a random [standard Psyonix bot](https://rocketleague.fandom.com/wiki/Bot). If a Psyonix bot's name matches a standard Psyonix bot, it will use the standard loadout of that bot unless a loadout file is specified.

??? example "Example `bot.toml` that runs a Python bot in a virtual environment"
Expand Down Expand Up @@ -163,7 +163,7 @@ Loadout config files, e.g. `loadout.toml`, define a bot's default loadout. They

## Match Config Files

A match config file, e.g. `match.toml`, define a match and its settings, closely resembling `MatchConfiguration ` from the [flatbuffer schema](https://github.com/RLBot/flatbuffers-schema/blob/main/matchconfig.fbs).
A match config file, e.g. `match.toml`, define a match and its settings, closely resembling `MatchConfiguration ` from the [flatbuffer schema](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/matchconfig.fbs).

**Sections and fields:**

Expand All @@ -175,7 +175,7 @@ A match config file, e.g. `match.toml`, define a match and its settings, closely
- `auto_start_agents` - Boolean (default: true). Whether bots and scripts should be started using their run command. It is also possible to disable auto-starting for individual bots and scripts. See `[cars]::auto_start` and `[scripts]::auto_start`.
- `wait_for_agents` - Boolean (default: true). Whether RLBot should wait for bots and scripts to be connected and ready before starting the match.
- `[match]`
- `game_mode` - The game mode. Either `"Soccer"` (default), `"Hoops"`, `"Dropshot"`, `"Hockey"`, `"Rumble"`, `"Heatseeker"`, `"Gridiron"`, or `"Knockout"`. This affects ball prediction and a few of the game rules although many game modes can also be recreated solely from mutators. See what mutators and game mode combinations make up the official modes [here](https://github.com/RLBot/python-interface/tree/master/tests/gamemodes).
- `game_mode` - The game mode. Either `"Soccar"` (default), `"Hoops"`, `"Dropshot"`, `"Snowday"`, `"Rumble"`, `"Heatseeker"`, `"Gridiron"`, or `"Knockout"`. This affects ball prediction and a few of the game rules although many game modes can also be recreated solely from mutators. See what mutators and game mode combinations make up the official modes [here](https://github.com/RLBot/python-interface/tree/master/tests/gamemodes).
- `game_map_upk` - The map upk file to load, e.g. `"UtopiaStadium_P"`. On Steam version of Rocket League this can be used to load custom map files, but on Epic version it only works on the Psyonix maps. Available maps can be found [here](https://github.com/RLBot/python-interface/blob/master/rlbot/utils/maps.py).
- `cars` - A list of players in the match. See the car section below for fields of cars.
- `scripts` - A list of scripts in the match. See the script section below for fields of scripts.
Expand Down Expand Up @@ -250,7 +250,7 @@ A match config file, e.g. `match.toml`, define a match and its settings, closely
wait_for_agents = true

[match]
game_mode = "Soccer"
game_mode = "Soccar"
game_map_upk = "Stadium_P"
skip_replays = false
start_without_countdown = false
Expand Down
2 changes: 1 addition & 1 deletion docs/v5/botmaking/matchcomms.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ Use cases:

## Message structure

[The `MatchComm` flatbuffer](https://github.com/RLBot/flatbuffers-schema/blob/main/comms.fbs#L3-L22) defines the data in each message:
[The `MatchComm` flatbuffer](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/comms.fbs) defines the data in each message:

- `index` - The index of the player that sent this message. For scripts, this value is the index in the match configuration instead.
- `team` - The team of the player that sent this message. `0` for blue, `1` for orange and `2` for scripts.
Expand Down
16 changes: 8 additions & 8 deletions docs/v5/botmaking/rendering.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ RLBot v5 doesn't have any keybinds to toggle rendering mid-match. Mid-match rend

## Render anchors

A [render anchor](https://github.com/RLBot/flatbuffers-schema/blob/main/rendering.fbs#L51-L61) is a point in space consisting of either or both of a world component and optionally a relative component:
A [RenderAnchor](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/rendering.fbs#L48-L59) is a point in space consisting of either or both of a world component and optionally a relative component:

- The world component is a fixed point in global coordinates.
- The relative component is given by a car or ball and includes a local offset that takes the position and orientation of the object into account. The render *will stay attached to the object they are associated with* and do not have to be updated each tick.
Expand All @@ -27,16 +27,16 @@ This will position the render underneath the car, with the render moving relativ

## Render types

- [Line3D](https://github.com/RLBot/flatbuffers-schema/blob/main/rendering.fbs#L63-L68) - Draws a line between 2 points in 3D space.
- [PolyLine3D](https://github.com/RLBot/flatbuffers-schema/blob/main/rendering.fbs#L70-L74) - Draws a continuous line through a series of 3D points. World coordinates only.
- [Line3D](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/rendering.fbs#L61-L66) - Draws a line between 2 points in 3D space.
- [PolyLine3D](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/rendering.fbs#L68-L72) - Draws a continuous line through a series of 3D points. World coordinates only.

??? info "PolyLine3D is more efficient than Line3D for a series of lines"
??? tip "PolyLine3D is more efficient than Line3D for a series of lines"
This is the recommended way to draw a large number of points in a continuous line, as it is more efficient than sending multiple `Line3D` messages. While this method was available in RLBot v4, it was implemented by sending a series of `Line3D` messages which defeated the purpose.

- [String2D](https://github.com/RLBot/flatbuffers-schema/blob/main/rendering.fbs#L76-L96) - Draws a string in 2D space (screen space).
- [String3D](https://github.com/RLBot/flatbuffers-schema/blob/main/rendering.fbs#L98-L115) - Draws a billboard string in 3D space.
- [Rect2D](https://github.com/RLBot/flatbuffers-schema/blob/main/rendering.fbs#L117-L134) - Draws a rectangle in 2D space (screen space).
- [Rect3D](https://github.com/RLBot/flatbuffers-schema/blob/main/rendering.fbs#L136-L151) - Draws a billboard rectangle in 3D space.
- [String2D](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/rendering.fbs#L74-L101) - Draws a string in 2D space (screen space).
- [String3D](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/rendering.fbs#L103-L126) - Draws a billboard string in 3D space.
- [Rect2D](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/rendering.fbs#L128-L151) - Draws a rectangle in 2D space (screen space).
- [Rect3D](https://github.com/RLBot/flatbuffers-schema/blob/main/schema/rendering.fbs#L153-L173) - Draws a billboard rectangle in 3D space.

### Coordinates and sizes

Expand Down
2 changes: 1 addition & 1 deletion docs/v5/botmaking/tick-rate.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,6 @@ There are several factors that influence tick rate:

In other words, the tick rate is `min(rocketLeagueFPS, 120)`.

If you ever see a performance monitor pop up in-game on the left-hand side and it says anything other than `rlbot: 100%`
If you ever see a performance monitor pop up in-game on the left-hand side and it says anything other than `RLBot: 100%`
then RLBot is missing ticks due to a low or inconsistent frame rate.
If any individual bot shows less than 100%, then only that bot is missing ticks because its logic is running too slowly.
2 changes: 1 addition & 1 deletion docs/v5/community/story-mode.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Story Mode

!!! note "Story Mode in v5"
!!! info "Story Mode in v5"
RLBot Story Mode for v5 is planned, but will not be finished until after the beta has ended. See [Overview of v5](/v5/framework/v5) for updates.

Story Mode is a custom single player campaign where you play with and against stronger and stronger bots. You will be unlocking regions, recruiting team mates, and buying upgrades. Story Mode is available in the [RLBotGUI (for v4)](https://rlbot.org/).
Expand Down
2 changes: 1 addition & 1 deletion docs/v5/framework/remote-rlbot.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

!!! warning "Automatically starting bots"
RLBot can't automatically start bots or scripts on remote machines. You will need to start them manually, using custom software.
For this process to work as intended, you should still have `auto_start_bots` set to `true` in RLBot because you the bots will be started automatically, just not by RLBot itself. For each player and script in the match, ensure `run_command = ""`. This will ensure RLBot still waits for all processes to connect. You can also use `run_command` to run your custom software, which you can then use to start your bots or scripts on the remote machine.
For this process to work as intended, you should still have `auto_start_bots` set to `false` in RLBot because even though you might be starting the processes automatically, RLBot itself is not.

RLBot, by default, listens for TCP connections on `0.0.0.0` (all interfaces) on port `23234`. This port can be changed by launching RLBot and specifying a different port for the first argument. For example, to have RLBot listen on port `12345` instead, you would run `RLBotServer.exe 12345`.

Expand Down
Loading