Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Leaderboards #249

Closed
merforga opened this issue Jan 16, 2018 · 36 comments
Closed

Leaderboards #249

merforga opened this issue Jan 16, 2018 · 36 comments
Assignees

Comments

@merforga
Copy link
Member

Summary
The leader boards will display the top runs for each encounter for the designated time period. In addition, for each encounter, the top DPS will be shown. At a high level, the two time periods we want to show leader boards for are :

  • Weekly Reset
  • Era
  1. Leader boards Analysis
    a. Leader board calculations should be built into / modulated into current restat and run regularly as part of the restat process
    b. Only successful runs included
    c. Data should be cut into the following time periods:
    i. Era
    ii. Weekly reset : Automatically created every reset.
  2. Week name to be counter count plus start date eg Week 1 – 20170115
  3. As new Eras will typically drop in the MIDDLE of a raid week, the week should be split into two for that particular week, eg pre patch and postpatch.
    d. For each time period, the top 10 of each of the following should be derived for the leaderboards for each encounter:
    i. Group level, quickest time (link to encounter)
    ii. Individual level highest DPS
    iii. Individual level highest DPS for that archetype/profession combination for that encounter (link to encounter)
    iv. Boon Bot (special category). Highest boon OUTPUT for MFQA at an individual level (link to encounter)
    e. Current privacy rules to apply to all linked encounters
  4. Leader board page
    a. The leader board page should be linked at the top level nav, and always be displayed regardless of whether a user is logged in or not
    b. By default, on page load, the leader board should show all encounters (as cards?) on the page for the current week along with the top 3, maybe something like this:
    image
    c. Clicking on the card will expand it to show the complete top 10 list.
    d. Clicking on any encounter link will open it in a new tab
    e. There should be 2 tabs or 2 pages or alternatively combined. One for Era board and one for Weekly boards
    i. Drop down on each tab/page to allow selection for Era / Week.
    ii. If combined then drop down would look like :
  5. ERA 1
    a. Week 1 – xxxxxxx
    b. Week 2 - xxxxxxx
@ajrdesign
Copy link
Collaborator

Love the artwork 🏆

My initial thought is that this is a lot to support and I'm not sure the finer filtering tools here will get much use. I think there's an MVP in here that we should launch and then expand as we see the need. The main part I'm unsure of is this

d. For each time period, the top 10 of each of the following should be derived for the leaderboards for each encounter:
i. Group level, quickest time (link to encounter)
ii. Individual level highest DPS
iii. Individual level highest DPS for that archetype/profession combination for that encounter (link to encounter)
iv. Boon Bot (special category). Highest boon OUTPUT for MFQA at an individual level (link to encounter)

Group level is fine as a default but from there I get a bit concerned with the amount of UI we'll be adding to an initial feature. I think I'd rather create a leaderboard that was simply filterable by week/era/encounter and then see how people are using it and add the additional filter patterns as needed.

How many "weeks" do we imagine we'll be able to filter back? I have a feeling going back more than 4-5 weeks would be pretty abnormal. I just want to avoid having some janky UI dropdown/select that has 12+ options after just a few months that'll just scale uncontrollably so I'd like to figure out how we want to handle that now.

Otherwise I don't see any major concerns.

One feature I think would be really nice with leaderboards in the mix would be to show on the encounter page their "ranking" if they are in the top, say 100.

@merforga
Copy link
Member Author

Thanks for reviewing.

Leaderboards are going to probably be the most used feature, even more so than global stats. I'm 99% confident that if we don't include some sort of personal, individual leaderboard alongside group, it will be the next request feature XD

In terms of MVP, how do you envision that occuring? For DPS roles it's quite easy, but when we get into support land, I'm not so sure how to best do this since there are some hybrid roles.

For historical leaderboards, would a calendar date selector be an option instead? Allowing people to select a date and the system will detect which week it falls into automatically.

In terms of encounter page ranking, are you thinking about group level time or individual?

@merforga
Copy link
Member Author

Hmm one thing to also consider is similar for fractal leaderboards. The only difference is that fractals would just have Era filters instead of by weekly reset filter.

@ajrdesign
Copy link
Collaborator

MVP = Minimum Viable Product when I used it here, I should have just typed the whole thing out in this context 😅 . Just trying to think about the MVP for the Leaderboard as a product.

This is how I'm framing it in my mind:

MVP:

