I think this is kinda cool and also kinda problematic but I wonder how will it affect LeBron James’s legacy?
I've just done some tests, and reversing the RNG from 32 full paras takes too long with the current algorithms.From a youtube comment by Myren Eario,
I happen to play a generation where games are quite long, and paralysis is very common. I checked through the replays of a random recent sample - 43 games of RBY OU in Week 1 of the recent RBYPL.
If I'm understanding correctly, one game (here) definitely reached a state where full RNG prediction was possible, with 52 FPs in 178 turns, without either player even trying - I wonder if Tarvold armed with full RNG prediction tools could have broken the game to steal a win here?
Four more games got over the 20 FP mark and relatively close to the 32 FPs mark - (this) had 28, (this) had 26, (these two) had 22. The game with 28 FPs also had two crits and a freeze by Turn 5, so I am quite comfortable saying a 'complete' RNG prediction tool would be able to break games relatively frequently in this tier, without needing to gimp yourself with Metronomes at all.
Damage rolls are also much easier to use for information, since you can pretty safely assume everything is max EVs/DVs, so I think damage rolls from enemy attacks are reliable sources of info to track the seed as well (and I think they give more info than in modern gens since there's >16 damage rolls in RBY, as opposed to every subsequent generation).
GSC might also be extremely easy to determine through received damage rolls for the same reason, but I'm not super clear on just how much info one roll gives
I think unless the cartridge RNG for RBY is so busted that this somehow doesn't apply, this might just completely break our meta. Haha, lmao
@ Myren it would be interesting, as a further proof of concept, if you could demonstrate the potential of these other seed detection methods on the replays provided. it's one thing forcing it with Metronome, it's another thing giving a demonstration based on actual tournament games that this tool can already break games. it would be big
Ok very interesting. Did you factor in RBY critrate being different (dependant on base speed, higher than 1/16 for a vast majority of pokemon)? Does it matter? I'm guessing it would make the critrate data a bit less reliable based on what you're saying.I've just done some tests, and reversing the RNG from 32 full paras takes too long with the current algorithms.
I ran it for over an hour and then stopped it because it didn't finish.
Reversing the RNG from 15 events with 5% chance (like critical hits) works and takes only a few seconds of computation.
Reversing the RNG from 20 events with 10% chance takes half a minute on my laptop.
Reversing the RNG from 32 events with 25% chance (like full para) takes over an hour, so it seems to be infeasible unless we find a better algorithm.
Paralysis information seems to only be useful when it is combined with more interesting information.
Reversing the RNG from 10 crits and 10 full paras is doable and only takes 2 minutes on my laptop.
In the keepingiticy vs tarvold game we get the 10th crit at turn 161.
So at this point it would be possible to reverse the RNG with current algorithms in 2 minutes of computation time,
using only crit and para information.
But using only para information doesn't work, not because there are multiple possible RNG seeds compatible with the para, but because actually calculating the RNG seed is too difficult.
"Did you factor in RBY critrate being different (dependant on base speed, higher than 1/16 for a vast majority of pokemon)? "Ok very interesting. Did you factor in RBY critrate being different (dependant on base speed, higher than 1/16 for a vast majority of pokemon)? Does it matter? I'm guessing it would make the critrate data a bit less reliable based on what you're saying.
I feel that if you squeeze all the information possible, between crits, FPs, misses, damage rolls, and the general length of RBY (and GSC) games, there's probably a world where you can put something together consistently. But it will take a lot of work to get a tool that can do all that.
Damage rolls alone might be really good though, RBY/GSC damage calculation formula has 39 rolls so it feels like most attacks will give you a lot of info
Getting RNG information from damage rolls is something I have to look into. It could be very promising. I just don't know how well it works right now.Yo Myren Eario, not sure if they work the same way, but could you hypothetically reverse engineer a seed from damage rolls? And (if you know) about how many turns would that take? That seems like a far more consistent/fast way to find a seed each game
edit: just saw amaranth’s post above, if this was already covered somewhere mb
The point is that in Gen1/2 have different mechanics: everyone just maxes out all EVs+DVs, and there are no Natures, so the damage rolls should be very reliable in these generations. They seem like a nightmare in Gen3+Getting RNG information from damage rolls is something I have to look into. It could be very promising. I just don't know how well it works right now.
You usually don't know your opponents EVs, so you can't always tell what damage rolls you get. To figure out what damage rolls you get you could either use moves with recoil damage, or you could first user moves without damage rolls like Night Shade or Super Fang to figure out your opponents EVs and then figure out your damage rolls against enemies with known EVs.
Edit: Anyway, in Gen1 there seems to always be a damage roll number between 217 and 255. If you can figure out that damage roll number exactly for 12-13 attacks, that is enough to reverse the RNG. I will now look into whether this number can actually be figured out.
In Gen2, the method of lowering DVs for Hidden Power is widely used. Also, the use of items like Charcoal Moltres and Magnet Zapdos is at least commonly known.The point is that in Gen1/2 have different mechanics: everyone just maxes out all EVs+DVs, and there are no Natures, so the damage rolls should be very reliable in these generations. They seem like a nightmare in Gen3+
Triple protect into guaranteed sand attack miss is gonna be the meta in two weeksMetronomes+ninjask is gonna break ADV OU amen
Finally, Persistent Positive RNGFrom a youtube comment by Myren Eario,
I happen to play a generation where games are quite long, and paralysis is very common. I checked through the replays of a random recent sample - 43 games of RBY OU in Week 1 of the recent RBYPL.
If I'm understanding correctly, one game (here) definitely reached a state where full RNG prediction was possible, with 52 FPs in 178 turns, without either player even trying - I wonder if Tarvold armed with full RNG prediction tools could have broken the game to steal a win here?
Four more games got over the 20 FP mark and relatively close to the 32 FPs mark - (this) had 28, (this) had 26, (these two) had 22. The game with 28 FPs also had two crits and a freeze by Turn 5, so I am quite comfortable saying a 'complete' RNG prediction tool would be able to break games relatively frequently in this tier, without needing to gimp yourself with Metronomes at all.
Damage rolls are also much easier to use for information, since you can pretty safely assume everything is max EVs/DVs, so I think damage rolls from enemy attacks are reliable sources of info to track the seed as well (and I think they give more info than in modern gens since there's >16 damage rolls in RBY, as opposed to every subsequent generation).
GSC might also be extremely easy to determine through received damage rolls for the same reason, but I'm not super clear on just how much info one roll gives
I think unless the cartridge RNG for RBY is so busted that this somehow doesn't apply, this might just completely break our meta. Haha, lmao
@ Myren it would be interesting, as a further proof of concept, if you could demonstrate the potential of these other seed detection methods on the replays provided. it's one thing forcing it with Metronome, it's another thing giving a demonstration based on actual tournament games that this tool can already break games. it would be big
this is already happening in the brain, albeit imperfectly. after thousands of hours of play, one can recognise or decipher seeds subconsciously as a "gut feeling". i'm curious to hear from more experienced players on this.
Any PRNG still requires a seed, and from that seed the team generation can still be reproduced, so this wouldn't impact that. Because the team generation algorithm changes all the time it "breaks" for old replays in the sense that using the seed on a newer PS version will not yield the same result, but a replay contains the version as well so you can still use that PS version to reproduce everything, which is sufficient for debugging and stuff.2. A concern for team regeneration in random battles if RNG algorithm is changed
I found a statement in the Pokemon Showdown's github issues which states that RNG seeds are given for team regeneration in random battles.
Simulator RNG Seed produces inconsistent teams #10162
If the algorithm is changed to take measures against RNG manipulation, there is concern about the impact on this.
(However, looking at this issue, it seems that there have been cases in the past where teams from past replays could not be reproduced, so it may not be an issue to be too concerned about)
tbf damage calculators are also offsite tools that you can’t exactly show up to official tpc events with, and those have become commonly used on smogon. i’m not saying they’re at the same degree, but idt unfair advantage is a reasonable claim when this could easily be integrated on siteFrom what I can see for GSC, if someone were to make one of these based off damage rolls the you would be able to get the rng seed within 15-18 instances of you taking damage (depending on what is attacking and being hit). This is assuming that I understood it correctly, i.e. the set of seeds is continuously filtered down with each new piece of information until one initial seed remains.
This is a huge advantage given to anyone using this tool in gen2 and likely gen1 as well, which becomes usable in the early-mid game - which would change the way the tier is played completely (e.g. curse lax can stay in on machamp risk free or knowing what talks will be called). I don't think this advantage is acceptable for a few reasons: 1) its an offsite tool so will hurt new/not in the know players 2) its a big divergence from what it aims to simulate (i.e. link cable/in person play), as its never acceptable to show up with a pc to try and get the rng seed (like showing up with a card counting device) 3) it makes the game much more boring/less fun - it will reduce the ability to play back into a game if I can see when a crit is called/a roll will go my way.
It should be really be made obsolete like Vertigo said as its a matter of time before someone makes one of these that is usable on a normal game, and they may not want to share it.
For in person events you would look up the common calcs ahead of time and memorize them, similary to prior to honko's calc people would keep lists of common calcs and rolls for use during games or planning. The current damage calc only made the using existing damage rolls and thinking more precise and easier to use, but looking at damage calcs was always part of part of the game.tbf damage calculators are also offsite tools that you can’t exactly show up to official tpc events with, and those have become commonly used on smogon. i’m not saying they’re at the same degree, but idt unfair advantage is a reasonable claim when this could easily be integrated on site
The end of my first RNG manip video goes quite in-depth into random calls in Gen3.I understand most of the video except the part of the RNG Calls. I don't get where would you get three RNG Calls from. One from the possible Speed tie, and one from the crit from Earthquake, but where would the third one come from?
Besides that, excellent investigation, you just made my 8 year old dream come true.
This will probably get patched out since knowing the rng seed is against the spirit of Pokemon and would radically change how we are used to playing this game.
I kinda think that's a shame, though? I'm imagining a silly hypothetical where this sort of thing was discovered back in the netbattle days or whatever and it became a norm in the community to play this game while knowing the rng seed at the very start of the battle. You would know not to stay in and click Recover cause otherwise your Pokemon would get crit. Ice beam will freeze this turn (for the second time?) so you could pick your best sac. 50/50s like double Protect or Speed ties wouldn't ever be turns where both players just accept what comes since the outcome would be known before the move is made. This would even open up a whole new dynamic to battles where both players are trying to manipulate the number of calls in a way that lines up favorably with how they are positioning their Pokemon so that could benefit/avoid the crit proc on the 13th call from current turn. For an adv ubers anecdote, I'm also thinking of all those Deo-A speed tie endgames that would be played completely differently. Common movesets would change a lot as there would be value to moves/items purely for their ability trigger varying amounts of rng calls. Protect would probably be more powerful since you could use it to skip bad rng turns and/or abuse the double tect turns for your passive damage stalling.
Basically, knowing the seed would almost completely removable the uncontrollable, third party factor of Pokemon that currently has so much unpredictable influence over the final outcome of battles. Maybe I'm just not thinking these things through far enough, though. Anyways, there's not much point to this, I just thought it was fun to consider.