pvpoke / pvpoke

Open-Source Battle Simulator, Rankings & Team Building for Pokemon GO PvP
MIT License
314 stars 160 forks source link

PvPoke bad rankings #17

Open Gutoj12 opened 5 years ago

Gutoj12 commented 5 years ago

I love the website and is the tool I use the most for researching pvp. That being said, it has one major flaw on its ranking system

It ranks pokemons based on all their moves in their moveset when they can only have 1 quick move and 2 charged

A system like that puts Drapion as the 2nd best overall pokemon when is "best" fast attack is only used 59%, while azumarill is 4th and should arguably be the 1st since in all its matchups he uses the same fast move

In my opinion it would be best if pvpoke ranked the pokemon based on their moveset ( 1 fast and 2 charged ) than ALL of their moves

thank you for your time reading this

Gutoj12 commented 5 years ago

If that is to hard to make, how about ranking a pokemon for each of their Quick moves? Example: drapion would get 3 separate rankings bases on its 3 separate Quick moves and the same would apply for each other pkmn

pvpoke commented 5 years ago

Thanks for the feedback! That's definitely one of the pitfalls of the rankings right now; Pokemon with wider movepools are going to be artificially higher than other Pokemon.

Ranking by moveset would be a pretty major undertaking that's more complicated in execution than setup. You'd be going from 60k or so battles per run to millions. Pokebattler does exactly this, so rather than reinvent the rocket, I'd be more interested in adjusting the existing algorithm to better represent each Pokemon.

I hope that doesn't sound dismissive. You raise an excellent point and it's something I'll be thinking a lot about. Ranking quick moves seems like an attainable compromise.

In the meantime, I'm working on a multi-battle feature that should be out soon that'll show how a single moveset performs against a whole league or cup.

CtrlAltDeplete commented 5 years ago

I think one possible solution to the ranking issue could be the following tweak in the algorithm: When a pokemon is being ranked, it has a separate rank for each fast move and charge move. You don't battle with every combination, you still auto select the moves that it uses, but you only update the scores for the associated moves. Then, once it has finished simulating all the battles, you either use the rank for the movesets that have the best average score, or you use the rank for the moveset combo that was selected the most.

pvpoke commented 5 years ago

That's an interesting option. The main drawback I see is you couldn't compare moveset X to moveset Y since they would be ranked by different matchups.

I do have fast move ranking mostly working in RankerSandboxFastMoves.js right now with a couple of hurdles to get over in both displaying and processing those rankings:

So some progress but lots of work left to go!

pvpoke commented 5 years ago

The latest version 1.7.3 has a major update to rankings where the final rankings are performed with each Pokemon's "best" moveset, determined by the usage statistics. These movesets can also be overriden in (this isn't done super elegantly right now, I'll probably look to list all the moveset overrides in a JSOn file).

Not perfect because ideally you'd want to see every moveset, but should be a big step forward compared to auto-selecting moves.