HP pixels and percentages, take two

alexwolf

lurks in the shadows
is a Forum Moderator Alumnusis a Community Contributor Alumnusis a Tiering Contributor Alumnusis a Top Contributor Alumnus
I think it is widely accepted that % is what we used so long and what we want to keep on using because it is a mathematically convenient way. Percentages are more convenient for the reason they always have been, and if you want to know that reason this is a mathematical issue and not one related to Pokemon.

Anyway, good work guys, awesome clause, and full support!
 

joshe

the best
I very much support this clause, especially with the new wording. I think everyone can be satisfied with this.
 

Chou Toshio

Over9000
is an Artist Alumnusis a Forum Moderator Alumnusis a Community Contributor Alumnusis a Contributor Alumnusis a Top Smogon Media Contributor Alumnusis a Battle Simulator Moderator Alumnus
The real point is not even about knowing HP EVs. Its about the fact that the only argument in favor of this is that people are used to it. The whole "more info" thing is bullshit. If you want more info why are we not disclosing everything about your team? And even if it is just about HP fraction, why out of 100? Sure, 100 is more accurate than 48. But 143 is more accurate than 100. Why not fractions of 143? The fact is, it is arbitrary and really makes no sense. When one of the main things backing it is "its possible in game" and we have a bunch of wi-fi people saying in thread that it really isn't, I fail to see why we would go with this.
Jas, it has nothing to do with 100 v. 48, we're simulating just telling your opponent the result of dividing your pokemon's current HP by its total.

On my DS screen, I can see I have 260/342 HP left. 260 / 342 = .7602 or 76.02%

So I tell my opponent my Pokemon has 76.02% HP left. We're totally circumventing what the HP bar displays by reporting back and forth.
 

jas61292

used substitute
is a Community Contributoris a Top CAP Contributoris a Forum Moderator Alumnusis a Battle Simulator Moderator Alumnus
Well, that is not what is being suggested here. The proposed clause does indeed suggest we make it a fraction out of 100, specificially the ceilinged value of HPcurrent/HPmax*100. Regardless, even if we were to do an infinite decimal, it still begs the question of why? No one is really answering that. Its just a "yeah, I like it" thing without any logical arguments supporting it.
 

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
I should point out to everyone in favor of this "compromise" that it's not really a compromise; it's effectively a full concession.

Phil actually proposed a compromise in the Inside Scoop topic, and it got a lot of replies that boiled down to "I like Phil's compromise, but instead of the compromise part, let's just do the part I want". I mean, it wasn't a very good compromise which is why I didn't end up using it, but don't act like what we're currently doing is anything but a full concession.

For illustration: a compromise would have both sides mad at me. Right now I only have one side mad at me.

So if this result was what you wanted, the least you could say is "thank you".
 

Firestorm

I did my best, I have no regrets!
is a Site Content Manager Alumnusis a Social Media Contributor Alumnusis a Senior Staff Member Alumnusis a Smogon Discord Contributor Alumnusis a Battle Simulator Moderator Alumnus
Haven't had a chance to really write out the posts I've wanted to during this whole debacle but I agree completely with Jas. While we're at it can my opponent also tell me if they're holding a Yache Berry so I don't mess up my calculations there?

Zarel, I'm sorry you were put in this position by people who would rather simulate Pokemon Online than simulate Pokemon Black and White 2.

In any case, how will HP bars be displayed without this enabled? No numbers visible at all? Or /48? Or % ranges?
 

Zarel

Not a Yuyuko fan
is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Pokemon Researcheris an Administrator
Creator of PS
In any case, how will HP bars be displayed without this enabled? No numbers visible at all? Or /48? Or % ranges?
No numbers will be visible on the HP bar, but both pixels/48 and % ranges will be shown on mouseover.
 

Firestorm

I did my best, I have no regrets!
is a Site Content Manager Alumnusis a Social Media Contributor Alumnusis a Senior Staff Member Alumnusis a Smogon Discord Contributor Alumnusis a Battle Simulator Moderator Alumnus
Thanks for the quick clarification! Sounds like a good compromise given the technical issues with hiding the information altogether. Definite improvement over the single % numbers that were confusing players.
 

obi

