Coder Social home page Coder Social logo

rlbotpack's Introduction

YOU PROBABLY SHOULDN'T PULL THIS REPO

Bot Makers Read This!

If you just want to make a bot, you don't need to be here. Instead, start with one of these:

If you just want to play with some bots, you can go to RLBotGUI to easily start matches with bots

Framework Contributors

This repository is currently incomplete to meet the legal needs of the Psyonix API. It is missing the source code behind RLBot.exe, and a few other files. If you want to make a code change that involves RLBot.exe (or the interface dll since it's closely related), you'll need some help from someone with access to the closed repo.

We expect we'll be able to open-source everything eventually, and then this repo will be back in business.

NOTICE: We intend to cherry-pick any commits you make here into the closed repo. At a later date, when we have permission to open-source everything, we will force push the closed repo to this master branch. Your commits will still be there with proper attribution, but if you have any work in progress, it will need to be rebased at that time.

RLBot

Framework Info

The RLBot framework helps people create bots for use in Rocket League's offline modes, just for fun. It provides values from the game like car and ball position, and carries back button presses. RLBot works for up to 10 bots reliably; it can be used up to 64, but can result in issues (bots disappearing after goals, spawning inside one another, etc).

Requirements

Rocket League, Python 3.6+

Quick Start

  1. Run setup.bat (or equivalent if you're on Linux or Mac)
  2. Open a terminal and execute python runner.py

Development Workflow

The first thing you'll want to do is run setup.bat. This does a lot of important things:

  • Sets up your rlbot installation in pip to link to your local files in this folder. Once you've done this, running rlbot from anywhere on your computer will reference these local files, including the dlls, etc.
  • Generates important code based on the .fbs message spec. Therefore it's a prerequisite for running anything.
  • Installs python package dependencies.

If you're doing work that affects our .dll or .exe files, you should also be aware of:

  • copy-dlls.bat - This copies the debug versions any built dlls from visual studio into the correct subdirectory in the python source folder.
  • copy-dlls-release.bat - This copies the release versions any built dlls from visual studio into the correct subdirectory in the python source folder.

For deploying changes, please see https://github.com/RLBot/RLBot/wiki/Deploying-Changes

When you're done with development and want to get back to the official rlbot version vended from https://pypi.org/project/rlbot/, the easiest way to do that is simply pip uninstall rlbot. Then the next time you execute a bat file from one of the RLBot*Example repos, a fresh copy will be installed from pip.

Wikis

There's tons of good information at https://github.com/RLBot/RLBot/wiki

Extras

Community Info

Video Example

Video

Tournament History

Tournament results are recorded in our braacket league.

Videos:

The best part

Psyonix Cone gave us a thumbs up! Thumbs up

rlbotpack's People

Contributors

alexanderbelooussov avatar azeemba avatar dan-smashrepair avatar danieldowns avatar darxeal avatar ddthj avatar dependabot[bot] avatar formularsumo avatar impossibum avatar itscodered avatar jboardman367 avatar jeffa233 avatar jeroen11dijk avatar joshydevrl avatar l0laapk3 avatar liam2263 avatar niceastvillage avatar oxrock avatar redd-rl avatar rivques avatar rlmarvin avatar robbai avatar rocketeeroof avatar rolv-arild avatar skyborgff avatar tarehart avatar viliamvadocz avatar virxec avatar yomanslodown avatar zingothy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

rlbotpack's Issues

Require problematic python bots to switch to standalone

There are bots that have conflicting dependencies, and some that even require Python 3.7 (mostly due to a requirement on RLUtilities)

The specifics bots and their devs need to be found and contacted to move their bot to a StandaloneBot that operates within a virtual environment.

invisibot ain't feeling so hot

@azeemba I'm being told Invisibot is no longer functioning. This is likely a result of kamael family switching over to a venv to tackle numba issues many people were experiencing with the final build. All I can say is that at least I waited until the final update to explode things ;p

Allow adding multiple botpacks to the GUI

Having only the most used/popular bots in the main botpack would be nice.

Possibly splitting the one botpack into multiple, allowing users to download extra bots for example:

  • Story Mode
  • Stale/"Community Extra"
  • Scratch?

Organize by author?

Hi. I was looking at the bots, and I saw RLMarvin's bots in one folder, but all the other bots in separate folders. I think you might want to organize the bots one way or another, because if there are a lot of bots, it could get pretty confusing for new comers.

I have come up with two organization ways.

1: By author. Kind of like RLMarvin's bots, but everyone has a folder. Like instead of RLBotPack/Cartana, it would be (please correct me if I'm incorrect, don't know the community very well) RLBotPack/Martmists/Cartana.

2: By bots, and no author grouping. This would mean that RLMarvin's folder would be split into rashBot, stick, etc.

If you can, I would appreciate feedback on this idea. I am more than happy to work on either idea.

Thanks.

Relying on git submodules for bot management

The use of submodules could possibly allow for an easier bot management.
A git pull would only download the .submodules files, making it very quick,
Assuming the use of folders to categorize bots, each category would have it's own submodules. A bot could fit multiple categories (like active and story-mode), and proper management (idk if git does this) could allow for a bot to only be downloaded once, even if in different folders.
Having the list of bots on the first download would allow for bots to be downloaded on-demand by the user.

GitHub app to update the bots?

Some bots are being worked on, and people probably don't want to have to copy and paste everytime one gets an update. A GitHub app could be made for this(I could try with Probot), but I was wondering what others thoughts are on this.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.