Skip to content

Commit

Permalink
Add the ability to Supercharge bots
Browse files Browse the repository at this point in the history
  • Loading branch information
VirxEC committed Jun 27, 2021
1 parent 337a135 commit bafd887
Show file tree
Hide file tree
Showing 5 changed files with 485 additions and 0 deletions.
65 changes: 65 additions & 0 deletions RLBotPack/SuperchargedBots/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
# Supercharged Bots

## Config

### help_blue_team

Set to `true` to enable the blue team, and `false` to disable.

### help_orange_team

Set to `true` to enable the orange team, and `false` to disable.

### bots_only

Set to `true` to only enable for bots, and `false` to also enable for humans.

### bonus_boost_accel_percent

The **bonus** acceleration when boosting and not steering. Set to any positive number.

Example: `150` would be a *bonus* of 150% acceleration, meaning that the boost strength is actually 2.5x or 250%.

### bonus_boost_tank

The **bonus** boost in a car's tank. Set to any positive number.

Example: `900` would be a *bonus* of 900 boost, meaning that there's actually 1000 boost in the tank. Boost is consumed at 33.333 boost per second, so that's 30 seconds of boost.

NOTE: The amount that you get from boost pads doesn't change! This means that pads give you 12% of your total tank and pills give you 100% of your total tank.

NOTE 2: The boost meter that you see on screen is in percents, so it goes from 0% to 100% full.

### minimum_boost

The minimum % of boost for cars to have. Set to any integer between (and including) `0` to `100`.

## Bots with no support

By default, no bots actually supports Supercharged bots. With this in mind, I've tuned this to not interfere with bots and actually help them.

When on the ground, the extra boost acceleration is only applied when the bot's boosting and `steer` is less than or equal to `0.2`.

When in the air, the extra boost acceleration is only applied when the bot's boosting and `yaw` as well as `pitch` are less than or equal to `0.2`.

## Supporting Supercharged bots

Every 0.1 seconds, a packet is sent through the matchcomms system containing the names of the cars that are supercharged. It also contains information on the current configuration.

Example packet (2 Kamael + Human vs 3 Kamael, bots only, blue team only):

```json
{
"supercharged_bots": [
"Kamael",
"Kamael (1)"
],
"supercharged_config": {
"bonus_boost_accel_percent": 150,
"bonus_boost_tank": 900,
"minimum_boost": 1
}
}
```

Once you've added support for your bot being Supercharged, you can add the tag `supports-supercharged-bots` in the `[Details]` section of your bot's config!
20 changes: 20 additions & 0 deletions RLBotPack/SuperchargedBots/SuperchargedBots.cfg
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
[Locations]
name = SuperchargedBots
script_file = ./SuperchargedBots.py
maximum_tick_rate_preference = 60

[Details]
developer = VirxEC
description = Equips bots with next-gen engines and boost extraction tech that let bots get more boost from pads, use less boost, and boost faster than ever before!
fun_fact = You can configure this (bots only, disable teams, and more) in SuperchargedBots.cfg! (Click on Show Files, it's a text file you can open in Notepad)
github = https://github.com/VirxEC/SuperchargedBots
language = Python 3
tags = enables-supercharged-bots
[Options]
help_blue_team = true
help_orange_team = true
bots_only = true
bonus_boost_accel_percent = 150
bonus_boost_tank = 900
minimum_boost = 1
Loading

0 comments on commit bafd887

Please sign in to comment.