On cartridge-accurate HP reporting

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
So, as you may know, in the games themselves, you don't actually see HP percentages for your opponents. All you see is an HP bar, an HP bar that's exactly 48 pixels wide.

On the other hand, simulators have been displaying percentages ever since, well, ever. This technically gives around twice as much information as it should if we wanted to emulate the games completely accurately.

So around a week ago, I (Zarel) changed PS to show percentages that were rounded to the nearest pixel, to more accurately simulate the games, as an experiment to see how much people would care. Another developer, thinking it was a permanent change, changed PS to show all HP in pixels directly rather than percentages. This miscommunication, as you can imagine, led to a rather large shitstorm.

We've tentatively changed it back to showing percentages rounded to the nearest pixel, but we should probably have a discussion on whether we should do it this way or if we should go back to exact percentages. This thread is (will be?) that discussion (unless you're losers and don't talk (lol, like that's going to happen)).

So:

Exact percentages are nice because it's more convenient to do math when things are out of 100 rather than out of 48 (and more exact than out of 48 and then rounded to out of 100).

Pixels are nice because they more accurately emulate actual gameplay, which is something simulators should be striving for.

Discuss.

P.S. Solace promises to infract shitty posts, so please be civil, justify your arguments, and don't attack people who disagree.

<3 the PS programming staff (and Solace)
 

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
We'll start: For the record, PS staff doesn't think having exact percentages is a good excuse to deviate from our goal of creating an accurate Pokemon simulator. I mean, if we're not going to simulate Pokemon exactly, let's all play NEXT (warning: the "NEXT" part is not endorsed by anyone but Zarel).
 

Andy Snype

Mr. Music
In a tl;dr, you have to decide: are we playing Pokemon or not?
This is an exaggeration of the question, as Zarel did not ask us to decide "if we're playing Pokemon or not." He asked on what our thoughts for the HP display implementation should be. If we were to go with percentages and decide all of a sudden to make a profit from our simulation, using exact percentages as opposed to 48ths would not be grounds to say "hey this game isn't Pokemon because we're not sticking to exact in-game mechanics," and it certainly wouldn't stand up in a court of law if we decide to profit from Showdown as Nintendo would most likely sue our asses for copyright infringement.

This is a minor detail that we as a community are free to decide whether to accept. 48ths are terrible numbers to deal with considering pretty much everyone has used 100ths to calculate damage. I don't see any reason to implement the 48th system when it's awkward to deal with the 48th system. Most people use damage calcs to determine if a Pokemon is Choice Banded/Specs'd or +Power-boosting nature as opposed to +Speed-boosted. If you were to use a damage calculator over a 48th versus a damage calculator that relies on exact percentages, you're pretty much more-or-less going to get the same information out of it. So why use an implementation that's more difficult to work, when the exact percentage implementation works fine the way it is and doesn't really provide much more information than if they were 48ths? The 48ths implementation looks more like a solution to a problem that doesn't exist.
 

Cathy

Banned deucer.
I don't see any reason to implement the 48th system when it's awkward to deal with the 48th system.
This is looking at it the wrong way. We don't need a reason to fix a bug in the simulator. In the game, health is only reported to within 1/48. The fact that Pokemon Showdown previously reported to the nearest 1/100 was literally a bug, which has now been fixed. In general, we don't ask "would the game be better with or without fixing this bug?" We have a thread for bug reports, and when people find bugs, we fix them; we don't ask "would the game be better with or without this bug?".

Recently, Marty fixed some bugs with Gravity. Those bugs had existed in the code for a while, but we just went ahead and fixed them, with absolutely no kind of discussion about whether the game was better with or without the changes. That's one of the functions of the development process: to fix bugs and enhance the software. We don't need a debate before deciding whether to fix a bug because we don't need reasons to fix a bug.

As a programmer and contributor to this project and a long time simulator developer in general, one of the enjoyable things about this activity is fixing bugs and making the program better. It's very discouraging to hear arguments that certain bugs should not be fixed. If making changes to the game is acceptable, we should engage in a wholesale rebalancing. It makes no sense to modify just something this trivial.

