How to use rlbot - 10 common examples

To help you get started, we’ve selected a few rlbot examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github SaltieRL / Saltie / agents / self_evolving_car / self_evolving_car_agent.py View on Github external
def __init__(self, name, team, index):
        super().__init__(name, team, index)
        self.torch = torch
        self.controller_state = SimpleControllerState()
        self.frame = 0  # frame counter for timed reset
        self.brain = -1  # bot counter for generation reset
        self.pop = 10  # population for bot looping
        self.out = [None] * self.pop  # output of nets
        self.brain = -1
        self.gen = 0
        self.pos = 0
        self.botList = []  # list of Individual() objects
        self.fittest = Fittest()  # fittest object
        self.mutRate = 0.1  # mutation rate
        self.distance_to_ball = [10000] * 10000  # set high for easy minumum
        self.input_formatter = self.create_input_formatter()
        self.output_formatter = self.create_output_formatter()
github samuelpmish / ExampleBots / 4_Aerial / agent.py View on Github external
def get_output(self, packet: GameTickPacket) -> SimpleControllerState:
        self.info.read_packet(packet)
        self.controls = SimpleControllerState()

        if self.timer == 0.0:

            self.csign = random.choice([-1, 1])

            # this just initializes the car and ball
            # to different starting points each time
            c_position = Vector3(random.uniform(-1000, 1000),
                                 random.uniform(-4500, -4000),
                                 25)

            car_state = CarState(physics=Physics(
                location=c_position,
                velocity=Vector3(0, 1000, 0),
                rotation=Rotator(0, 1.5 * self.csign, 0),
                angular_velocity=Vector3(0, 0, 0)
            ))

            self.bsign = random.choice([-1, 1])

            b_position = Vector3(random.uniform(-3500, -3000) * self.bsign,
                                 random.uniform(-1500,  1500),
                                 random.uniform(  150,   500))
github Darxeal / BotimusPrime / training / botimus_training.py View on Github external
def vec3_to_Vector3(vec: vec3) -> Vector3:
    return Vector3(vec[0], vec[1], vec[2])
github Darxeal / BotimusPrime / tools / state_setting.py View on Github external
def begin(self):
        self.car = CarState(Physics(Vector3(), Rotator(), Vector3(), Vector3()))
        self.opponent = CarState(Physics(Vector3(), Rotator(), Vector3(), Vector3()))
        self.ball = BallState(Physics(Vector3()))
        self.gameinfo = GameInfoState()
        self._changed = False
github Darxeal / BotimusPrime / tools / state_setting.py View on Github external
def ball_stop(self):
        self._changed = True
        self.ball.physics.angular_velocity = Vector3(0, 0, 0)
        self.ball.physics.velocity = Vector3(0, 0, 0)
github SaltieRL / Saltie / agents / self_evolving_car / train.py View on Github external
def reset(self):
        """Resets game data after each genome"""
        ball_state = BallState(Physics(velocity=Vector3(0, 0, 0), location=Vector3(self.pos, 5000, 3000),
                                       angular_velocity=Vector3(0, 0, 0)))
        car_state = CarState(jumped=False, double_jumped=False, boost_amount=33,
                             physics=Physics(velocity=Vector3(0, 0, 0), rotation=Rotator(45, 90, 0),
                                             location=Vector3(0.0, -4608, 500), angular_velocity=Vector3(0, 0, 0)))
        game_info_state = GameInfoState(game_speed=1)
        game_state = GameState(ball=ball_state, cars={self.index: car_state}, game_info=game_info_state)
        self.set_game_state(game_state)
github SaltieRL / Saltie / agents / self_evolving_car / self_evolving_car_agent.py View on Github external
def reset(self):
        # RESET TRAINING ATTRIBUTES AFTER EACH GENOME
        ball_state = BallState(Physics(velocity=Vector3(0, 0, 0), location=Vector3(self.pos, 5000, 3000),
                                       angular_velocity=Vector3(0, 0, 0)))
        car_state = CarState(jumped=False, double_jumped=False, boost_amount=33,
                             physics=Physics(velocity=Vector3(0, 0, 0), rotation=Rotator(45, 90, 0),
                                             location=Vector3(0.0, -4608, 500), angular_velocity=Vector3(0, 0, 0)))
        game_info_state = GameInfoState(game_speed=1)
        game_state = GameState(ball=ball_state, cars={self.index: car_state}, game_info=game_info_state)
        self.set_game_state(game_state)
github Darxeal / BotimusPrime / tools / state_setting.py View on Github external
def car_stop(self):
        self._changed = True
        self.car.physics.angular_velocity = Vector3(0, 0, 0)
        self.car.physics.velocity = Vector3(0, 0, 0)
        self.car.physics.rotation = Rotator(0, None, 0)
github RLBot / RLBotPythonExample / training / hello_world_training.py View on Github external
def make_game_state(self, rng: SeededRandomNumberGenerator) -> GameState:
        return GameState(
            ball=BallState(physics=Physics(
                location=Vector3(0, 0, 100),
                velocity=Vector3(0, 0, 0),
                angular_velocity=Vector3(0, 0, 0))),
            cars={
                0: CarState(
                    physics=Physics(
                        location=Vector3(0, 2000, 0),
                        rotation=Rotator(0, -pi / 2, 0),
                        velocity=Vector3(0, 0, 0),
                        angular_velocity=Vector3(0, 0, 0)),
                    jumped=False,
                    double_jumped=False,
                    boost_amount=100)
            },
            boosts={i: BoostState(0) for i in range(34)},
        )
github Darxeal / BotimusPrime / tools / state_setting.py View on Github external
def begin(self):
        self.car = CarState(Physics(Vector3(), Rotator(), Vector3(), Vector3()))
        self.opponent = CarState(Physics(Vector3(), Rotator(), Vector3(), Vector3()))
        self.ball = BallState(Physics(Vector3()))
        self.gameinfo = GameInfoState()
        self._changed = False