formerly david stone
is a Site Content Manager Alumnusis a Programmer Alumnusis a Senior Staff Member Alumnusis a Smogon Discord Contributor Alumnusis a Researcher Alumnusis a Top Contributor Alumnusis a Battle Simulator Moderator Alumnus
So we are getting HP in increments of 48 and 100? I guess I'll have to update Technical Machine to do the math on both and get an exact HP amount (both in terms of total and current) where possible. Or is the server sending a number between 1 (or 0?) and 100, and the client is just converting that to increments of 48 for that mouseover?
 

Chou Toshio

Over9000
is an Artist Alumnusis a Forum Moderator Alumnusis a Community Contributor Alumnusis a Contributor Alumnusis a Top Smogon Media Contributor Alumnusis a Battle Simulator Moderator Alumnus
Theoretically, the bar graphically should show x/48 pixels, but with the extra curse-over info.

We're only forcing people to give each other info on their HP-- they still see the same bar as the game would show visually.


Well, that is not what is being suggested here. The proposed clause does indeed suggest we make it a fraction out of 100, specificially the ceilinged value of HPcurrent/HPmax*100.
It's infinite decimal just rounded for ease.
Regardless, even if we were to do an infinite decimal, it still begs the question of why? No one is really answering that. Its just a "yeah, I like it" thing without any logical arguments supporting it.
All clauses are based on "yeah, I like it"-- or "Yeah, I think this makes the game more competitive." The value added of all clauses AND bans/tiering comes from a subjective decision, from a value-based decision-- not objective fact.

This is what we are effectively doing, implementing a clause based (that like all clauses, is based on preference).


I should point out to everyone in favor of this "compromise" that it's not really a compromise; it's effectively a full concession.
Oh, you're absolutely right-- this is no compromise.

It's applause-worthy that we circumvented the mechanics issue by turning it into a clause issue.

The difference is that now we know that PS! Is simulating accurate mechanics-- but we can still have the reporting that we want.

So if this result was what you wanted, the least you could say is "thank you".
thank you :)
 

Rhys DeAnno

Slacking Off
So we are getting HP in increments of 48 and 100? I guess I'll have to update Technical Machine to do the math on both and get an exact HP amount (both in terms of total and current) where possible. Or is the server sending a number between 1 (or 0?) and 100, and the client is just converting that to increments of 48 for that mouseover?
I see this as a pretty serious problem actually. If you can use the div 48 and div 100 together to get an exact number regardless, why should people only get that exact number by going through all these hoops? I say if we're not going to hide information the game hides, we shouldn't be so half assed about it, and just show exact hp values. This isn't the outcome I wanted, but exact hp is the logical conclusion of it.
 

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 we are getting HP in increments of 48 and 100? I guess I'll have to update Technical Machine to do the math on both and get an exact HP amount (both in terms of total and current) where possible. Or is the server sending a number between 1 (or 0?) and 100, and the client is just converting that to increments of 48 for that mouseover?
Server will send in increments of 48 when this clause is off, and in increments of 100 when this clause is on.

You're right, though, in that the result of this clause should be that both increments of 48 and 100 should be known to the player. And that combined could be enough information to figure out exact HP/maxHP, so we might as well send that.

I'd be interested to know other people's opinions on that.
 

Mr.E

unban me from Discord
is a Two-Time Past SPL Champion
How about letting me know the base power of my weight-based attacks without me having to memorize common targets or look at my favorite pokedex? While we're at it, can the simulator automatically start calculating my opponent's potential stats everytime I deal or receive damage so I don't have to do it manually? That's really fun for Gyro Ball.

100ths (percentage) for clause on, 48ths for clause off if that's what you're asking. The player should never receive both as that gives players more certainty at pinning down exact HP (more than 100ths alone anyway, which itself is more information than 48ths I realize) which definitely should NOT be available information. You can have a clause for that too if you want, like PO does there, but it should not be default for any ladder/matchmaking. Is the animated HP bar going to be a problem with this, say some savvy Paint user divining information they shouldn't have? I suppose if that's going to be an issue, then yeah you should show exact HP just so everyone's on a level playing field... but preferably it isn't and exact HP isn't shown, you dig?


As for the overarching topic, long story short as per my #insidescoop monologue, and I'd venture I speak for a majority of the playerbase though it probably doesn't help at all come to an equitable solution, I don't give a shit either way.

