Data-rich "match intro" overlay for tournament livestreams

Here’s something we’ve been playing with in our event livestreams over the last few weeks – a display to show some additional info before each match starts:

The original goal was just to show the name and location of each team before the match started, as TM will show this info on the non-overlay match intro but won’t show it if you’re using the overlay display. But after a few weeks’ worth of feature creep, it now does some additional stuff:

  • Optionally show some season-long team stats, which are pulled from the RobotEvents API and updated every few minutes.
  • Optionally hide the country from each team’s location (to save space, since at most events all teams are from the same country)
  • For VRC events only, optionally show the predicted match outcome as forecast by vrc-data-analysis.com.

VIQC, VEX U, and RADC events are also supported, here are some screenshots of what those look like:

More screenshots

The display itself is just a web page, loaded as a “browser source” in OBS. There is a small companion app which interfaces with TM and tells the display when a match is started or queued. The display will hide itself when a match is started and reappear when the next match is queued, so the whole thing works pretty seamlessly.

More info and download here:

Thanks also to @Mentor_355U for making the match predictions easy to get programmatically, and offering some useful feedback on earlier prototypes.

46 Likes

What an incredibly elegant add on! I hosted my last event yesterday, but will use this in the future and I’ll start playing with it now.

Will I need my own RE api key?

Does it show the next stats right away or does it wait for TM to que the next match?

4 Likes

EPs should not be perceived as projecting outcomes for matches.

15 Likes

and to clear, I do believe having a simple way of introducing teams is a good thing. Including awards from organization from previous seasons by organization … world appearances etc.

good to have this option while teams get set up both for live audience and streams

6 Likes

if it showed stats for the teams at the event for the event only, that’d be pretty cool. showing stats from all competitions and having a prediction bar is where it could get confusing to spectators that don’t know much about vex competitions (ie. a team with poor season stats has done a redesign that works well, and is doing well at the competition but because of their season stats they have a low prediction percentage).

7 Likes

concept is sick, i just dont think its showing the right stats

4 Likes

Thanks! I spent a lot of time tweaking the appearance of the display to make it look nice next to the rest of the TM-generated displays. Pulling a couple of font files from the TM .app bundle (turns out they’re OFL-lisensed) was the finishing touch.


No, the software makes a request to one of my servers, which makes some requests to the RE API behind the scenes (using one of my keys), compiles the relevant stats, and sends them back (please don’t DDoS me :P).


Once a match ends, the display does not reappear until the next match is queued.


Yeah, this is definitely a concern I have had as well. Showing the match predictions on stream was something I wasn’t sure about the first week we tried it, but it got a pretty positive response from several teams (we also show the stream on a big projection screen in the venue) and so we’ve kept it around for now. Additionally:

  1. I think the prediction being tagged as “powered by vrc-data-analysis.com” makes it at least somewhat clear that the prediction is coming from that website rather than the EP.
  2. Anecdotally, teams “beat the odds” all the time, including the red alliance in that screenshot above.

So all in all, I don’t think this is creating a perception that we have a preference over who wins each match.

(and also, the predictions are optional and off by default)

15 Likes

Gonna be straight up here, this is very cool and all but I’m not sure I like the idea of predicting winners and losers at a children’s robotics tournament.

11 Likes

Might be worth adjusting it to cover up TM’s team info, since it’s redundant data assuming you modified it to show the team’s/alliance’s ranking.

Of course, determining ranking is kind of tricky, especially during elims, so that might not be worth it.

8 Likes

I like it. I think I like the prediction field, but it’s cool that it can be turned on / off. This is the second upgrade to the standard TM displays. I think that’s cool that there is some really advanced displays out there.

5 Likes

Wish there was some way to make the TM function work on mac my entire campus has Apple TV’s all over campus to air play too so I could put it on to multiple displays where we host our events. But because it only works on windows I’m stuck running a long cord to one display if it’s not gonna be stepped on

I’m on a WV team, so this overlay has been present at (I think) every tournament I’ve been to this year. I see the possible downsides, but I’ve never heard anyone complain about the prediction. These competitions are for students, yes, but they are still competitions. There will be losers and winners, and seeing where you stand solely based off of previous match statistics is nice, even if it’s not really accurate.