If we were designing a new game, I would agree that reporting to the nearest 1/48 would be a poor choice. But we're not. The pokemonshowdown.com index claims that "Pokemon Showdown is a Pokemon battle simulator." If you want to make a new game, you can fork the Pokemon Showdown source code and do so.

As a community, we go to a lot of trouble to research accurate mechanics. That would all be pointless if we are prepared to deviate from the game to make it "better". Why research anything? The real question would be what mechanics are best, not what mechanics the game uses. Similarly, we would have to close the bug reporting thread, because there are no mechanics "bugs"; all that really matters is whether the mechanics are good, not whether they match the game.

The short version is that the contributors to this project spend a lot of time fixing bugs. Pokemon Showdown has various bugs, and they don't all have to be fixed today. But given that we've already fixed this bug, it would be incredibly counterproductive and discouraging to reintroduce it. Bug fixes should not require debate.
 

JabbaTheGriffin

Stormblessed
is a Top Tutor Alumnusis a Senior Staff Member Alumnusis a Top Tiering Contributor Alumnusis a Top Contributor Alumnusis a Smogon Media Contributor Alumnusis a Battle Simulator Moderator Alumnus
Much of the allure of simulators is that the UI is more user friendly. It kinda bums me out that people are already trying to make the issue real Pokemon vs. some sort of fake Pokemon bullshit. We already do a ton of stuff on our sim that makes playing the game far more convenient than on the cartridge. Using exact percentages is one of those things that people generally prefer on their Pokemon sims for that reason. It's just much easier to work with in a competitive environment without really changing a mechanic that's crucial to how Pokemon functions as a game.
 

Andy Snype

Mr. Music
I find there is a difference between the actual move mechanics of each move and this display mechanic. Fixing a Gravity bug with the code is fine, as is fixing any move, ability, statistic, or field that influences the actual gameplay (by which I mean how much damage will this Earthquake do to my Scizor? I'm pretty sure my Levitate Bronzong will not take Spikes Damage so it could be a good mon to go to). These are the mechanics that influence how we play and how we make our moves and how we think. If one game turned out one way in the cartridge, then the mechanics implementation should focus on having that game log yield a similar output. Those mechanics should be working to the degree with how the game works or at least to the best of our ability.

The HP display mechanics are a part of the user interface. There is no reason to overcomplicate it by converting it to 48ths when the exact percentages do pretty much the same job.
 
exact percentages are convenient and make everyone feel warm and fuzzy inside

i dont like citing specific incidents but the 1 spl match i got on showdown today for, literally EVERYONE was bitching (myself included) about the pixels. it seems pretty evident that the community who is actually playing on the simulators were much more happy with percentages.

"playing pokemon" is just a contrived argument to make us feel like we're somehow in the wrong for wanting convenience. it has nothing to do with playing pokemon or not so let's not put forward such absurd arguments
 

Cathy

Banned deucer.
Despite the correction to the game mechanics, the user interface can (and currently does) continue to show what I call "pseudo-percentages". Specifically, if a pokemon's health is reported as x/48, then this will be shown as 0% if x is 0, as 1% if x is 1, or as round(x/48*100) % otherwise. The change is only a change in the resolution of the percentage, and it is a bug fix.

There is no suggestion in this thread that the client will not show an approximate percentage.
 
Anyone who knows me knows that I feel that fidelity to the carts is greatly overvalued. This isn't to say that fidelity isn't important, but I do not feel that it is an end-all-be-all that takes precedent over everything else. Specifically, there are two instances in which I feel accuracy should be overridden.

1.) Alternative metagames. Dream World, CAP, and Balanced Hackmons are all impossible to play on a cartridge legally, and yet they are accepted as legitimate. This is because, in spite of not following the rules of the cartridge, these metagames are still recognizable as competitive Pokemon. They use real, established Pokemon, and the real, established battle mechanics. This is "playing Pokemon" as far as I'm concerned, and I loathe it when people trivialize and dismiss these metagames by saying that they are not "real Pokemon".

2.) When the fidelity to the cartridge would harm the simulator or userbase. If strict fidelity to a cartridge mechanic would harm the simulator (as I and others believe 48ths will do) or causes severe inconvenience to the userbase, then I do not think that it is worth pursuing strict faithfulness to the mechanic. I believe these situations should only be approached in very unusual circumstances. And I classify 48ths as such.