Leaderboards for shortest encounter duration. Filterable by Week/Era/Encounter. Easy enough.

Additional Feature #1:

Highest Individual & Group Leaderboards. Filterable by the same as above. Pretty simple no big issues here except additional UI and we may want to display these boards a bit differently than the simple duration boards.

Additional Feature #2:

Best Boonbot. Filterable by the same as above. Some problems arise here, how are we weighting Alacrity uptime vs Might Stack uptime? If a Druid gives 83 stacks of might to the raid and a Chrono gives 400% uptime on Alacrity who is gets priority on the leader board? 🤷‍♂️ How do we make it clear how these decisions are being made?

Additional Feature #3:

Additional filters to Individual leaderboards, adding the ability to sort by archetype. This one seems most problematic, archetypes sometimes become quite fluid from patch to patch. Not sure how we should handle them just appearing or disappearing one week. Top 10 Condi SB might be well populated while Condi Spellbreaker might by 5 people or might be no one depending on the week.

The biggest issue I see with trying to build all of this and launching it all is it's hard to find real problems when there's so much we'd be dumping on our users at once. Releasing an MVP allows us to quickly identify problems with the basics and then expand when the foundation of the feature/product is sound.

@merforga
Copy link
Member Author

Ah gotya.

Mmm makes sense. Alright lets do that then. Seems a bit more logical once laid out like that.

@ajrdesign
Copy link
Collaborator

ajrdesign commented Jan 22, 2018

Okay so while doing some sketches I came up with a few more questions:

It feels important to display certain information on the "leaderboard" page for user to be able to identify trends without digging too much deeper. Just want to verify that I'm going to be including the right information per "rank".

From most important to least for leaderboard sorted by "duration" (MVP):

  1. Ranking (1-10)
  2. Duration of encounter (Minutes:Seconds)
  3. Composition (Overview of group composition, probably displayed by Elite icons and possibly the Archetype icons).
  4. DPS (Squad DPS)
  5. MFAQ (Maybe, if I have space I can display squad uptime for this)

Some things that could be added but I'm not sure how we'd want to handle them:

  1. Group "Name". Presumably most of these won't be PUG groups but our curent encounters don't really have a good way to attach "guild or team name" to them.
  2. Individual names. I initially thought it'd be nice to have character names attached to composition, but sketching revealed it could take up considerable real estate. I may consider adding this in tooltips but not sure it accomplishes much if they are hidden.

Let me know how we feel about the first list and priority of it and if we want to bother with the second list. Keep in mind the priority of these things could change for the other versions of the leaderboards.

@merforga
Copy link
Member Author

Initial list looks good. In terms of questions:

  1. For group "name" we could use Tags to display the group name (if any) and use the first tag (I dunno if tags have a specific order or are RNG). Obviously we'd need to limit the number of characters in case someone decides to put a long ass tag there.
  2. I think individual names aren't needed, if people want to see that, they can click through to see the encounter report.

@ajrdesign
Copy link
Collaborator

Got a rough draft of a leaderboard page.

You can ignore the restructured navigation and header area for now. It's something I thought about as I was making this and wanted to see how it'd look.

The main rankings is pretty much how I imagine it looking though. I think clicking through to the encounter view would be basic functionality. I want to put together a page that would be previous to this which would have a "card" style layout and feature only top three of each encounter but have all the encounters listed. From there you'd be able to jump into the specific encounter you want to see more details on.

https://www.figma.com/file/I8c0kbP29g2phZ9n3JsOhfnp/GW2Raidar-Style-Guide?node-id=542%3A2272

@merforga
Copy link
Member Author

Sounds and looks good!

My one small piece of feedback is that "ALL TIME" isn't necessarily accurate as balance chances means "ALL TIME" is pointless. Should replace it with "CURRENT ERA" and allow to select from previous eras potentially?

@merforga
Copy link
Member Author

Question regarding the current styling, there seems to be an emphasis on "Team Name" which isn't neccessarily a bad thing, but what would it display if no tag is set?

@ajrdesign
Copy link
Collaborator

I thought we could use the uploader's character name in case of an absence of a tag.

@merforga
Copy link
Member Author

Hmm I guess so. Though i would think account name would be better and more consistent. In terms of the display, are we assuming dyanamicness of the displayed team / account name? e.g. if they add a guild tag after the fact, we would expect it to be reflected accordingly yes?

@ajrdesign
Copy link
Collaborator

