First off, thank you for taking the time to share all your feedback with us, this is awesome. We discussed all your ideas and what's do-able from the tech side of things, so here's what I got.
I really like the automatic filling of revealed moves/items (I do believe, or so it seems, that the moves reveal the lowest usage % first, which is really a nice touch thank you), but I think it would be more helpful if instead of just filling in that slot, it tried to switch the whole set (save other revealed moves) to one with that move.
LOL well actually it doesn't work like that, but I'm glad it seems to work like that, since that hopefully means it's performing close to your expectations. It really only struggles in situations where you would decide to use either one or the other STAB move, but not both, as you need the other move slots for some other utility/coverage moves. The algorithm we use to decide what move to replace is as follows: Any status move -> Any non-STAB move -> Any STAB move. So it will only replace a STAB move if there are no other status or non-STAB moves to replace first.
The reason we chose that implementation is because it's not really helpful to see the damage & KO% for status moves obv, so might as well replace those first. Then replace non-STAB moves as those are less likely than STAB moves, but if there are no other options, just replace the first move in the list at that point, since the computer can't intuitively know that you sometimes leave out Mach Punch when you already have Close Combat in favor of U-turn, which isn't STAB, but is important for momentum and thus more logical to keep. We aren't necessarily trying to make it perfect in deciding what move to replace, as the user will need to course correct in the more nuanced situations. We just wanted to make it more convenient in situations where it's pretty obvious.
Also as you mentioned, we don't always have access to the Showdown Usage stats for a Pokemon/format. And we don't currently have access to those usage stats outside of the "Showdown Usage" set, as that was a temporary solution for now. Eventually we plan to add a setting where you can see the Showdown Usage %'s displayed outside of that set, so you can view them even when you're using the Smogon sets. We'll keep this in mind for the future, and we could potentially implement it if it's reasonable/makes sense after making the stats available outside the Showdown Usage set.
So if say Tangrowth was revealed to use sleep powder, then the whole set should adjust from the AV Smogon set to the rocky helmet one. Or vice versa if it was revealed Tangrowth did not have a rocky helmet.
We agree, this is what we intended for the "Auto" button above Set to do (tho it's currently disabled). We're still figuring out the best way to go about it. The AV example is a pretty obvious situation (for humans) where if they use a status move, you know 100% it's not the AV set. But there are a lot of other situations where it's not as obvious. Some questions we're thinking about are: should it be based on the moves i.e. if they use a move that's not in the current set, do a look-up to see if the move is in any other sets and auto-switch to that set if it exists. Defog on Corviknight is a good example, as an offense Corv set definitely won't have Defog on it. In your example, it was based on the move and item, which means accounting for a lot of edge cases and unique interactions. For example, if Clef uses an attacking move and doesn't take recoil damage from Life Orb, should it auto-switch to a non-Life Orb set? Thanks to Magic Guard, we would need to add a special case for this, and as you can imagine with Pokemon, this could get really extensive and hard to keep accurate.
All that to say, it's important to us that we find a solution that works reliably and that doesn't require too much maintenance or extra patchwork. But this is definitely a feature we plan to implement!
On that note in particular, while moves like life orb and rocky helmet get revealed and populate the item field, if a set with such an item is filled in and it is revealed the pokemon does not have that item, it should at least switch to the next most common item as per usage. For example, I was against Slowbro and after hitting it with a contact move, I did NOT take rocky helmet damage. Thus I presumed it was boots as thats the next most common item, but Showdex did not update the item slot can kept it as rocky helmet.
Thanks for bringing this up actually, we’ve been thinking about this a lot and recently we’ve had a change of heart regarding this feature, which we’ve had suggested a few times already. At first we were willing to implement it, though after thinking about it more, we realized that it would be rather complicated, since there are a lot of little gotchas like Magic Guard, Sheer Force, etc. Not to mention all the different checks we would need to do, and how each one would need to have its own criteria. For example, Leftovers seems to be a pretty simple thing to detect, i.e. if they don’t get Leftovers recovery at the end of the turn, then they don’t have Leftovers. But that doesn’t work if they have full HP. There’s a lot of stuff like that to consider.
However after thinking about it further and seeing the response from some people on Youtube who felt that Showdex could be seen as cheating/ruining the game, we decided that it’s probably best to hold off on any more big features that remove the need for the player to adjust things manually. We’ve removed the vast majority of repetitive and tedious work from using the calc, so there should be plenty of time to manually change the item. Basically we don’t want the calc to auto-pilot everything for the player, but rather, require them to think about and adjust the item based on their own intuition.
Of course we’re open to discussion on this topic, and we’re not opposed to it completely. We would rather wait a while though and see how people feel about it over time. The last thing we want is for Showdex to be banned or restricted, that’d be really sad! I’ve said this before, but competitive integrity is really really important to us. There are already people who feel that Showdex is like “having the computer play for you”, which I completely disagree with ofc, but I can understand where they’re coming from, and I wouldn’t want to make the situation worse by adding even more features that lessen the need for player input.
Another example of this is with damage rolls. A banded set might load in but then when the mon does less than the range, it shouldn't continue to say it is banded. it should pick the next most common item if applicable (not already revealed that it cant be, like LO or lefties). Obviously it is impossible to tell sometimes because of the damage ranges but this would include 1.2x boosting items.
Likewise if the damage roll is related to the EVs rather than an item (since you know your EVs, getting hit would likely be the cause of an opponent's item (I mean who runs something like banded without EV investment), and hitting the opponent would be a matter of their EVs (or Assault Vest I guess)). So for example if I hit Volcanion with EQ and it does less than expected, then it is probably running the Bulky set from doubles OU and it should repopulate. Or at the very least adjust some EVs based on Showdown usage. (The natures should probably also be sorted by usage.)
In terms of analyzing damage rolls, this is something we actually are pretty firmly against doing. I think in its current form, Showdex makes it pretty dang easy to figure out if someone is using a Choice item, and it doesn’t need to get even easier. That type of deductive reasoning is something we don’t want the calc to do for you, as that’s the player’s responsibility to figure out. That’s part of becoming a good player, is knowing to look out for & think about that stuff. I don’t want to remove that skill element from the game.
In regard to displaying the Showdown Usage stats for Natures, we were actually considering doing that. The reason we held off was because there are a lot of natures that have like 0.0332% usage or something super small like that, and it made the list crazy long. However after thinking about it, we might include it as a feature but filter out anything that's below 1% usage to avoid that problem. Let me know if that sounds good to you!
I was using AV Melmetal against Zapdos and I wanted to go for Earthquake to predict the Roost, but there was no way for me to see how much damage it would do since it was just N/A since Zapdos has the flying type. Perhaps where the pokemon's type is shown you can click the type to change it or make it grey out and not be calculated in damage/STAB? Flying types are certainly the most common use here but other times when it would be helpful include: soak, removal of forest's curse / trick-or-treat (via switch in and out), burn up, among other moves/circumstances.
On a similar note, being able to select an move of yours and/or your opponents that would adjust the calculation of the other's. I.e. click Zeraora's plasma fists so the calculation on a normal move goes from damage to N/A, or clicking on Landorus' Smack Down so then his EQ will calculate damage against a flying type. This could be another way to implement calculating for Roost/Burn Up/Soak/etc.
We actually have a feature for this in the upcoming patch, as we now allow you to change your Pokemon's types by clicking on it and making a new selection.
I'd like to be able to see my/opponent's EVs, but not the IVs. (Perhaps someone else would like the reverse.) Separating these into two opions in the settings would be nice. The more settings the better IMO, and you can always put in "Advanced Settings" to keep the main page clean, or put the "Interface" and "Tooltips" and whatnot into separate pages as you add more settings.
I totally agree, I think this would be a great feature. We'll look to include this in the next next patch or two. And yeah we'll definitely need to think of a good way to include as many settings as possible while also not making it overwhelming. Our settings page in general needs to be cleaned up soon, we've just been waiting until we've added a lot of the settings so we know how to organize it best with what we’ve got.
The N/A damages for status moves is nice, but for actual moves that do zero damage it'd be nice to be able to have a 0% or other symbol as an option, and the same goes with moves that would heal (water vs. water absorb, etc.); it'd be nice for that to be coloured or something along with the other damage ranges (i.e. sharing the colouration from the NHKOs).
Interesting, I hadn’t thought about this. We decided to display “Immune” for attacking moves that do 0% damage (0% can only result from an immunity as every attack does minimum 1 damage otherwise), and “N/A” will be reserved for only status moves, so the distinction is more clear. We’re including that feature in the patch we’re releasing this week, so you’ll see it in action soon.
In terms of healing moves, unfortunately we don't know how much it would heal since the Honko damage calc doesn't tell us that info. We're simply plugging the battle data into calc.pokemonshowdown.com for you and displaying it, so we can't derive anything that isn't provided by that API natively. If all you wanted was an indication that it would heal them (as opposed to just an immunity), we can consider implementing that, but it’s not a huge priority as compared to other features.
I like that it already checks for hazard damage but perhaps being able to have it show the damage "+ haz" or something because just looking at the damage might not be clear. Or perhaps the damage from hazards should be an option to add directly to the % damage range instead of just affecting the NHKO)
I don't think there's enough space to put "+ haz" next to the damage percent. If you have a bigger screen, you might think there’s a ton of space for it, but a lot of people have smaller screens, so we’re very cautious about adding things to the UI. I agree it's not initially clear that hazards damage is being accounted for (or even that you can hover over the damage % numbers to see the full calc text in a tooltip). I would like to figure out a better way to make it more apparent, but that will take some consideration. In terms of having an option to add the hazards damage directly to the %, unfortunately it would be tough to implement.
It would be especially nice in unrated battles like tournaments if where the ELO is normally shown it can search the players rank for that format and display it anyway.
Can you elaborate more on this? When you’re playing in tournaments, what format are you in? And are you playing on the main PS site, or on Smogtours? Depending on the situation, we could potentially do what you’re asking, but it depends!
Just like you have a link to the analysis page, it'd be nice if you could have a link to the Porydex page for the mon as well.
We could do this actually, and it sounds like a pretty good idea. We would allow you to open the Porydex page instead of opening the Smogon page (configured in settings). However we still need to figure out some quirks with this, as I’m guessing you want to view this page (
https://www.porydex.com/stats/2022-09/gen-8-ou/1825/pokemon/dragapult) instead of this one (
https://www.porydex.com/dex/ss/pokemon/dragapult). In order to use the first link, we would need to specify the date (2022-09), the format, and the ELO. But then, what if they haven’t released the stats for that month yet? For example, they haven’t released the stats for October yet, so the page would look like this:
https://www.porydex.com/stats/2022-10/gen-8-ou/1825/pokemon/dragapult. Thankfully the page still loads, so that’s okay, but unfortunately we can’t really detect whether it’s blank, so we can’t default to the last month where stats are available (tho it’d be nice if we could easily do that). The format is problematic tho, cause what do we do in formats where stats aren’t available? It’s a lot of work to build a web scraper to detect these things programmatically, so we need to find a reliable and simple way to account for these situations. An idea could be to enable this for only specific formats and use the Smogon link for everything else. Lastly, the ELO, is probably the easiest one, as we could detect what ELO you’re in and choose whatever ELO is closest. And we could include a setting for manually setting it to a certain ELO if you want to do that.
If you have any better ideas for this, let me know, but those are our initial thoughts.
As for the ELO, I'm not sure which one you grab for the showdown usage, though it looks like you get it from the 1695 one, but it'd be nice to pick which one from the settings (or have it synced with the players ELO). For example I only look at the 1825 usages, so I'd like to me able to use see those.
This is a pretty good idea actually, but we have no idea what ELO it's using currently lol.
pre might know, as we're using the pkmn.cc APIs for providing that data, and it doesn't specify what ELO it pulls from. Here's a
link to the GitHub.
One more thing while I was playing today. I couldn't find any place to import a set into the calc. I thought maybe it'd be under the SET dropdown list but I guess just having an IMPORT button next to COPY (maybe renaming it to EXPORT would be more consistent with the other settings).
Great idea, we’ll look to add this in a future patch!
I think that's everything I had on my mind for now. Sorry to bombard you like this, and I certainly don't want to sound annoying, I just really appreciate what this tool has to offer and so I wanted to give my two cents, and of course bring up any bugs. Thank you.
No worries, we love hearing feedback, it's super helpful to hear. Feel free to keep sharing your thoughts, we love discussing ideas and explaining our thought process.
To be clear, we’re always open to debate, and we’re not firmly against implementing any changes (rarely we’re strongly against something, but even if we are, that doesn’t mean we won’t consider it). If you disagree with anything I've said here, feel free to let me know!