I want to clarify that I would not have had a problem with 48ths if every relevant simulator ever had done it from the get-go. However, I believe that that window of opportunity is well passed. Strict percentages is the norm of competitive simulator battling, and has been for what, a decade now? This is not just a matter of "waaah, change is bad" either. Having access to strict percentages is advantageous to a competitive battler. Because of this, I and others are certain that players will begin to use PO specifically for tournament battles, because they will have more information at their disposal on PO. This directly hurts PS, and as such I feel that 48ths fall under the first division of the second category I laid out. Furthermore damage percentages are an outstanding case, as they have been employed by simulators for the entire history of competitive simulated Pokemon (as far as I know, feel free to dispute this with relevant simulators that did not if you know of them, and I stress relevant), and as such will have far more resistance than any other case I can think of. Because of this, I feel that the fidelity to the cartridge 48ths grant are not worth disgruntling the userbase for.

One last note: similar to how Sleep Clause is an honor-code, it is very possible for two players to, by the honor code, inform the other player of the percentage of damage each attack does to their Pokemon (without revealing specific HP numbers). There is nothing in the game prohibiting players from being aware of damage percentages any more than there is prohibiting them from putting more than one Pokemon to Sleep (i.e. nothing).
 

panamaxis

how many seconds in eternity?
is a Forum Moderator Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis a Battle Simulator Moderator Alumnusis a Two-Time Past SPL Championis a Three-Time Past WCoP Champion
Exact percentages give you more information so if Showdown is giving percentages rounded to the nearest pixel, whereas another sim like PO is giving exact percentages, I'm probably going to want to use PO for every important tournament match because it can give me more accurate information, so I can make more informed decisions in my games.

I feel like a lot of tournament players would feel the same way, so I agree with Tobes when he says that people will start to prefer PO to Showdown for their tournament matches. I don't want to speak for everyone but I feel in general that players would care more about accurate information then adhering strictly to catridge mechanics.

The popularity of Showdown should be prioritised over strictly adhering to cart mechanics. I think the popularity of showdown will decrease if PO is giving more accurate information in battles then showdown (for tournies anyway..).
 
What would make me most happy is to have the opponent's HP bar divided into 48 pieces and forcing me to figure out how healthy the other pokemon is with a visual estimation, no telling me how many pixels there are. I would like the game to be as close to Wi-Fi as conveniently possible. This will not happen anytime soon so if it's convenient I would like it to be optional between untold / told pixels and percentages, percentages remaining for the reasons Tobes laid out. I can't say how many people would like being this much closer to a Wi-Fi battle in casual matches, but there certainly isn't enough support for a full change now.
 

Django

Started from the bottom...
is a Tiering Contributoris a Forum Moderator Alumnusis a Contributor Alumnusis a Smogon Media Contributor Alumnus
Seconding what others have said, literally every tournament player I have talked to, myself included, has had the immediate reaction of "Guess I'm playing tournament matches on PO now". I don't see why I would choose to use PS when I can use a simulator that will give me more information more easily, and allow me to make more informed decisions about a battle.

If we're going to adhere to the actual games can we remove the battle log as well? You can't count PP so easily in game, nor can you scroll up and check a damage calc. Remove that too pls.
 
I say stick with exact percentages.

I personally treat the simulators as training/learning tools, and as such, the more information I have in a battle, the better. To that end, I would love it if we could integrate Honko's manly calc directly into PS, but that's a separate issue.

Basically, I think there's no reason we have to 100% accurately simulate everything from the games. I approve of us implementing the PBR sleep clause rather than if-you-sleep-two-pokemon-you-lose-by-forfeit. We don't limit nicknames to 10 characters or less. The PS sidebar reports species name in quotes, rather than let users be confused about whether a Pokemon is Arceus or Arceus-Electric (fucking trolls).

If the dev staff wants to change implementation stuff to bring the PS more in line with the games, I say start with Pokeball, shiny and no-nick enforcement.

Finally, if there's an element of the community that REALLY wants 48-pixel HP bars, why not make it a toggle-able option, that you can turn on and off?

