Invalid gen 1 random battles _ not statistically what is says

Status
Not open for further replies.
The math is off. the 1/256 misses miss far more often than what is calculated. The 1/10's miss far more than what makes sense. It's unrealistic and unfeasible. I would much prefer the statistics to be actually what they say there are than not at at all. It's really annoying to miss fire blast 4 times with a 86% hit rate. It's ridiculous. I can be making strategically good moves and then literally miss 8 moves in a move pool that have damn near 100% accuracy and i'm not even paralyzed, it's so dumb. I love playing thie game but having someone come in 1000 rating with just pure dumb luck on their side , it's literally pointless to play the game. There is no skill involved what so ever at that point. Please fix this so it's actually how it's supposed to be.
 

Isaiah

Here today, gone tomorrow
is a Site Content Manageris an official Team Rateris a Battle Simulator Administratoris a Top Social Media Contributoris a Member of Senior Staffis a Community Contributoris a Top Tiering Contributoris a Top Contributor
UM/OM Leader
the 1/256 misses miss far more often than what is calculated. The 1/10's miss far more than what makes sense. It's unrealistic and unfeasible. I would much prefer the statistics to be actually what they say there are than not at at all.
There's no magical interventionist sitting around to guarantee that for every 256 instances, only one of them is the scenario where the 1/256 chance procs. 1/256 doesn't literally mean once in every 256 iterations as a hard rule; it's just saying that that is the probability of something happening, and the same applies for 1/10. If you're "[missing] fire blast 4 times with a 86% hit rate", it's because you got unlucky and rolled the 14% miss chance 4 times in a row. 86% isn't 100%, so naturally every single time you attack, there's a chance you get unlucky. Our brains are hardwired to remember the more unfavorable interactions more easily, so it's very likely that you're giving weight to all of the times you got screwed over while forgetting all of the times those same attacks landed, or you didn't get paralyzed, or you didn't get fried by the 1/256 proc. If we were to actually analyze every gen 1 random battle ever and do data analysis, then we'd see numbers close to the expected 1/256 or 1/10, but a single player's games is far too small a sample size to be super worried about things not working properly. Strategy and playing well has nothing to do with it; luck (and more specifically, probability) is an innate part of how Pokemon battling works. I can sympathize with frustrations over getting unlucky, but that's really all it is.

Here's a more detailed explanation and even direct links to PS code regarding the matter: https://pokemonshowdown.com/pages/rng.

Gonna be closing this since, well, unless you're making a bug report about specific instances, there's nothing to "fix"here.
 

HoeenHero

The Misspelled Hero!
is a Battle Simulator Administratoris a Programmeris a Member of Senior Staffis a Community Contributoris a Smogon Discord Contributor Alumnus
PS Admin
Resources for RNG issues:
https://pokemonshowdown.com/pages/rng
https://github.com/smogon/pokemon-showdown/issues/8491#issuecomment-939298131

I also ran some tests locally to make sure since its been a while since I checked via stone edge:
JavaScript:
it(`should miss aproximentally 1/256 times in generation 1`, function () {
        battle = common.createBattle({
            formatid: 'gen1customgame',
            seed: PRNG.generateSeed()
        }, [
            [{species: 'Chansey', ability: 'None', moves: ['Pound']}],
            [{species: 'Chansey', ability: 'None', moves: ['Pound']}]
        ]);

        let misses = 0;
        const rolls = 999;
        for (let i = 1; i <= rolls; i++) {
            battle.makeChoices('auto', 'auto');
            for (let a of [battle.p1.active[0], battle.p2.active[0]]) {
                if (a.hp === a.maxhp) {
                    misses++;
                } else {
                    a.hp = a.maxhp;
                }

                a.moveSlots[0].pp++;
            }
        }

        const ratio = misses / (rolls * 2);
        console.log(`Pound was used ${rolls * 2} times. It missed ${misses} times. (${ratio * 100}% / (1/${(rolls * 2) / misses}) of the time)`);
        assert.equal(ratio < 0.01, true);
    });
Results:
1704319765238.png

Please note that RNG is inherently random, it won't miss exactly 1/256 times, but its within expected margins.

Sorry about your luck, I encourage you to read the first link I posted above to learn more about randomness and our perception of it.
 
Status
Not open for further replies.

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

Top