RLBot / AutoLeaguePlay

An automatic league-runner for Rocket League bots (RLBot)
MIT License
0 stars 3 forks source link

Make `forfeit` command to easily create forfeits for a bot that doesn't work #20

Open NicEastvillage opened 5 years ago

NicEastvillage commented 5 years ago

Sometimes a bot doesn't work, and to make ALP skip the matches containing the bot, it would be nice if we could just call a command that constructed the necessary result files.

Example; SpeedBot does not work and is supposed to play against Levi, Beetle, and Beast from the East. The command autoleagueplay forfeit "SpeedBot(The Bot)" Levi Beetle "Best from the East" would create results where SpeedBot loses to those bots. Like:

SpeedBot(The Bot)_vs_Levi.json:

{
    "blue": "SpeedBot(The Bot)",
    "orange": "Levi",
    "blue_goals": 0,
    "orange_goals": 0,
    "blue_shots": 0,
    "orange_shots": 0,
    "blue_saves": 0,
    "orange_saves": 0,
    "blue_points": 0,
    "orange_points": 0,
    "forfeit": true,            <------- maybe a value to indicate forfeit
    "winner": "Levi",
    "loser": "SpeedBot(The Bot)",
}

The hard part is knowing which team the bots are on, which is important since ALP names files as blue_vs_orange. The underdog is typically blue though, maybe that can be used. We could also generate files for both combinations to solve that issue or make the user in control by using another command syntax than the one I suggested above.

tarehart commented 5 years ago

Good idea! Another related issue is that it seems necessary at the moment to kill the ALP process to facilitate a FF. We should make sure that the solution doesn't require a hard kill, since that kills RLBot.exe, which tends to break the obs overlay, leave rendering junk on the screen, or crash rocket league.