RLBot / RLBotPack

A collection of ready-to-use bots made by the community.
MIT License
32 stars 44 forks source link

Move old bots/scratch bots to "stale" botpack repo #307

Closed ddthj closed 11 months ago

NicEastvillage commented 1 year ago

What will be our definition of stale? I assume it will be based on skill level, age, and popularity, but not active development since the bot pack is often used to release bots that are "done". Also, we cannot remove bots that are used in Story Mode.

Skimming through the pack I do not see a lot of obvious candidates unless we go quite strict.

VirxEC commented 1 year ago

JoeyBot, Levi, Om Nom, PacificScienceScratcher, Zoomelette, and any other bots their developers might consider "outdated" and don't want in the botpack anymore.

Personally, I'd opt for ABot & VirxEB to be removed from the botpack.

VirxEC commented 1 year ago

Emphasis on the fact that Scratch bots won't be accepted into the botpack, and are only a tool for newcomers to try out the RLBot framework without really diving into programming.

They require too many dependencies and can't reach a very high skill level that justifies all the software being installed on every computer that installs RLBot.

ddthj commented 1 year ago

Airballbot and script too as I never got around for making a tournament for that

TangilJ commented 1 year ago

Let's compile a list of all bots that we could move out.

Here are a list of bots used in Story Mode that we cannot remove unless we change Story Mode: adversity, airbud, baf, beast, botimus, bribble, broccoli, bumblebee, cryo, element, invisibot, king, leaf, molten, monkey, nexto, nombot, noobbot, penguin, phoenix, rashbot, reliefbot, sdc, skybot, snek, sniper, stick, wildfire

Source: https://github.com/RLBot/RLBotGUI/blob/master/rlbot_gui/story/story-default.json

These are all the bots/scripts in the botpack currently: 50-50-minigame, aether, airball, atlas_wintertide_patch, beastbot, bitbot, blind_and_deaf, botimus&bumblebee, bribblebot, broccolibot, caster_bot, cheesebot family, codename_cryo, custommutators/zerog, disasterbot, domnomnom, element, elkbot, engine, fillamentbot, formularbot, immortal, invisibot, isopod_for_botpack, joeybot, kamael_family, kickoffonly, king, l0laapk3_shared/rlutilities, laserboi, levi, marvinbots, mirrorbot, molten, monkey, necto, noob_bot, om_nom, omus, oneborg, pacificsciencescratcher, penguinbot, phoenixcs, puffy, quantum-league, randomstandard, redbot, reliefbotfamily, rocket slayer, rocketnoodles, seer, self-driving car, sideswipe, significancebar, skybot, slime, snek, sniper, snowbot, ssl_of_gs, superchargedbots, tankar, tensorbot, the forsaken, tron, twitchinteraction, typeracer, vector, virxeb, virxerlu, wildfire_lightfall_fix, zoomelette

We could remove the following bots/scripts from the botpack without affecting default Story Mode (as far as I can tell): 50-50-minigame, aether, airball, atlas_wintertide_patch, bitbot, caster_bot, cheesebot family, custommutators/zerog, disasterbot, elkbot, engine, fillamentbot, formularbot, immortal, isopod_for_botpack, joeybot, kamael_family, kickoffonly, l0laapk3_shared/rlutilities, laserboi, levi, mirrorbot, necto, om_nom, omus, oneborg, pacificsciencescratcher, puffy, quantum-league, randomstandard, redbot, rocket slayer, rocketnoodles, seer, sideswipe, significancebar, slime, snowbot, ssl_of_gs, superchargedbots, tankar, tensorbot, the forsaken, tron, twitchinteraction, typeracer, vector, virxeb, virxerlu

I might have missed some so feel free to point anything out. I'm quite a fan of some of these bots that could potentially be removed (like the meme bots) though. I'm also surprised that Necto isn't in the default Story Mode. I guess Nexto is taking its place?

