developer-relations icon indicating copy to clipboard operation
developer-relations copied to clipboard

[Feature Request] Changes to Live Game Data API to assist esports broadcasts

Open pattersttv opened this issue 4 years ago • 9 comments

Hi there, I am interested in an expanded version of the Live Game Data API targeted specifically in the context of esport broadcasts via the Spectator and/or Replay Clients.

Currently with the Live Game Data API, a signficant amount of the information is either omitted, rounded up or is only in the context of a single player - my understand of the reasons for this is as follows; it's designed to provide feedback on the current status of a game for the local player; information around cooldowns, gold totals, positional data, etc - Riot are not comfortable providing.

What I would be requesting for, in a "Spectator/Esports" API would be generic information around the current game available locally from a spectator client. The information I would be looking for would all be subject to the same 3 minute delay as the spectator client. The specific types of information I would be looking for would be:

  1. Team gold totals since the start or between two timestamps
  2. Damage done/per player since the start or between two timestamps
  3. Objective taken timestamps (Dragon/Elder/Baron/Rift/Inhibitors/Towers/Tower Plating/Buffs)
  4. Objective respawn timestamps (Dragon/Elder/Baron/Rift/Inhibitors/Buffs)
  5. Information on what the next dragon will be

What this would allow me, and others I'm sure, to do then is to build tools that would allow us to automatically track:

  1. Baron Power Plays (gold difference before/after taking baron)
  2. Inhibitor respawn timers
  3. Infographics for damage done during a specific teamfight
  4. Infographics for next Dragon/Baron/Rift

Some of this work is done manually now (Inhibitor Timers), or there are tools in the game that allow you to do this (Esports Timers for Dragon/Baron only) - but allowing this information, which is largely generic, would allow for the improvement of broadcasts across the board.

If you have any more questions, I'm more than happy to answer.

EDIT: I will add this, though I think it unlikely to happen. In an ideal world, ALL information available to the spectator client that you can see visually, would be accessible through this API so that you could create your entirely own Spectator UI. An unlikely scenario though I'm sure. 👍

pattersttv avatar Jan 03 '20 12:01 pattersttv

+1

Information I would add to your list:

  • Current stats of players (Items, Gold per player, Their stats (AD/AP/MS/etc...), Their KDA, CS)
  • To simplify, current time in game (that would allow to pull the data onto a database and then use that data to provide gold graph / damage graph)

There is currently a very small portion of data available trough the ReplayAPI, but it's currently not documented and thus not supported. You can find some data under https://localhost:2999/liveclientdata/allgamedata

Laraakaa avatar Jan 27 '20 20:01 Laraakaa

+1

JuanoManuel avatar Jul 21 '20 18:07 JuanoManuel

I would also love to see this happen. For the streams I do with a University, I have found that the current UI is not very accessible, and would love to be able to work towards improving UIs just for streaming so to make it easier for both veteran players, new players, and those with visual/auditory impairments.

enzanki-ars avatar Jul 22 '20 01:07 enzanki-ars

The "objectives taken" timestamps can be partially obtained through the use of the 'eventdata' endpoint, which currently includes events for tower and inhib kills, and should include events for dragon and baron kills, however, that is currently bugged as reported in #236

c0derMo avatar Aug 10 '20 12:08 c0derMo

+1

naoufalb99 avatar Sep 25 '20 13:09 naoufalb99

+2 or repair #236

ChronoBrake avatar Sep 25 '20 13:09 ChronoBrake

I have also recently noticed, we're probably missing whole endpoints that riot doesn't want to share with us for some reason that I believe would solve all of these problems. If you have a look at the ingame API there's an EsportsObserveReady Call as well as some objects like EsportsObserverMetadata

This is probably the endpoint that we'd like to have access to although I'm sure there is a reason that we don't have access to this endpoint.

I've been hoping to use this to get more detail in South African Esports as we aren't riot sactioned and don't have access to all the tools that CBLOL, LLA, OCL has but we really want to produce high level content.

PieterVanZyl-Dev avatar Sep 25 '20 15:09 PieterVanZyl-Dev

I would love to see these fixes and features so that we can help improve the accessibility of our streams to viewers, both with vision disabilities and also for new viewers learning the game watching the broadcasts. For the collegiate broadcasts I help run, accessibility is very important, especially as we also have a lot of first time viewers not just to League of Legends, but also to Esports in general. Given that major and minor broadcasts are starting to create their own overlays by hand, over time accurate data like this would become key to improving the spectator experience, much like what has been seen with Rocket League and CSGO over the past couple of years.

enzanki-ars avatar Mar 04 '21 03:03 enzanki-ars

This really needs to be added in. People have already created workarounds to pull this data out of the game memory (see https://github.com/floh22/LeagueBroadcast). Supposedly risking bans isn't on the cards for most of the streamers in my community unfortunately. Creating a safer way of pulling this data in Spectate-only or even specifically for Tournament games would be amazing.

CWFranklin avatar Jan 24 '22 16:01 CWFranklin