Anyway, that's my two cents.
 

kokoloko

what matters is our plan!
is a Site Content Manager Alumnusis a Senior Staff Member Alumnusis a Top Tiering Contributor Alumnusis a Top Contributor Alumnusis a Top Smogon Media Contributor Alumnusis a Two-Time Past SPL Champion
If someone wants to change a decent damage calc to operate with pixels then I would not give a fuck either way, but as it stands, we should stick with percentages.
 

haunter

Banned deucer.
Stick with the exact percentage, please. The drawbacks of the suggested change are way higher than the actual benefits we would earn from implementing it.
 
The claim that %s are more mathematically convenient is very telling. I would argue that 48ths are far more convenient mathematically. In %s, commonly used fractions like 1/8 and 1/16 are ugly, and fractions like 1/3 are really ugly and a pain to think about. When I'm looking for the minimum damage needed to 2HKO after neutral Stealth Rock, 22/48 = 11/24 is far prettier and easier to work with than 45.83333333%. From a convenience standpoint, I could argue that, ultimately, 48ths are superior to %s, just as base 12 is a superior counting system to base 10.

...And actually this is why I disagree with Cathy's approach to viewing this as a "bug" that needs to be "fixed". Base 10 is used because it has such a long history of precedent that the perceived convenience of it trumps the functional convenience of base 12 or base 60. It is the same with this % issue. But let's at least call it what it is. This issue is entirely about precedent. If precision is so important, then why not just report the opponent's exact HP? Precedent. Why do damage calculators report in tenths or hundredths of a %? They don't feel the same kind of precedent that simulators do, and in the end, they'll probably continue to report in decimals of a %. They'll make their own precedent.

I personally view Pokemon Showdown! as a gameplay emulator. In my view, its goal is to emulate elements of the games that directly impact the gameplay of a Pokemon battle. The arguments that %s are more UI-convenient don't really fit because, as everyone prides in admitting, it has an impact on battles. It's not really the same as shortening animations or having a cancel button; these things do not directly impact battles. I would liken this situation to that of console emulators.

To the average person who just wants the experience of an old console game, the choice of emulator is almost entirely subjective. It doesn't matter that higan is more accurate than ZSNES if I just want to play FF4 (I'm ignoring the question of compatibility because it's not really relevant). In fact, the latter would be easier on my computer, anyway. However, things change when competition is involved. Honestly, I'd be deeply disturbed if a TAS turned out to need a quirk of the emulator to work. It would seem like steroid abuse in a sport to me. I think that accuracy should matter for these purposes.

On the other hand, yes, precedent matters in emulation, too! Although byuu clearly tried to resist sacrificing objective convenience for precedent when building higan (then called bsnes), if you look at higan now, you see a lot of concessions against the ideal of clean file systems and accuracy. Sometimes the effects of going against precedent are just too strong. People want what they want because it's familiar. Something different, no matter how intuitive it is in a vacuum, is something that has to be "learned". When that happens, one wonders if the ideal should be an absolute after all.

So there's really no objective approach here. This issue is all about precedent, and I really think it's overblown, but precedent is not an automatically bad argument.
 
Would I find it nice to do pixels? Yes. Do I feel people on both sides overreacted to such a small change? Yes. The fact is, we already use the precedent of an "impartial judge" in justifying the cancel button that exists on simulator but not in game. We could easily use this to justify showing percents instead of pixels. It's a change that, while I feel it isn't ideal, it's something that we can justify given current precedent.

That being said, if possible to add for some ladders and not others, that would be great, since VGC ladders would not want the "impartial judge" solution listed above.
 

PK Gaming

Persona 5
is a Site Content Manager Alumnusis a Forum Moderator Alumnusis a Community Contributor Alumnusis a Smogon Discord Contributor Alumnusis a Tiering Contributor Alumnusis a Top Contributor Alumnusis a Past SPL Champion
This is a minor detail that we as a community are free to decide whether to accept. 48ths are terrible numbers to deal with considering pretty much everyone has used 100ths to calculate damage. I don't see any reason to implement the 48th system when it's awkward to deal with the 48th system. Most people use damage calcs to determine if a Pokemon is Choice Banded/Specs'd or +Power-boosting nature as opposed to +Speed-boosted. If you were to use a damage calculator over a 48th versus a damage calculator that relies on exact percentages, you're pretty much more-or-less going to get the same information out of it. So why use an implementation that's more difficult to work, when the exact percentage implementation works fine the way it is and doesn't really provide much more information than if they were 48ths? The 48ths implementation looks more like a solution to a problem that doesn't exist.
Echoing this post, since it's a damn good post.