Maybe in our next meeting we could discuss one-by-one which bots are worth keeping in the default botpack and which are stale enough to be moved.

VirxEC commented 1 year ago

I think we should remove seer as it's an old version and to remove confusion. Also adding atlas, tensorbot, nombot, and slime to the list would be good.

ddthj commented 1 year ago

Lamp: there could be a story mode pack for all the bots that need to stick around for story mode but aren't in the main bot pack

Multiple bot packs would probably be a nice feature to add, but not a big priority right now. Perhaps we use a tag to hide storymode bots that otherwise aren't relevant today?

VirxEC commented 1 year ago

On multiple botpacks: #308

VirxEC commented 1 year ago

This branch can be used for this issue: https://github.com/RLBot/RLBotPack/tree/trimmed

ddthj commented 1 year ago

One option would be to re-tag the bots. We could keep the same botpack but have a featured tag to only show the current best. In any case, I am going to remove airballbot and script just to do my part in cleaning up

VirxEC commented 1 year ago

I removed my bots from the trimmed branch

ddthj commented 1 year ago

I think it would be reasonable to require botpack bots to receive "regular" updates to stay in the botpack. Like within the last year. I don't want to set a skill criteria for bots (instead only feature the favorites), but I also don't want a bunch of old bots just sitting there to clutter things up unless they're actively being improved upon.

NicEastvillage commented 1 year ago

According to commit history, only 18 of the 54 folders in the bot pack have been updated within the last year, so active development is a harsh metric when used alone. As I said earlier, the bot pack is often used for big releases of bots or when the bot is considered done.

On another note, I assume we all agree that previous tournament winners and iconic bots should stay?

TangilJ commented 1 year ago

I agree with keeping the notable bots. There's a lot of other bots in Story Mode too. Do we want to keep those as well or do we want to change the bots in Story Mode so that it mainly consists of notable bots?

NicEastvillage commented 1 year ago

I think we should keep all story mode bots for now. Story mode has found a decent difficulty progression that also includes some variety to break up the pacing. Removing some story mode bots would break this and it would be harder to remake.

ddthj commented 1 year ago

Story mode bots + Tournament winners + Iconic bots sounds good. We would need a community guideline to define iconic for the purposes of qualifying.

NicEastvillage commented 1 year ago

Unique playstyle and number of appearances in tournaments are also metrics we can consider.

ddthj commented 1 year ago

310

L0laapk3 commented 1 year ago

I might have missed some so feel free to point anything out.

@TheBlocks keep in mind that l0laapk3_shared/rlutilities is not a bot and all my bots depend on it.

TangilJ commented 1 year ago

I took a look at the easy Story Mode config (https://github.com/RLBot/RLBotGUI/blob/7b5c876d66b15bf0812f807a900fcf3f771a2845/rlbot_gui/story/story-easy.json) and it has Lanfear, Kamael, and Atlas which are not present in the default Story Mode. We shouldn't remove these bots when trimming the botpack.

Also, I can't see Lanfear in the botpack in the first place so I'm not sure what that discrepancy is.

ddthj commented 1 year ago

I've re-added Lanfear, Atlas, and the shared rlutilities. Lanfear is in the botpack as "The Forsaken."

NicEastvillage commented 1 year ago

@skyborgff and @L0laapk3 asked in Discord: Why are we pruning bots? What problem are we trying to solve? And the conclusion was, that we technically only need to prune are bots that break when we upgrade our Python version, and we are not even sure which bots those are. Pruning bots sucks for the developers who put a lot of work into their bots and for the users who like to have a big collection of bots to play with. Therefore pruning only makes sense if they are moved to a secondary bot pack, where they are still accessible by users who want them, but since we do not have support for that, I propose we wait with the pruning.

TangilJ commented 1 year ago

After Contributor Meeting 2, the decision is that we should only prune bots if they break after the Python version upgrade and venving is not possible.