You call yourself a competitive player? Work with the tools you're given. You're less certain about the opponent dying to their Life Orb recoil? Throw it on the long list of things you need to account for when making a decision each turn: the 30% chance of Focus Blast missing, the 10% chance it drops your Special Defense, the 6.25% chance it crits, the other attacks your opponent could use, any attack the opponent could have if you don't already know their entire moveset, any other pokemon they could switch to, their exact stats (particularly Speed), the random damage roll, speed ties, status effects...

Unless you know the opponent's exact HP anyway, which I don't think anyone is arguing in favor of, "exact percentage" can still lead to uncertainty surrounding stuff like that, just less likely. (31/309? 10% health, doesn't die to LO!) Even so, as a competitive player it's just another variable for me to evaluate as part of my decision-making process. Stronger players will take more advantage of any information given and better assess the risk of any uncertainty. Teambuilding isn't impacted at all either.

And the stupid persuasive statements like "well you're not playing real pokemon if you're using exact percentages" or "it's the standard we've all played forever now, it's what we know and like" can stop too. It's 99.999% the same thing either way. If you like the Pokémon franchise and the battle of wits that is its battle system, a little thing like this shouldn't bother you either way. It's still the game you know and love, the competition you crave. If you're a competitive player, you don't whine about trivial matters that don't affect game balance in the slightest. If you're a casual, you don't even notice the difference.

That said, I approve of the implementation currently in the OP (percentage rounded up, reserved 100% for max HP) and would approve any of the other "valid" implementations as well, even exact HP display. I actually prefer opponent damage ranges as being more true to cartridge mechanics, it's just display errors that plagued the original implementation. As for Wi-Fi implementation, it's both basically impossible to implement (honor system, second means of communication) and irrelevant. Is OST still played on Wi-Fi? I don't recall any other major Smogon tournament ever being mandated to it. We sim everything official, no?
 

Cathy

Banned deucer.
Suppose a Pokemon is hit by an attack, causing its HP to drop from an exact ratio of 47.2% to an exact ratio of 4.1%.

This means that its in-game health display drops from 22 pixels to 1 pixel.

Under the clause described in this topic, you would also be told by your opponent that her Pokemon's HP dropped from a ceiling percentage of 48% to a ceiling percentage of 5%.

To within what precision can you determine the damage done based on this information?

Using the pixel information alone, you would determine that the damage done was 44.8±3.1%.

Using the ceiling HP percentage information alone, you would determine that the damage done was 43.0±1.0%.

Under the clause proposed in this topic, you have both the pixel information and the ceiling HP percentage information, so you consider the intersection of the two ranges above and you determine that the damage done was 43.4±0.5% -- about half the uncertainty compared to the ceiling percentage information alone. This could be represented in the simulator by ranges, for example.
 
All clauses are based on "yeah, I like it"-- or "Yeah, I think this makes the game more competitive." The value added of all clauses AND bans/tiering comes from a subjective decision, from a value-based decision-- not objective fact.
Interesting, because a lot of people in this thread, including you, seem to like referring to "objective fact" in your arguments. Actually, no, not "objective fact"... "falsifiable claims" is the correct term. So let's look at some of these "falsifiable claims", then.

First of all, how in the blue hell do you justify making the following arguments simultaneously?

^You can't do that because then they can guess at your HP EVs which would let them guess your set. Hip, are you forgetting about the importance of EV tweaking in later gens? :P
It's infinite decimal just rounded for ease.
Arbitrary decimal points (used in damage calculators) are functionally the same as exact HP. The only difference is that most people won't bother to figure it out because ugh, gotta take out my calculator... It's a plain contradiction and it's indicative of the inconsistency of a lot of the arguments. For example:

I'd say make it optional for WiFi and as a response to Jas#####'s it isn't changing the metagame at all... the only difference is there is a slight difference in information reported.
So did Team Preview not change the metagame? Both are basically fog-of-war effects.

I'm still surprised that this was ever a thing. How long has it been that we've had percent HP? A decade, at least?
Simulators have also had the wrong Spikes damage, among other things.

I think it is widely accepted that % is what we used so long and what we want to keep on using because it is a mathematically convenient way.
I find it way more convenient to use whole numbers to describe %-of-total effects like Leftovers recovery and Regenerator recovery... then again Lucario switching into Stealth Rock would come out to 1.5/48 so...

I'm all for people forming subjective opinions and making subjective decisions when they own up to it, but when one side makes all these ludicrously horrible justifications, I can't help but lose my sympathy for it. Don't backpedal and say, "Well it's my subjective opinion just like everybody else." That's an excuse, plain and simple.
 

jas61292

used substitute
is a Community Contributoris a Top CAP Contributoris a Forum Moderator Alumnusis a Battle Simulator Moderator Alumnus
You're right, though, in that the result of this clause should be that both increments of 48 and 100 should be known to the player. And that combined could be enough information to figure out exact HP/maxHP, so we might as well send that.

I'd be interested to know other people's opinions on that.
I don't think there is much that needs to be discussed here. Not reporting 48th should not even be an option. As controversial as this clause as a whole may be, sending percents accurate to the 100th is technically possible using an independant arbiter. Refusing to send the increments out of 48, on the other hand, is fundamentally changing the mechanics of the game. It is tantamount to telling a DS player they cannot look at their own screen. The moment we refuse to send the HP value as it could actually be determined, we are essentially removing information from the player's user interface which is clearly unacceptable.

It seems ironic to me that people would even consider doing this. Stoping adherence to game mechanics so that the extra info they chose to give does not give extra info. It would completely ridiculous.
 

Celestavian

Smooth
is a Community Contributor Alumnusis a Tiering Contributor Alumnusis a Contributor Alumnusis a Past SPL Champion
Simulators have also had the wrong Spikes damage, among other things.
Only really care about this part so:

That actually affects something with how damage is done, rather than how damage is reported (Unless that was a reporting error, I'm unfamiliar with this bug). Reporting the damage as anything, as long as it's correct, is nowhere near something like Spikes not doing the damage they are supposed to. Does anyone remember when we had to nerf Sand Power or whatever its called because we thought it was a 50% boost instead of 33%? That's a big, big difference that took Landorus from great to broken. Knowing his max HP with .5% margin of error is cool and all, but I'm 100% certain he's running 0/4 HP EVs anyway. Maybe with a defensive Pokemon that runs some strange number of HP EVs to hit a certain number, this will be more significant, but when HP EVs are 95% of the time either 4 or 252, is this really as big a deal as we claim?
 
Everyone thinks the other side is making a big deal out of nothing. It all depends on your perspective in what you consider important.
 

chaos

is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Smogon Discord Contributoris a Contributor to Smogonis an Administratoris a Tournament Director Alumnusis a Researcher Alumnus
Owner
Firestorm said:
Zarel, I'm sorry you were put in this position by people who would rather simulate Pokemon Online than simulate Pokemon Black and White 2.
New (but really old) rule: you will assume good faith of others. Nobody is arguing to simulate PO and you know it. For example, here is my own take on this issue, extracted from another topic:

- "we are implementing the correct mechanics". This statement is not a fact, and even if it was a fact, it is not an excuse to ignore the outcry from the community. Simulating the complete behavior of a specific cart is one possible goal for a simulator; another option is to try to smooth over implementation details and bugs (using evidence from other canonical implementations of Pokemon, like PBR and Stadium). This leads to my second point...

- "open for interpretation, and therefore no" The latter goal for a simulator has been called "ethereal", and apparently it is not a valid goal for a simulator because the implementation is open to interpretation. We are a community, we sometimes have opinions, and this is not a bad thing. I think our community is quite reasonable, and we do it a disservice by equating the argument for no pixels with such arguments as "maybe we should just implement Gen NEXT" "I guess we can't change the spikes damage" "maybe I want Volcarona to take 25% from SR" "maybe we should just simulate PO".

There is no point in even acknowledging such statements. We need to make the fundamental assumption that our community is reasonable, and can handle debate. I don't think our community would ever, EVER question fixing Spikes damage, but yet they question pixels. Instead of "ur wrong", maybe we should look to WHY our players have a problem with pixels? Maybe there is a good reason, and maybe it is worth considering arguments other than "correct mechanics of cart version 1.5.4.2-rev103"
It's fair to say I think the HP display in pixels is an implementation detail.

Also let me add that we have been showing exact percentages since ~1998. Maybe instead of saying "lets simulate PO", you could say "lets do this like we have for the past 15 years"
 
I'm not going to assume good faith if the evidence contradicts it. I'm not going to assume that an argument is reasonable if it demonstrably isn't. When I mention Spikes damage or whatever, it's not some kind of blanket "ur wrong", but a simple counter to a common argument made. I'm totally fine with people making subjective decisions when they admit that they're subjective and act that way, but I can and I will call out false justifications when I see them. It's bad enough that people are lying to themselves; it's worse that they'd perpetuate those lies to others.
 

chaos

is a Site Content Manageris a Battle Simulator Administratoris a Programmeris a Smogon Discord Contributoris a Contributor to Smogonis an Administratoris a Tournament Director Alumnusis a Researcher Alumnus
Owner
1) I wasn't talking to you

2) That's not a good argument. We have 4 generations of non-handheld Pokemon games making the case that 48 pixels is not a "Pokemon mechanic". There is no canonical implementation of Pokemon that does Spikes damage like we initially thought. Many people hate the pixels; nobody has complained about fixing Spikes damage. Next time you want to argue against "false justifications", try to not use a straw man argument.
 
