vigovlugt / draftgap

DraftGap is League of Legends drafting tool that syncs with the League of Legends client. Available as desktop application or site
https://draftgap.com
19 stars 1 forks source link

Additional feature requests #5

Closed liu-jaso closed 12 months ago

liu-jaso commented 1 year ago

Hello, I have been using the draftgap app for a decent amount of time, and there were some feature suggestions that I had in mind to make the app more suitable for what I value in it.

In the filter menu, would it be possible to add another option for 20,000 minimum games? I play ADC and I understand that there are a lot of mage picks like Seraphine, Swain, and Cassiopeia that are really strong, but don't have a ton of play rate. (not to mention that I like playing auto attack champions, not mages in the bot lane). I would prefer a minimum game count of 20,000 picks in the last 7 days to filter out most of those mage picks when I am viewing bot lane picks. https://github.com/vigovlugt/draftgap/blob/main/apps/frontend/src/components/draft/FilterMenu.tsx#L13

This next suggestion feels a bit more challenging, but I would prefer if the lolalytics champion data query changed from emerald_plus to all, or include an option to adjust what tiers of lolalytics data is retrieved. I believe that having a higher sample dataset for synergy/counter deltas is more valuable than "high" elo filtering to get a better picture of how certain picks can fit into a draft utilizing those delta values. https://github.com/vigovlugt/draftgap/blob/main/apps/dataset/src/lolalytics/champion.ts#L238 https://github.com/vigovlugt/draftgap/blob/main/apps/dataset/src/lolalytics/champion2.ts#L66

I am also curious why the 2 priorGames consts also seem to have numeric parity for each level except for high and very-high, I am curious how you arrived at those particular figures and why those specifically lack parity. https://github.com/vigovlugt/draftgap/blob/main/packages/draftgap-core/src/risk/risk-level.ts

liu-jaso commented 1 year ago

I am not too familiar with typescript but the code in the filter menu seems extensible enough that I can just add 20,000 at the end of the array. I can submit a pull request with those changes if you would like.

I am not savvy enough to add a new option to select what lolalytics ranks should be retrieved, but if you agree that we can just change emerald+ to all ranks, then I can make the changes hard coded in there too.

vigovlugt commented 1 year ago

Hey, thank you for taking an interest and offering to create Pull Requests! About your suggestion for adding a 20000 minimum games option, I feel this is not the right way to tackle this issue. If this option were added, low pickrate ADC's like senna (3,229 games) and Kogmaw (16,382 games) would also be hidden. I could see a feature to hide specific champions that I could add in the future but I don't know when I have the time for that as I don't think it is wanted by a lot of other players. How I can help you at this moment is to direct you to the favourite champions feature. Here you can select the ADC's you play, and the ADC's you want to see. Then in the settings you can make sure that they are always shown at the top of the drafting table! Hopefully this helps at least someway in the meantime.

About adding a additional skill tier for the champion data (emerald_plus and all), this is a feature I would like very much. The problem is that all data in draftgap is very generously provided by lolalytics, and adding another skill tier would double the load draftgap exerts on lolalytics, every day. I don't think this is something lolalytics would want and as DraftGap relies a lot on lolalytics, I cant really change this. Swapping emerald_plus to all is also not an option, the most requested feature right now is adding diamond_plus and master_plus as skill tiers, so you can see how emerald is the best compromise between these options.

About the numeric parity for each level, the lower we set the risk level games, the higher the impact on winrate is. Therefore they should probably have exponential parity, however I have not done enough research to define the risk level games this way. In the meantime, these are the values I have seen work the best, and players can choose for themselves what feels correct.

I am sorry I can't really help you with these new features, but thank you for writing an issue!

liu-jaso commented 1 year ago

No need to apologize, what you said makes a lot of sense, and I will still continue to happily use draftgap to help me out in the future. WRT the minimum game count suggestion, I failed to realize that I had the all ranks filter applied on lolalytics, so the 20,000 figure was definitely way too high of a suggestion.

liu-jaso commented 1 year ago

Apologies for reopening the issue, but I just thought maybe I could actually fork the repo into my own namespace and mimic the same infrastructure you have. Would it be too much trouble to describe what resources you are using such that I could generate my own version of the dataset? I think I see some references to uploading resources to S3, but I don't know what other resources you are using/ what kicks off the dataset updates. I also am not sure if you have any specific developer API keys that I would need to request access for.