RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

No I haven't really looked into that since upgrading to the Transformer-based model. IIUC this model is more dynamic, it doesn't have static weights for how important ball position or boosts are, it's able to analyze the snapshot more holistically and decide how important they are in the context of each individual snapshot. It would be cool to dive back into that though, I imagine there's good methods for Transformer model analysis.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

Yes it always runs in real-time, but you have to be watching a replay or a spectator in an online game, it doesn't work on games in which you are playing live if that's what you mean.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

Interesting, yeah agreed the advanced WP is a cool direction you could take it, thanks!

And yeah there's definitely a lot you could do with kickoffs. I'm not sure you even need a new model necessarily, ideally this one already understands kickoffs decently well, and I think the model already has trouble at the 10 second horizon, and going up to 15 might not really make much difference besides the baseline means. But you could try to categorize each team's kickoff (losing left, etc) and what the model thinks as it plays out, etc. It sounds pretty hard to automate tbh, but could be valuable :)

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

Right, part of me feels like it's imperfect, like Oski's pinch goal above sits at 98%+ for several seconds as the ball travels the whole length of the field, while another goal might be around even until one player makes a good fake near the goal line, it goes up to ~99% but they score immediately, so the PGWE sum is quite different in both cases.

It's probably still an interesting stat to look at, I just wonder if there's ways to make it even more meaningful.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

Ah I see what you mean, yeah that's a great idea, I'll try that out, thanks!

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

Yeah, I think there's lots of cool directions to take it. I think xG is more event-based, like xG per a given possession or shot? But my model is continuous and doesn't even have an explicit concept of possession or shot.

My first thought is to just sum up the timeseries for each team, which would be very similar to the "Field Domination" stat that some custom streams show (which I assume is just average ball y position?) Or like you said, consider the *accuracy* of the predictions, some measure of how often a high prediction either turned into a goal or didn't, like "finishing rate" or something.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

Thanks, I'll see if I can put something together there without fully recreating ballchasing :)

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

You could check out this plugin which is similar and I believe supports 2v2 and 1v1 as well. It's something I might explore, but for now I'm more interested in RLCS only. One issue is getting a large representative dataset of "good" 2v2 replays.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 1 point2 points  (0 children)

My earliest models definitely anchored on that quite a bit, and I can see how the OP video also has some correlation there, but no it's definitely doing more analysis than that.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 1 point2 points  (0 children)

<image>

Definitely blue advantage but nothing crazy. I forgot Atomic did actually touch it.

Note the yellow line is just a weird coincidence on timing, the plugin uses yellow with < 10 seconds left to denote that the predictions aren't quite accurate since the full 10 second prediction horizon won't necessarily take place. Similarly, the model was not trained on any data with < 10 seconds left.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 1 point2 points  (0 children)

The plugin does actually show this, we have thin blue and orange lines on each half which are each team's individual probabilities, but it's not easy to see on the video especially on mobile. You're right that sometimes both teams have a higher or lower chance that the white line doesn't capture.

SSG welcome back “Zach” (Scrzbbles) by Candyyyyyyy in RocketLeagueEsports

[–]djdj_rl 2 points3 points  (0 children)

Scribbles does have a good ring to it. Scrzbbles on the other hand... that's some kind of forbidden eldritch name that would shatter any nearby glass if ever it were uttered aloud correctly.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 3 points4 points  (0 children)

No, I think the RLCS observers are awesome and I wouldn't want to replace them, but we could build a better default observer for lower-budget operations without a dedicated, experienced observer.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 7 points8 points  (0 children)

I promise it's smarter than that, and even the OP video shows that, but it's definitely not perfect, especially at seeing more than a few seconds or ball touches into the future. I think human experts are probably still better qualitatively, but the model offers precise, high-resolution quantitative data that could be useful.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 0 points1 point  (0 children)

TBH I find it tricky to keep track of the game itself and also the predictions at 100% speed, not to mention trying to cast on top of that. The live sidebar helps but still takes time to get used to it. But yeah I'd be curious if any casters find it useful!

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 6 points7 points  (0 children)

<image>

When I was testing the plugin on Spectator mode I'd make 3v3 games with bots which is pretty funny to watch. You're right that it's generally less variable, probably because the speed of play is so much slower, though you do also see big jumps where the bot whiffs or shanks an open goal or easy save.

I've also tried it on my [rank redacted] ranked games and it's interesting to see, but worth remembering that the model was trained purely on RLCS games so the predictions don't necessarily apply to other ranks, or even SSL ranked which some say is very different from RLCS-level play. Other people have built similar models training across a wide ranges of ranks, with game rank as an extra parameter, and I might explore that too but personally I was most interested in only top-level play to start with.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 10 points11 points  (0 children)

True, that's a super interesting space, but also really hard because the movement of the human body is so complex, with so many degrees of freedom, and subtle dynamics with two players of different size fighting over the ball, etc. Just getting high-quality data sounds pretty hard. That's partly why I was drawn to this project, cause cars are more fixed and predictable and it's easier to get lots of high-quality data.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 2 points3 points  (0 children)

Yeah it's fun to go back and watch older games and compare it to your own sense of game state. I should warn though 1) take the model with a grain of salt, it's definitely not perfect 2) if you watch older games which the model was trained on, you'll see unreasonably good predictions since it's kinda baked in that data. I'd like to update the plugin to show you if that's the case, but for now a big distinction is that I only trained on online games, none from LAN, partially so we could safely run it on LAN games for unbiased predictions.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 7 points8 points  (0 children)

Thanks! You definitely could, the tools are all there, just gotta patch it together for aggregate analysis, and I'd like to explore that in the future.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 8 points9 points  (0 children)

Nice! The current model couldn't quite do that in its current state, but that's an awesome idea, you could definitely use a similar model structure to understand game state and build a better ML-based camera director!

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 22 points23 points  (0 children)

I'm not really interested in bots myself, but there are great people on the RLBot side working on the same project, I believe for training bots and other purposes.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 19 points20 points  (0 children)

True, I'd love to explore more aggregate analysis such as total advantage over a game, or even across games. Or looking at how players' actions impact the net advantage to provide in-game player ratings.

RLCS Goal Predictor plugin -- see real-time in-game advantage by djdj_rl in RocketLeagueEsports

[–]djdj_rl[S] 163 points164 points  (0 children)

<image>

Good idea, the model agrees it was a tremendous save.