If we're going to implement the 48th system in the attempt to stay true to the cartridge games, why stop there?
  • We should remove the function where sleep moves fail when an opponent already has a sleeping Pokemon, because that's how it is ingame. (Yes, i'm talking about removing sleep clause)
  • We should also flat out remove the extra bit of information that isn't found in game(your opponents team being shown on the side, their present health, their current inflicted status, etc) because that's not how it is in the cartridge games
  • We should enforce nickname restrictions and implement a feature where pokeballs are shown when sending out Pokemon
  • We should force players to pick the order of your team before a match starts
  • We should remove the cancel feature, because you can't cancel a move decision in the cartridge games
  • In fact, if we wanted to stay true to the game we shouldn't even display a Pokemon's health with numbers. Instead, a coloured health bar should be used to determine how much health they, just like in the games
I'm not saying I want any of these things to happen, but we should go in one direction or the other.(strict adherence to the cartridge game OR what we're doing now) I hate to see us half-ass this.
 
I thought we decided that sleep clause would make you lose if you put two Pokemon to sleep, not make sleep moves fail.
 
I am for cartridge consistent HP reporting for the same reasoning as Cathy. It may sometimes get tedious and annoying but that doesn't mean we should ignore it.

Hmm, wait a second.

This is familiar.

Well okay. this is getting weird.

Levity aside, we are treading on no new ground here (I believe we've even 'retraced our steps' during the brief Sleep Clause controversy that RBG alludes to, so it's a bit discouraging that we're here talking about it all over again). In any case, I recommend reading the thread I linked to above, and just try to highlight how easy it was, in 2008, for most members to agree to correct legendary IV implementation on the basis of it being, you know, "correct." It's certainly strange that we'd see people argue the opposite in 2013, especially when improper HP reporting probably represents a greater disparity between cartridge and simulator than improper legendary IVs did five years ago. If anything, this is even more important to get right, isn't it? So, what happened?

Regarding PK Gaming's post in particular-- again, this has already been argued and resolved on several occasions. I'll recap now: the current precedent is that Smogon supports game-accuracy in its simulators. Maybe some of you want to suddenly change that precedent for whatever reason, okay fine, but my point is that that is, without question, the precedent, and has been for years. So to those of you claiming that now, in 2013, we should be thinking about "setting" a precedent that has until now been neglected-- well, no. The discussion has taken place and the precedent has been "set" or reinforced on at least two separate occasions. Why this evidently continues to be a stumbling block, I'll never know.

Anyway, part of that discussion was the "inconsistent UI" argument that PK Gaming outlined above. It goes:

"We allow various UI improvements on [simulator of choice] already. These UI improvements are not available on the cartridge. Therefore, in the interests of consistency, we should allow these UI improvements (the ones which are currently in question). Otherwise-- again, in the interests of consistency-- we should certainly have to get rid of all UI improvements. And, well, we wouldn't want to do all that, would we?"

What this argument overlooks is the very real difference between a "UI improvement" and an "actual change to the actual rules governing the game itself." Specifically, a UI improvement is something that a player with a cartridge can achieve simply by crafting their own UI. If the current simulator shows the opponent's remaining Pokemon and status effects, that's not changing the actual information available to either of the players; it's just automating the process of writing that information down on a piece of paper, or typing it in a text box. If the current simulator enforces a time limit that doesn't exist on-cartridge, that's simply automating the process of having an outside timer enforced by a judge, program, or the players themselves (see: Chess). All of these things are merely UI improvements that make playing the game of Pokemon more convenient. They do not give players information that would otherwise be impossible to obtain, nor do they alter the rules in such a way that is reasonably impossible to replicate using the actual game of Pokemon. Exact percentage reporting of HP does give players information that would be impossible to obtain-- worse, it's useful, game-changing information.

Unless someone is seriously suggesting we change a precedent that has been emphatically established and re-established ad nauseum since Bush was president, I'm not sure this discussion needs to exist.
 
its very hard to humor this when i know you aren't a tournament player which is the exact same debate we had several years ago im sure but

throw everything out the window about precedent and what you feel is legitimate. we have current players, players who represent smogon as our best players, saying they would refuse to play on PS if PO allows the percentages and PS does not. at some point, you can devise a perfect sim but if no one wants to play it, then you've wasted your time. there is a time to cater to the masses even if it means you don't think its "perfect". i really dont like when people who i know aren't really interested in key aspects of the site like tournaments do this because it alienates the playerbase we're trying to encourage playing on our sim. let's not drive them away by playing devil's advocate
 
its very hard to humor this when i know you aren't a tournament player which is the exact same debate we had several years ago im sure but

throw everything out the window about precedent and what you feel is legitimate. we have current players, players who represent smogon as our best players, saying they would refuse to play on PS if PO allows the percentages and PS does not. at some point, you can devise a perfect sim but if no one wants to play it, then you've wasted your time. there is a time to cater to the masses even if it means you don't think its "perfect". i really dont like when people who i know aren't really interested in key aspects of the site like tournaments do this because it alienates the playerbase we're trying to encourage playing on our sim. let's not drive them away by playing devil's advocate
I don't think I was unclear in my post, so it's unfortunate that you seem to have misinterpreted it.

My point, in full, is as follows: we have set a precedent for these kinds of issues, and that precedent emphatically supports accurately implementing HP display. If you're not the kind of person who is interested in Smogon's precedent, then clearly my post doesn't apply to you. However, there are people in this thread who are interested in Smogon's precedent. Many of those people don't seem to realize that this ground has already been covered, though. I hope my post is useful to those people, even though it apparently isn't useful to you.

And for future reference, I am a tournament player-- just not for Pokemon. There are reasons for that, which might be something to consider the next time you contemplate how alienating Smogon's approach to policy might be.
 

Cathy

Banned deucer.
Re: "exact percentages"

Emphasis altered by me in each:
Using exact percentages is one of those things that people generally prefer on their Pokemon sims for that reason.
There is no reason to overcomplicate it by converting it to 48ths when the exact percentages do pretty much the same job.
exact percentages are convenient and make everyone feel warm and fuzzy inside
Exact percentages give you more information...
I say stick with exact percentages.
Stick with the exact percentage, please.
(etc.)

Pokemon Showdown has never shown exact percentages for damage or for opponent HP. Before one week ago, damages and absolute HP were both shown rounded to the nearest 1/100th. As of a week ago, this was changed so that damages were shown as floor(pixels*100/48) % and HP was shown as round(pixels*100/48) %. (The inconsistency was an oversight.) In no case were damages or HP ever shown as exact percentages. Some exact percentages would actually be nonterminating (though we could introduce a notation for that, such as "...").

Presumably, most or all people quoted above are aware of this -- that we never showed exact percentages, and that there is no history of doing so in any pokemon simulator -- and they just chose to use "exact percentages" as a (wrong) term for "percentages rounded to the nearest 1 percentage point". But I choose to comment on it because it raises an issue that lies at the heart of this discussion, namely: If "convenience" and "providing more information" and "allowing better decision-making" are valid reasons to tamper with HP reporting mechanics, then why not show exact percentages? Showing exact percentages would allow for even better decision making than the old status quo, and it would make damage calculation during a match even more useful. I see no argument in this thread for showing "percentages rounded to 1/100" rather than "exact percentages", other than history (which I will address below).

This is also my primary concern with the judges argument for nearest 1/100 damage. Even if we accept that argument as being valid in principle, there's no good reason to use it to support nearest 1/100 damage rather than exact percentages or nearest 1/48 damage or nearest 1/x damage, other than history.

Re: damage calculators

Damage calculators have traditionally always shown more information than you receive in battle. In particular, damage calculators give you an exact damage range and corresponding exact percentages. But in battle, you never have seen exact percentages, so you always had to be prepared to translate the exact percentages given to you by damage calculators into "nearest 1/100" percentages shown in battle. Showing "nearest 1/48 percentages" instead does not change this dynamic-- in both cases, the damage you see in battle is more "coarse" than the output given by the damage calculator.

By contrast, showing exact percentages in battle -- which has never been done in any popular simulator -- would allow the output of damage calculators to be used directly, without the intermediate conversion step. (Of course, in all cases damage calculators produce a range as opposed to a point -- but that's a constant throughout.)

Re: convenience

In addition to the idea of showing exact percentages (which I stress is completely unprecedented in this community), the goals of "convenience", "better information", etc. would also be served by other proposals, such as showing how many turns an effect such as Sleep or Bind is going to last. I pick this example because, similarly to altering HP reporting mechanics, it goes beyond improving the UI -- it actually provides information that would otherwise be inaccessible -- and I don't see anybody proposing it.

So I assume it is clear that proponents of "convenience" do not support everything that provides "more information", which raises the question of: why increase the resolution all the way to the nearest 1/100? We could also increase convenience compared to nearest 1/48th by increasing the resolution to nearest 1/50th -- this is a relatively smaller change to the game mechanics, but provides the layer of convenience of being able to convert between the reported figure and the displayed percent with a simple operation to do mentally (namely, multiplying or dividing by two).

Re: consistency

I support fixing all mechanics errors in the simulator. There are a few reasons why this one was fixed before other bugs: it was easy to fix, and somebody cared enough to do it, among other things. Pokemon Showdown has various bugs. They don't all need to be fixed today. We can fix one bug without fixing every other bug. We can fix the bugs that we personally find interesting to fix before we fix bugs that somebody else might consider more important -- that's how free and open source software works; tasks aren't completed based purely on importance but also based on what people feel like doing (and how much effort it will take). If you want to fix some other bugs, you can feel free to make a pull request for your fix.

To address one specific issue, though: showing only an HP bar and requiring the player to "guess" the HP is not possible. In order for the client to be able to draw the HP bar, it has to be provided with the HP information, so it will always be readily available to the user. If we sent the client only enough information to draw an "uncertain" HP bar, we'd actually be altering the precision to which damage is known, so that isn't an option either. This is a bit like why Mario Party can't be played over netplay -- "button mashing" isn't a mechanic that works outside of console play in a controlled physical environment, and nor is "showing only an HP bar". It's just not how software works.

In any case, showing a rounded HP figure of some form is in the nature of a UI improvement rather than a mechanics change. Similarly, if nickname lengths have some effect on battle mechanics, then our current implementation is indeed a bug -- otherwise, it's just a UI improvement.

Re: history

A long history of doing something in a manner inconsistent with the game isn't actually an argument not to eventually fix the bug.

I was recently advised, for example, that Spikes damage was wrong in every past simulator. That wouldn't be an argument for continuing to have incorrect Spikes damage in new simulators. NetBattle had an incorrect interaction between Rapid Spin and Substitute, but that wasn't an argument for Shoddy Battle continuing to have that incorrect interaction -- and it didn't.

Similarly, before Shoddy Battle, no simulator validated IV/nature/ability combinations for whether they could actually be generated by the in-game RNG. When I implemented this, there was quite a bit of controversy from various angles. A lot of people argued it made team building clunkier or confusing or just felt broken -- it seemed totally arbitrary why certain IVs had been changed sometimes. Other people argued that I was going to ruin the WiFi scene by making it trivial to construct hacked Pokemon that could not be detected as hacked. But eventually everybody came around and accepted it as part of the game, and it was seriously a non-issue. Indeed, as Kristoph links to above, in a broad vote on Smogon, this community chose to maintain those mechanics. That vote was months after I had already implemented the correct mechanics on the main server, so people had had time to reflect. People are resistant to change -- even if the change is to fix a longstanding bug -- but they usually come around, and aversion to change isn't a real argument to refrain from improving the simulator.

On a side note, Pokemon Showdown does not currently enforce RNG-legal IV/nature/ability combinations -- but that's another bug to be fixed in due course. It is unreasonable to expect us to fix every bug at once.
 

Users Who Are Viewing This Thread (Users: 1, Guests: 0)

Top