Manipulating RNG in Battles - Predicting "Luck"

I would quit if people I battle started abusing this.

Why research it if it's going to turn Pokemon into a game of abusing a random number generator? If it is researched and the methods are released, then there is a very good chance that, if it's relatively easy to do, people will abuse it even if it is banned.

As a few people have said, I could see this used for a "hax free" game, but even then, once it's discovered, people will abuse it regardless of any ruling against it (if that occurred). Even though we've all said "no hacks" before, that still happens. The same thing would happen here, wouldn't it? You can't really ban this. If it is researched, keep the information private and put it in Shoddy.

I don't see how or why this would create anything truly desirable for the Pokemon metagame, but the metagame would certainly change. I'm not really sure of the implications, but yes, lots of protect/substitute.
 

Syberia

[custom user title]
is a Smogon Media Contributor Alumnus
If it is researched, keep the information private and put it in Shoddy.
I would rather have the information released but not put into Shoddy (or, perhaps even better, put it into Shoddy but give us the option of turning it on/off, and have the default setting be off in tournaments or ladder matches) than discovered, implemented, and covered up. I believe quite firmly in the freedom of information, and don't think it's in anyone's best interest to bring back any of the bad blood stirred up by the whole PID/IV issue/argument from way back when.

It would be fun to play around with if both players agree with it beforehand, but I absolutely object to this becoming the standard method of play in a competitive setting.
 

Princess Emily

Fear the nice-smelling Princess!
Interesting topic I've read, although I was wondering about this weeks ago, but only for the sole purpose of using it in Battle Frontier (AKA "Hax City").

HG/SS RNG abusing for Raikou/Entei/Roaming Lati@s post-Elite 4 is already very hard enough to crack, but I don't know about the difficulty of RNG abuse in battles (if it does exist in the future). Probably at least 20 times harder than searching for 31 IV Shiny Pokemon with a desirable nature...

I don't really like to battle in wifi (One... because I get stressed, and Two... WiFi connections are sometimes inconsistent and always DCing)
 
why would they want us to crack the RNG when it's supposed to be hidden from the players? Guess the programmers found out that people leraned to abuse the system and decided to make it easier for some odd reason?
To make it fairer. That RNG manipulation exists means anyone with sufficient knowledge and a modest amount of patience can get perfect Pokemon. Without RNG manipulation, getting perfect Pokemon is far more luck-dependent, but verifying you have one is still trivial, meaning one player can have an unfair advantage over another.
(Of course, conventionally breeding for perfect IVs is possible, but requires an extreme amount of mindless effort. It could thus still be seen as unfair that one player could by pure luck gain perfect Pokemon, while another player had to put in months of boring work to get theirs).
 
To make it fairer. That RNG manipulation exists means anyone with sufficient knowledge and a modest amount of patience can get perfect Pokemon. Without RNG manipulation, getting perfect Pokemon is far more luck-dependent, but verifying you have one is still trivial, meaning one player can have an unfair advantage over another.
(Of course, conventionally breeding for perfect IVs is possible, but requires an extreme amount of mindless effort. It could thus still be seen as unfair that one player could by pure luck gain perfect Pokemon, while another player had to put in months of boring work to get theirs).

that makes sense i guess. still, i thought if anything, they would make it harder to crack the RNG in the later games but what do i know?
 
I think this sounds incredibly interesting. It could add a whole new level to the prediction of the game and it would eliminate luck. If a server comes up to test this I will try to try it out.
 