There was a case made? What does that even mean? David gave a precise definition of "Pokemon mechanic". I'm going by that definition, because it's the only real definition that was given. Apparently nobody else cared. The 48ths thing isn't even important in itself. What matters is the explicitly intended imprecision of the opponent's HP bar, which sets a measured maximum precision based on the pixel lengths of the HP bar.

I don't even care that much about the actual decision. I care about why a decision is being made. Yes, you were replying to Firestorm, and I agree that people shouldn't use connotations like "we're simulating PO" or "we're not simulating Pokemon" as a way to demean the opposing viewpoint. I was wrong to use "good faith" in terms of the denotation, when it was being used in terms of the connotation. That just created needless confusion, so I'm sorry for that.

Still, none of that is really a straw man. Of course nobody would argue that we're simulating PO, but people can and do argue that we ought to simulate something that's close to Pokemon, and looks enough like Pokemon, but isn't necessarily exactly Pokemon. The denotation is exactly the same. I'm not saying that this view is fundamentally bad, so I avoid making the negative connotations that some other people like to make.

Still, it's better for everyone in the long run to be confronted with challenges to their opinions, and have to meet that challenge honestly. It's bad for people to just decide to satisfy every opinion based on... politeness?... especially because it just doesn't turn out that way in practice. If we acknowledged fundamental differences in opinion, we should have gone with a compromise. This is a full concession of one side to a side that seems to like to pretend that it's the only correct one. At least, people seem to like to pretend that VGC players don't exist, or aren't competitive Pokemon players with a stake in this... The way I see it, the PS! developers were bullied by the Smogon community into making a decision based on claims that were demonstrably flawed or even entirely false. I don't care if it was intentional or not, because anybody can (sometimes honestly) claim that they never meant to hurt anybody. Don't accuse one side of being unreasonable when the loudest voices on the other couldn't even entertain the possibility of a compromise.

The real reason I replied before, though, was because of the oft-repeated notion that this is how we've done it for the past 15 years. Appeal to the status quo can be used to justify anything. I'm not saying that appealing to the status quo is always bad, but it's dangerous to suggest that somehow the status quo is always right. The status quo used to approve of things that we would now consider barbaric. The status quo often leads to alienation, discrimination, and elitism. Every time one appeals to the past, one (perhaps unintentionally) creates an ivory tower that newer community members cannot penetrate, essentially hiding behind it. Appealing to the past just stagnates the community and alienates some of its members. Did we not learn this from Nugget Bridge?

Society progresses because people honestly meet challenges to their previous beliefs. Sure, it doesn't look good when people shift their positions on gay marriage because they found out they had gay relatives, but it's better than nothing. I only make the analogy to the real world because I strove to make my model for society at large consistent with a smaller society like Smogon. When one tries to do that, one is forced to deal with some hard questions. It is ultimately for the better.

I said some mean-sounding things here, because some things just can't be said completely nicely. I suppose the main takeaway is, I just think that more people should stop and ask why different people have different opinions (including themselves), instead of just stopping at "acceptance" that actually never turns out to really be acceptance.
 

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

Top