RiotGames / developer-relations

Riot Games Developer Ecosystem Bug Reporting
http://developer.riotgames.com
736 stars 44 forks source link

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

Open pattersttv opened 4 years ago

pattersttv commented 4 years ago

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. 👍

Laraakaa commented 4 years ago

+1

Information I would add to your list:

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

JuanoManuel commented 4 years ago

+1

enzanki-ars commented 4 years ago

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.

c0derMo commented 4 years ago

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

naoufalb99 commented 3 years ago

+1

ChronoBrake commented 3 years ago

+2 or repair #236

PieterVanZyl-Dev commented 3 years ago

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.

enzanki-ars commented 3 years ago

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.

CWFranklin commented 2 years ago

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.