Skip to content

Analyzes rocket league replays, allowing the user to write Streaming-SQL to find out information about the replay as it plays.

License

Notifications You must be signed in to change notification settings

Alxertion/RocketLeagueReplayAnalyzer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

7 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rocket League Replay Analyzer

This is a Python tool that allows you to load JSON replays, and analyze them by writing continuous queries in a Streaming SQL-like language.

Note: I used jjbott's Rocket League Replay Parser to convert replays to JSON format, so if you want to convert one of your replays to JSON so it can be loaded by this tool, you can use that Replay Parser.

Screenshot:

Screenshot

A query has this structure:
IF CONDITION
FOR TIME_WINDOW
THEN PRINT("MESSAGE")
EVERY DELAY SECONDS

CONDITION can be: a Python-like condition, which can use predefined values as well as numbers / booleans / operators etc.:

  • ball.x (the ball's position on the X axis);
  • ball.y (the ball's position on the Y axis);
  • player.1.x;
  • player.1.y;
  • player.2.x;
  • ...
  • player.6.x;
  • player.6.y;
  • midfield.x (the position at the middle of the field on the X axis: 0);
TIME_WINDOW can be:
  • LAST x SECONDS (where 'x' is a number)
  • LAST x ENTRIES (where 'x' is a number)

MESSAGE can be: a string printed when the condition is true 'FOR the LAST x SECONDS/ENTRIES'.

DELAY can be: a number (2, 10, 0.5, etc); the message will be printed AT MOST every DELAY seconds.

Query examples:

IF ball.x < midfield.x
FOR LAST 2 SECONDS
THEN PRINT("Orange team defending")
EVERY 1 SECONDS

IF ball.x > midfield.x
FOR LAST 2 SECONDS
THEN PRINT("Blue team defending")
EVERY 1 SECONDS

IF player.3.x > midfield.x and player.5.x > midfield.x and player.6.x > midfield.x
FOR LAST 1 SECONDS
THEN PRINT("Entire orange team is offensive")
EVERY 0.5 SECONDS

About

Analyzes rocket league replays, allowing the user to write Streaming-SQL to find out information about the replay as it plays.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages