odota / web

React web interface for the OpenDota platform
https://www.opendota.com
MIT License
1.09k stars 394 forks source link

Provide stats and metrics descriptions #1342

Open mcetkovsky opened 6 years ago

mcetkovsky commented 6 years ago

There are lot of pages, acronyms and stats which has no explanation what the stat/metric tracks, how it is calculated (if it is not clear from its title) and whether lower/higher is better (if makes sense) so it is understandable for new comers or casual gamers.

For example, I don't find self-explainable the Comeback, KLA and Map pings.

Note for "lower/higher is better", I would not include this info for Map pings because maxing it does not make sense (lower but smart pings is better than lots of meaningless pings which is something not easily to measure objectively).

howardchung commented 6 years ago

Sure, we can add tooltips/subtitles for those. Are there any more terms that are confusing?

mcetkovsky commented 6 years ago

There is lots of them where I have a feeling of missing something.

Few more examples:

In general, I would welcome if all stats, graphs and numbers has at least the following (if it makes sense):

howardchung commented 6 years ago

Thanks for the list! We'll probably gradually add tooltips/subtitles in for these areas. Feel free to submit a PR if you want to join the effort.

howardchung commented 6 years ago

For the histograms we can probably add it to the subtitle part of the Heading component: https://www.opendota.com/players/88367253/histograms/comeback

For others we can use tooltips (see existing tooltips for reference code)

bdbch commented 6 years ago

We could also implement tooltips for more abbreviations like here for example: https://www.opendota.com/records

Sure we could also rely on people reading the target URL which explains that HH stands for Hero Healing but it could be confusing for mobile users.

With a more general Tooltip and TooltipContainer component we could also implement more informations without using much space.

Alexander-Radionov commented 6 years ago

I encountered a problem with match details interpretation (all examples from match 3861782528 ). I'll be glad if you explain it to me and add some notes for them:

  1. What means "active_team" on draft timings? "1" for Radiant and "2" for Dire? If so, how it's possible to be an "active_team" : 3?
  2. What does "key" : 4 stands for in "objectives"?
  3. What's the difference between "player_slot" and "slot" in "objectives"?
  4. Here is "team_3" again:
  5. {'team': 3, 'time': 1676, 'type': 'CHAT_MESSAGE_ROSHAN_KILL'}
  6. Is it about "system team"?..
  7. 'ability_upgrades_arr' contains integers. Is there a vocabulary for them? Same question for 'actions' , 'gold_reasons' attributes.
  8. 'buyback_log' : is it correct that 'player_slot' and 'slot" fields are not informative here?
  9. What means 'lane_efficiency' and 'lane_efficiency_pct'?
  10. What's going on in 'line_pos' attribute?:)
  11. What mean keys of fields 'obs','obs_left_log' and 'obs_log' (and what's the difference between these three)?
  12. What means 'teamfight_participation'?
  13. For what 'times' attribute is?
  14. Is there any vocabulary for 'xp_reasons'?
  15. Why is 'ability_targets' field in 'teamfights' always empty?
  16. How is 'version' calculated? For match 3861782528 it says '21', which seems weird.
howardchung commented 6 years ago
  1. I think Radiant is 2 and Dire is 3
  2. I believe this is the slot of the player who got the objective, we don't use this field though I think
  3. slot goes 0-9, player_slot goes 0-4 (radiant) and 128-132 (dire)
  4. same as 1
  5. abilities: https://github.com/odota/dotaconstants/blob/master/build/abilities.json, gold reasons: https://github.com/odota/web/blob/master/src/lang/en-US.json#L288, actions: https://github.com/odota/dotaconstants/blob/master/build/order_types.json
  6. Yes
  7. Lane efficiency is the percent of "possible" gold based on getting all last hits in lane and no kills. It can go over 100%
  8. lane_pos is a number indicating where the player laned: https://github.com/odota/core/blob/master/util/utility.js#L692
  9. obs is an object tracking the x/y positions where a player placed wards. obs_log is an array of events where/when the player placed an observer. obs_log_left is those wards disappearing (killed or expired)
  10. Percent of teamfights participated in
  11. Times is just an array of times in seconds, meant to correspond with the gold_t, xp_t arrays
  12. See the same lang file as gold reasons
  13. IIRC targets are not computed for teamfights
  14. Version is an internal version number indicating what version of the parser processed that replay. You probably don't care about it.
proton9 commented 6 years ago

Hi How can i contribute to this issue?

howardchung commented 6 years ago

You could go through the list provided by https://github.com/odota/web/issues/1342#issuecomment-347510522 and determine if adding tooltips/additional text to the page would be helpful.

RDJ14 commented 6 years ago

I am working on the tooltips for the fantasy page of matches. There doesn't seem to be a string for tooltips relating to roshan kills. Is it acceptable to use string.farm_roshan? Or should a new string be added, and if that is the preferred solution what is the best way to add a string for cross language support?

howardchung commented 6 years ago

That string is fine.

If adding a new string, you add it only to en-US.json, the rest will be automatically generated.

nguyenphusi commented 5 years ago

Hi, can I still work on this issue?

howardchung commented 5 years ago

Yes, you can! Do you have a particular section you want to start with?

RizkyRajitha commented 5 years ago

i would like to contribute to this issue , how can i start with

nguyenphusi commented 5 years ago

Thanks, @howardchung. I've checked the list in #1342 comment. Seems like the Rankings tab still doesn't have any description yet. I'd love to add some tooltips for the numbers. To be honest, I'm also confused about the meaning of those numbers. Probably will dig into the code to see they are calculated.

Screen Shot 2019-10-02 at 11 15 54 pm
howardchung commented 5 years ago

The score is basically increased on a win and decreased on a loss, with higher gains and smaller losses awarded when playing against opponents of higher rank.

howardchung commented 5 years ago

See https://github.com/odota/core/blob/master/svc/counts.js#L20

artyonline commented 5 years ago

Can I help to this in anyway?

howardchung commented 5 years ago

Yes, but you'll need to identify an area that's confusing first. This may not be a good first issue, so I'll remove the tag.