3 Likes

I’ve issued an updated release of this display:

vextm-obs-intro-screen v2.0.0

Changes in this release:

  • Intro display now takes up the full width of the screen.
  • Intro display now shows current qualification rankings for each team (during qualification matches) and seeds for each alliance (during elimination matches).
    • Exception: Alliance seeds are not shown for VIQC finals matches.
  • Team scouting data is now based only on the current event, rather than season-long data as before. Scouting data is fetched locally from the TM server and updated every time a match is queued.
  • When a match is started, the intro display now slides smoothly off the bottom of the screen rather than just disappearing. Likewise, the display reappears by sliding in from the bottom when the next match is queued.

The updated version can be downloaded from GitHub:

16 Likes

A good idea would be to instead of predict the outcome, to instead present notable past awards across all seasons instead of team predictions across the line.

For example, an image of the world champion trophy and other trophies (regional championship, design, etc.) almost like medals that display the historical efforts of a team even years before such an event, accumulated together en masse to show the cumulative awards received by both teams of one alliance lined up, to symbolize their presence in the robotics community, rather than a simple prediction.

3 Likes

yes but that “simple prediction” really shows what you’re up against/how good or bad your teammates are.

2 Likes

Honestly, here’s kind of my take:

  1. I feel like predicting winners and losers can lead to increased stress, anxiety, and pressure on teams.
  2. I feel like this sort of system immediately generates a bias before the game even starts, in a situation that should be intended to be a fair match.
  3. Children who are predicted to lose might feel demotivated and less inclined to participate actively. Conversely, those predicted to win might become overconfident, potentially leading to a lack of effort and preparation.
  4. And last of all… A detriment to learning and development. The focus on winning and losing predictions can overshadow the educational and developmental aspects of the tournament, shifting the emphasis away from learning, creativity, and teamwork.

@holbrook Despite how absolutely amazing this is, and how much potential it could have. Given these concerns, and if you agree with some or all of them, how does the software mitigate such issues, and if not are there any plans with regard to tackling such issues?

3 Likes

Well I think it’s mostly a moot point, since the Tournament Manager API guidelines released last fall prohibited these sorts of third-party audience-facing displays. As a result we stopped using this display at our events and I haven’t touched this project since. But I think this topic came up a while back and there’s some discussion earlier in the thread.

(FWIW, the latest release on GitHub won’t work with the current version of TM anyway, the updates for 2023-24 broke things and while I was testing a version that worked after the update, the new guidelines came out before I was ready to release. Plus it wouldn’t work visually with the redesigned audience displays for this season anyway.)

1 Like

I am unsure why this topic was not auto locked as it was not active for two years …

Perhaps moderators should lock this thread.

As John mentions, this is moot given the changes in guidelines. That said…

The display (and tools like VRC-Data-Analysis, RoboScout, etc.) provides data. One could also infer from the displayed teams’ current rank who is “predicted” to win or lose.

This is for a robotics competition, where matches will likely (maybe slightly less so this year) have winners and losers. Stress, anxiety, and pressure are the result of the match’s outcome having meaning to the participants. Learning to handle these emotions is a great life-skill.

How one percieves and reacts to the data is up to the individual. Going up against “the best team in the world” might take all the pressure off the “underdog” and allow them to relax and just have fun.

[quote=“Connor, post:17, topic:98151”]
2. I feel like this sort of system immediately generates a bias before the game even starts, in a situation that should be intended to be a fair match.

[quote]

The data (and predictions based on that data) are simply facts. Matches are rarely 50-50 matches between two equal teams. A match can be both “fair” and have a highly likely outcome.

Conversely, underdogs may feel more motivated to “overcome the odds”. Teams may identify a strategy based on the relative strengths of their opponents.

Presenting data to the audience to help them understand the relative skill/ability level of teams could also lead to greater audience enjoyment. Helping teams identify “better” teams to emulate can lead to greater learning. Taking the role of “underdog” may increase teamwork to overcome the favorite.

Predictions are just that and represented as a probability not a certainty. The likely outcome is not necessarily the actual outcome of a singular event. Learning to think probabilitistically is a great life-skill.

Teams may question how the predictions are made, learn about the process, and come up with their own methods of predicting outcomes.

2 Likes