Account name is fine too. I don't have an opinion either way.

Yes I'd imagine that if they added a tag after the upload had been processed it'd be reflected. I don't think this would be too difficult but if @amadanmath says it's not possible then I can think of another way to do it.

@merforga
Copy link
Member Author

Based off Reddit thread and private discussions i've had in the mean time, let's get MVP out ASAP, either with new UI changes or shortly after.

I don't think team tags etc need to be implemented at this stage, just link to report and time is sufficient for now. We can look at tags and teams in the next revision.

@ajrdesign can you finalise the UI for this when you get the chance?

Thanks!

@merforga
Copy link
Member Author

WoW has nifty weekly leaderboards for their mythic dungeons which also have weekly instabilities. Maybe potential ideas on how to show fractal weekly leaderboards.

https://raider.io/mythic-dungeon-invitational-2018/time-trials/world

@ajrdesign
Copy link
Collaborator

New prototype: https://www.figma.com/proto/I8c0kbP29g2phZ9n3JsOhfnp/GW2Raidar-Style-Guide?node-id=668%3A8289&scaling=contain

I'll probably still futz around with some details but I think generally this functionality would be what we'd aim for.

@merforga
Copy link
Member Author

merforga commented Apr 8, 2018

Love it! I think the first one is what we need to start off with as a quick mvp.

Note i've had lots of requests to eventually get DPS leaderboards for individual encounters and even archetypes at some point in the future O.O

@ajrdesign
Copy link
Collaborator

ajrdesign commented Apr 9, 2018

Lets talk about privacy

As I was working on the markup for the leaderboards I had some thoughts about privacy:

  1. Up until now privacy options have been an opt out process, which is fine because we aren't exposing players to others who they haven't already played with (Mostly, the only way for other players to be exposed is for a person in the group to share the URL publicly). This policy has been debated but ultimately isn't a huge concern for the majority of our users.

  2. Leaderboards are a different privacy concern because, as it is now, linking to encounters will give anyone access to a large number of logs that have players that may not even know their information is being displayed.

While it seems clear that this doesn't violate anything "legally" it's a bit of a grey area and could be a very sensitive issue for this community specifically.

There are probably quite a few that'd prefer not to have a spotlight on them via these leaderboards. I know there is a bit of a stigma with guilds keeping log data private as well. With this feature you can essentially "out" an entire team by posting a high performance log I think we need to think about this a bit preemptively. It could also lead to unintended harassment in certain cases (consider a case where a player is considered the "worst" performer on a otherwise high performing team, leaderboards could open them up to a certain amount of harassment). I've seen this in other games, where there tends to be a "bandwagon" effect on players who the community thinks are being carried by their groups.

Some ideas:

  1. Opt into publicly displayed account information on leaderboards. It doesn't seem super important to have everyone's account information displayed for encounters that qualify for the leaderboard. We could specifically make everyone private on leaderboard logs unless they've specifically selected "Public".

  2. Adding a 4th privacy option can help: something like "Public, excluding leaderboards" for people who don't mind their account listed as Public but don't want their account information displayed readily on leaderboards. Per the above point, this would be the default option.

Up till now I've been pretty apathetic to the "muh privacy" crowd in regards to GW2raidar but I think we are pushing things into a very grey area if we move forward with no changes to privacy on leaderboards.

Thoughts?

@merforga
Copy link
Member Author

Hmm personally I don't see why someone wouldn't be known as having a leader board time, but on the other hand i see some of your points.

I second the additional privacy options as opt in. Though note that this will probably open the "if you can opt in to leaderboards why can't we make it site wide" can of worms.

@ajrdesign
Copy link
Collaborator

ajrdesign commented Apr 10, 2018

I could see some "whataboutism" arguments coming out.

As far as I see it the opt out on regular logs facilitates analysis in a communal way. If a casual guild leader is looking to improve their raids it hurts the experience if they have to get every single member of their team to sign up and tweak their privacy settings in order to effectively evaluate. In that case the leader needs to know who's on what character.

In the case of leaderboards that's not really a use case. People aren't looking at leaderboards to evaluate how those specific group members can improve. So account specifics aren't important unless those people really want the "glory" and that should be motivating enough to make an account and change privacy settings.

Something to that effect would be my feedback to "muh privacy" crowd. 💢

@Toeofdoom
Copy link
Collaborator