The problem is that computers can't generate truly random numbers, so any attempt is going to be crackable.
Italics is not true. See http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
Use of a strong algorithm, with good entropy inputs (continuously adding entropy, not just at one 'seed' time), will make the RNG basically unmanipulatable. For entropy, maybe use something like the time taken to read data from the cartridge, which is expected to have a bit of jitter - if you can measure it accurately enough.
(Also, while a regular computer cannot generate true random numbers, it's possible to make semiconductor devices that can, using things like thermal noise.)

Such methods require significant computing power, which is reason enough for them not to be used in Pokemon.
 
Why should this not be researched publicly? Information in itself is a good thing, it's how we use it that makes any difference. As Colin said, it would not be possible to know the RNG in a competitive tournament Pokeon battle and therefore it will not be known in ladder or non-special tournaments on Shoddy Battle. Ofcourse, there is always an option to impliment is as a 'fun' battle type, like random battles, and this could form an interesting metagame.
Assuming that the in-battle RNG is crackable and also practically useable, the only people that I can see this effecting whether they like it or not is Wi-Fi battlers. I have no knowledge of Wi-Fi battles, but I can be pretty sure I wouldn't like it to become the norm to exploit the RNG, but I can't imagine a way of practically monitoring/punishing use of it. Hell, I can't find a reason to say we shouldn't RNG 'abuse' anyway, besides 'I don't like it.'
 
Italics is not true. See http://en.wikipedia.org/wiki/Cryptographically_secure_pseudorandom_number_generator
Use of a strong algorithm, with good entropy inputs (continuously adding entropy, not just at one 'seed' time), will make the RNG basically unmanipulatable. For entropy, maybe use something like the time taken to read data from the cartridge, which is expected to have a bit of jitter - if you can measure it accurately enough.
(Also, while a regular computer cannot generate true random numbers, it's possible to make semiconductor devices that can, using things like thermal noise.)

Such methods require significant computing power, which is reason enough for them not to be used in Pokemon.
That is interesting, and I have always thought there was something better than a necessarily predictable clock to seed random numbers. However, as this is beyond the capability of hand held Nintendo devices in the near future, it can probably be discarded for the purposes of this discussion. Thanks for the info though.
 
Well this certainly adds a new element to the game. Kind of makes it like chess... You have your formulas and ways to force a checkmate, but so does your opponent.

It's interesting, but if I'm reading it right... it still requires setup. Anything that requires setup can be predicted. If it's predictable there are always ways around it.
 

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
Definitely useful in my opinion. I wouldn't keep a precious pokemon in if I knew a freeze/crit were incoming.
 
Sounds like April Fools Day from last year, all about abusing hax only this time its just a discussion thread instead of being put into Shoddy servers. If it is not April Fools, then researching it would probably not be good for Smogon. Learning how to abuse hax when everyone hates it is not the best course of action if you want to maintain a healthily sized playerbase.
 
It's already well-known that you can manipulate the RNG (random-number generator) in the to produce legit flawless and\or shiny Pokemon. But that's not what this is about. The in-battle RNG in 4th gen, unlike 3rd gen's RNG, only changes as random numbers are needed. So you can know that a critical hit would appear on a certain number, and a skilled player could get that number to show up right when he needed it, all by in-battle actions.
Forgive me if this makes no sense, seeing as I know virtually nothing about the RNG, but you're saying that this in-battle RNG is manipulated by in-battle actions? Wouldn't that mean that a player, who has a seed and is manipulating luck, have to make several moves that would likely initially placed him/her at a disadvantage in order to achieve, say, getting a critical hit? You would have to fuck around for who-knows how many turns, letting your opponent do whatever they feel like in the meantime, just to get one pissy little critical hit - providing you haven't been swept by a +3 atk +3 spe Gyarados by then!

And although you might know when said critical hit is going to happen, what good will it do when you most likely don't know your opponents team? You could be aiming for that critical hit on turn 12 with, for example, your LO Starmie. But what happens when your opponent switched their Blissey in and just tanks the critical hit like nothing happened? I'll tell you what: you just wasted 12 turns that could have actually mattered.

(Of course, if when you say 'in-battle actions' you mean just pressing the 'Fight' button or whatever then disregard everything up to this point)

As a side note, to predict your opponent's critical hits you would have to know their seed (if I'm not mistaken), and who is going to give their seed to their in-battle RNG abusing opponent?

Sorry if all of that was just nonsense but those problems seem pretty important. It is for those reasons that I don't see any problem with cracking the in-battle RNG, since I think it's going to be next-to-useless and a waste of time anyway.

And this does sound a bit like an April Fools joke xD
 
Forgive me if this makes no sense, seeing as I know virtually nothing about the RNG, but you're saying that this in-battle RNG is manipulated by in-battle actions? Wouldn't that mean that a player, who has a seed and is manipulating luck, have to make several moves that would likely initially placed him/her at a disadvantage in order to achieve, say, getting a critical hit? You would have to fuck around for who-knows how many turns, letting your opponent do whatever they feel like in the meantime, just to get one pissy little critical hit - providing you haven't been swept by a +3 atk +3 spe Gyarados by then!

And although you might know when said critical hit is going to happen, what good will it do when you most likely don't know your opponents team? You could be aiming for that critical hit on turn 12 with, for example, your LO Starmie. But what happens when your opponent switched their Blissey in and just tanks the critical hit like nothing happened? I'll tell you what: you just wasted 12 turns that could have actually mattered.

(Of course, if when you say 'in-battle actions' you mean just pressing the 'Fight' button or whatever then disregard everything up to this point)

As a side note, to predict your opponent's critical hits you would have to know their seed (if I'm not mistaken), and who is going to give their seed to their in-battle RNG abusing opponent?

Sorry if all of that was just nonsense but those problems seem pretty important. It is for those reasons that I don't see any problem with cracking the in-battle RNG, since I think it's going to be next-to-useless and a waste of time anyway.

And this does sound a bit like an April Fools joke xD
Here is an example of how it would work (Note- I assume the order is hit y/n, damage, crit y/n, then secondary effect if applicable. This is not proven, I just made it up):

You have a list of seeds and their effects. For example:

Code:
1. 84+ accuracy hits, 93% max damage, no critical, 17+% chance secondary effects happen.
2. 0+ accuracy hits, 90% max damage, no critical, 50+% chance secondary effects happen.
3. 92+ accuracy hits, 99% max damage, no critical, 5+% chance secondary effects happen.
4. 73+ accuracy hits, 97% max damage, no critical, 90+% chance secondary effects happen.
5. 50+ accuracy hits, 94% max damage, no critical, 56+% chance secondary effects happen.
6. 42+ accuracy hits, 100% max damage, no critical, 29+% chance secondary effects happen.
7. 33+ accuracy hits, 98% max damage, critical, 98+% chance secondary effects happen.
8. 90+ accuracy hits, 95% max damage, no critical, 2+% chance secondary effects happen.
Say, for instance, that both battlers know that the next seed is seed 1. Player A has, say, Salamence out, and Player B has, say, a Bronzong. Last turn, Salamence used Fire Fang on Bronzong. Player B looks at the list, and knows that if Salamence uses Fire Fang again, it will hit (84+ hits, it is 95), will do 90% damage (not enough to KO), will not crit, and neither effect will activate (neither effect is common enough for 90% effects or 56% effects). Player B would then also know that if Bronzong used Explosion, it would deal max damage (Explosion needs no accuracy check), and critical, more than enough to finish off the Salamence. However, Player A could look at the list, as see this, switching out, causing explosion to instead deal only 93% damage with no critical to what switched in. The two players could keep predicting each other like so.

I'm not sure if I did a good job explaining that, but I hope it helped. As for this being an April fools joke, I have worked extensively with the RNG for pokemon games, and I can tell you this is indeed no joke.
 

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
Here is an example of how it would work (Note- I assume the order is hit y/n, damage, crit y/n, then secondary effect if applicable. This is not proven, I just made it up):

You have a list of seeds and their effects. For example:

Code:
1. 84+ accuracy hits, 93% max damage, no critical, 17+% chance secondary effects happen.
2. 0+ accuracy hits, 90% max damage, no critical, 50+% chance secondary effects happen.
3. 92+ accuracy hits, 99% max damage, no critical, 5+% chance secondary effects happen.
4. 73+ accuracy hits, 97% max damage, no critical, 90+% chance secondary effects happen.
5. 50+ accuracy hits, 94% max damage, no critical, 56+% chance secondary effects happen.
6. 42+ accuracy hits, 100% max damage, no critical, 29+% chance secondary effects happen.
7. 33+ accuracy hits, 98% max damage, critical, 98+% chance secondary effects happen.
8. 90+ accuracy hits, 95% max damage, no critical, 2+% chance secondary effects happen.
Say, for instance, that both battlers know that the next seed is seed 1. Player A has, say, Salamence out, and Player B has, say, a Bronzong. Last turn, Salamence used Fire Fang on Bronzong. Player B looks at the list, and knows that if Salamence uses Fire Fang again, it will hit (84+ hits, it is 95), will do 90% damage (not enough to KO), will not crit, and neither effect will activate (neither effect is common enough for 90% effects or 56% effects). Player B would then also know that if Bronzong used Explosion, it would deal max damage (Explosion needs no accuracy check), and critical, more than enough to finish off the Salamence. However, Player A could look at the list, as see this, switching out, causing explosion to instead deal only 93% damage with no critical to what switched in. The two players could keep predicting each other like so.

I'm not sure if I did a good job explaining that, but I hope it helped. As for this being an April fools joke, I have worked extensively with the RNG for pokemon games, and I can tell you this is indeed no joke.
So thats why a move with below 100% accuracy [cough stone edge] more often than it should.

EX; Missing Fireblast 5 times in a row, 2 Stone edge misses etc.
We can NOW predict if a move will miss...

Edit; NVM
 
I don't get why people think this is "abusing hax". if the RNG is public and researched then this is not "abusing" anything any more than the fact that we know Fire Blast is 120 BP and 85% accuracy. it becomes a part of the game (if anything hax becomes less "hax" and more skill-based).
 
Although i'm not sure about this, Pikachu25, i think that even if the move regardless of if the move was Rock throw or Ice punch, it still makes a accuracy check, as the moves could miss if there was a change to accuracy or evasion.

could someone tell me what programing Language shoddy is in? Frequently, if there are differences between the languages it can change the way that it picks up the information. Often this would make the difference between the seeds being interpreted in a different way, Oops. Likewise, the seeds should be taken from the cartridges, as shoddy is supposed to mimic the game. So, i don't think that this has much of a future.
 
It's a matter of the algorithm, not the programming language.

The real games use a very simple random number generator, namely a linear congruential generator. On the other hand, a battle simulator (and any decent online poker site, for that matter) would use a generator that makes predicting the next random number especially difficult. This can range from Mersenne Twister to a cryptographically strong generator (think '/dev/urandom').
 
Although i'm not sure about this, Pikachu25, i think that even if the move regardless of if the move was Rock throw or Ice punch, it still makes a accuracy check, as the moves could miss if there was a change to accuracy or evasion.

could someone tell me what programing Language shoddy is in? Frequently, if there are differences between the languages it can change the way that it picks up the information. Often this would make the difference between the seeds being interpreted in a different way, Oops. Likewise, the seeds should be taken from the cartridges, as shoddy is supposed to mimic the game. So, i don't think that this has much of a future.
I think OmegaDonut said somewhere that as of now, we think there isn't a check on 100% accuracy moves unless one of those conditions is true. But the point I was trying to make was that we could see a series of numbers and tell which attacks would land on which numbers. The exact specifics are, as of yet, unknown.
 
Hax are part of the game but I would see a huge metagame change with RNG battle manipulation. But I think that that we should have a manipulation clause like a clause where you can't use the RNG to predict crits and stuff, so for people who just want to play the game normally can play with that clause on and with people who dislike hax to not have that clause on.
 
Hax are part of the game but I would see a huge metagame change with RNG battle manipulation. But I think that that we should have a manipulation clause like a clause where you can't use the RNG to predict crits and stuff, so for people who just want to play the game normally can play with that clause on and with people who dislike hax to not have that clause on.
Well part of the problem is that you can't prove if a person is abusing it or not. Like if a person is good with pokesav, it is supposed to be next to impossible to detect it, and this would be the same situation.
 
Well part of the problem is that you can't prove if a person is abusing it or not. Like if a person is good with pokesav, it is supposed to be next to impossible to detect it, and this would be the same situation.
Well thats the problem, I guess the closest way to detect if there RNG abusing is how much time there taking, but you might accuse someone for RNGing abusing and they might only be thinking for a long time =/
 
To give a better example, Fire Fang uses up five RNG numbers (one for damage, one for 95% accuracy, one for CH chance, one for burn and one for flinch), where as Seed Bomb only uses one (damage).
Seed Bomb can crit too...

If you're thinking about a move on the opposide side of the spectrum as Fire Fang, it would be Seismic Toss because this is a fixed-damage move (always does whatever level the user is) that never crits, never misses (barring the evasion boost from Double Team or Minimize) and has no chance effects like burn or flinch.
 

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

Top