SmartBot

Are you a Rocket League Fan? If yes, here is a first ever AI / Statistical bot you can play and improve your gaming skills with.

SmartBot is a self-learning bot that follows reinforcement learning strategy. It provides a challenging environment for skilled Rocket League players and prepares them for World Championships.  Whats under the hood?

We learned that in a complex game engine's Rocket League, produces countably infinite number of predictions at every tick in 60 fps. After dealing with Machine Learning (Policy based approach) and Statical (Similarity based approach), we were able to obtain better performance using statical functions taking into account the real-time speed complexity.

  • RL Bot API

    • Takes the current state from Game Engine to Web Server.
    • Passes the future state from Web Server to Game Engine.
  • AI Trainer / Statical Function

    • Uses Reinforcement Learning based on reward system.
    • Converts the current state to calculate the reward values (+1 or -1) and generate/pass the future state with balanced values to the Web Server.
    • Statical function has a similar approach, instead of using the trainer, we will calculate the similarity and pass the data based of the calculation.
  • Web Server

    • Stores current states (ticks.json) of a fixed timestep.
    • Filter the ticks.json and pass it to AI Trainer for calculating the future state.
    • Take the future state from AI Trainer to RL Bot API. Which then is simulated real-time in the Game Engine for smooth UX.

We used the Tensorflow - Universe / Gym to train the AI bot and Rocket League’s Framework to receive and pass the data asynchronously.

+ 11 more
Share this project:
×

Updates