We have also discussed making the default "squad only visibility" - that has a few advantages:

  • people can review runs where they were present without issues - trying to hide from your own squad members is pretty much impossible anyway
  • people who unexpectedly show up on leaderboards are not revealed to the general public
  • people who don't have accounts, but want to be seen on leaderboards are encouraged to make accounts

@ajrdesign
Copy link
Collaborator

I guess my only concern in that system would be the training groups. Currently their processes are set up so they have people "review" logs to be sure they are meeting certain milestones to move up ranks. So the person reviewing wouldn't necessarily be in the squad. How would that work with what you are proposing @Toeofdoom ?

@Toeofdoom
Copy link
Collaborator

Hmmm, haven't encountered that usage.
I guess they would have to either require the player to get an account and change privacy settings or keep track of who was in squad some other way

@merforga
Copy link
Member Author

@ajrdesign the people in the training discords will have their users create an account anyway so i don't think the impact will be that large. However it is an extra step.

Overall though i think we're overthinking it. it'd be good to to just set squad only as default. What would be ideal is to have squad only as default for all unregistered users and then as part of the sign up process, have them select a privacy option before finishing registration.

@ajrdesign
Copy link
Collaborator

Yeah squad only as default seems okay. Generally the person being reviewed will probably have made their account public so they can be reviewed anyways.

@ajrdesign
Copy link
Collaborator

The core markup is done. I still have things to refine (like mobile version and hover states) but it's ready to start further development on because I don't think it's structure will change at all.

leaderboards

leaderboards-expanded

@merforga
Copy link
Member Author

Ooooo me likey! How would one choose between :

  • Raids leaderboards
  • CM Raids leaderboards
  • Fractal leaderboards

@merforga
Copy link
Member Author

Hmmm additional question, assume we will link to top 10 only , colour gradient will also be linked to percentile colour preferences yes? Or will it be different?

@ajrdesign
Copy link
Collaborator

Oh yes I did forget a toggle for Raids/CM/Fractals.

For Raid CM I'd like options to be more inline with the encounter/wings they are related to, I wanted to do something like this for the dropdowns on Global/Personal stats as well but didn't want to derail anything else that was being worked on at the time.

I also added in select dropdowns for "This week" and "This era". I think we need to seriously consider about how many weeks back we want to support for this kind of thing. I don't love date picker UI's they are a big PITA most of the time and I don't really think many people will be looking up "week" spans beyond a few months.

I can see a use case for: "I want to look up that log that we got top 10 for a while back". I think the encounters filters is a much better way to accomplish this task though, by adding a filter for "Leaderboard Ranked" encounters. So my proposal is to add that and have about 3 months worth of "weeks" in the dropdown on Leaderboards.

leaderboards-with-filters

@ajrdesign
Copy link
Collaborator

Also the percentile gradation shown here I didn't imagine having any real meaning other than reinforcing the progression from 1-10. Obviously a lot of these are going to be 99th percentile but having them all be the exact same color doesn't really look that good 😄.

@merforga
Copy link
Member Author

Hmm I think it would better if it was all uniform tbh XD but either works

@ajrdesign
Copy link
Collaborator

Added fine tuning for various breakpoints, tweaked the UI a bit so it'd work better on mobile devices. I think the color association on damage and boons could be potentially confusing but I think the gradient being present in almost everything we do is important to reinforce that recognition pattern, but I moved it onto the 'rank' number instead so we can avoid associating the other numbers with actual percentiles.

This is 99% done. Just need to see how it looks when it's hooked up to fix any other issues.

leaderboards-prototype

@merforga
Copy link
Member Author

merforga commented Jun 6, 2018

@amadanmath

Remaining todo

  • Link through to encounter URL
  • Add ERA level records
  • Combine all raid cards into one screen and use CM toggle (nice to have)

ajrdesign pushed a commit that referenced this issue Jun 7, 2018
@ajrdesign
Copy link
Collaborator

I tweaked the main navigation to how I'd like it to work (though it still includes "Golems" which I think we probably don't want to include?).

I couldn't figure out how to get all the encounters of a kind (Raid/CM/CM Fractals) to go on one page so @amadanmath will have that todo.

@merforga
Copy link
Member Author

merforga commented Jun 7, 2018

Yeah we can remove golems from the leaderboards.

@merforga
Copy link
Member Author

Awesome work. Rest of the stuff is niggly which has been raised in #299. #300, #301, #302

Closing this off to track via the other separate issues

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants