DeckTracker icon indicating copy to clipboard operation
DeckTracker copied to clipboard

Connect to online deck DB and provide stats about opponents deck

Open webenji opened this issue 7 years ago • 4 comments

This is a feature that I would love to see in a deck tracker and that I would myself (CS degree) be willing to help with if you decide to make your code public and/or accept contributors. The basic idea is to use the databases on eternalwarcry and legends-decks to statistically infer the following:

  1. The most likely deck (or list of decks) that the opponent is playing
  2. The most likely next card (or cards) that the opponent will play

Evidently, the statistical inference would be upgraded as the opponent plays more and more cards and would become more accurate as the game goes on.

webenji avatar Jun 22 '17 03:06 webenji

I've considered this already and it's possible, but it defeats the point of the game, isn't it? Are you playing to become a better player or to obtain first place by any means possible? There is a fine line between assistance and cheating and such predictor is really close to crossing that line.

Ability to predict what opponent is going to play is what separates good players from bad ones. Adding this much help would reduce the game to a Hearthstone level. I don't feel comfortable adding such functionality. Let's see what the community thinks about this.

extesy avatar Jun 22 '17 04:06 extesy

Yeah I understand... It's a feature that new/casual players would love and one that expert/try-hard players would hate as it would reduce some of their advantages (although it would be easy to circumvent by not netdecking, which most good players will not do).

I wouldn't go as far as "it defeats the point of the game," though (arena is an example where you can be good without knowing what your opponent's deck is going to look like and/or what the opponent will play). You could similarly argue that being able to see your opponent's graveyard "defeats the point of the game" since good players should be capable of remembering which creatures have already been played. You could similarly argue that being able to track which cards from your deck you've pulled and which card remains in your deck "defeats the point of the game" because you should become a good player and remember those cards by yourself. I think that "the point of the game" (of any game, actually) is to have fun, and casual players don't have fun computing mathematical formulas, statistical probabilities. I'm definitely not trying to "obtain first place by any means possible" (I rarely play rank, just enough not to derank)...As a data scientist, I am just seeing an obvious (and IMO cool from a programming standpoint) extension to your deck tracker.

Anyway, I think it is a competitive-vs-casual player argument and totally understand your viewpoint... I would love to probe the community about it to see what an "average" player thinks of such a feature. I still think it would be a fun little programming project (which I might do by myself regardless) :P

webenji avatar Jun 22 '17 05:06 webenji

I was actually considering something similar as an upgrade to the current deck archetype system. Once the archetype system is working well and has most archetypes/variants included, this is somewhat equivalent to giving a sample decklist of the generated archetype. If you don't mind showing the opponent's archetype, I feel like something like this would not be a problem and should be incorporated.

emerald000 avatar Jun 22 '17 05:06 emerald000

I think we should avoid statements like cheating or pro player )).

I got the point by OP and author. So, we should consider just on possible useful solutions and talking in way of data stats of matches )). Example for DotA (https://www.dotabuff.com/matches)

So, the idea is doable by different ways and can be used like matches history. At this point, I am not sure that server provide API for matches (like Valve provide), and not sure that game replays are parsable (i am new for now). But, let's make the plan ))

we need:

  1. SERVER for storage
  2. SERVICE to communicate TRACKER and STORAGE
  3. API for TRACKER

That's all by me for now ))

VitaliyKulikov avatar Jul 15 '17 19:07 VitaliyKulikov