Most Generation PRNG Help / Information

@Pehu- You're right. In my calibration tests I always hit even delays, while the one I'm trying to hit is odd.

Should I just try to search for a another good spread with an even target delay? (I actually usually tend to hit delays around 634-640, if that helps anyone.)

Thanks for the reply.

EDIT- @MinusOne- Thanks! I'll try that bit about the GBA cartlidge. I'll also be sure to reread the guide.

The son of EDIT- oops I said Thanks twice. My mistake.
 
Ok, another question.
I got my Shiny Swablu from the Masuda Method, so can I use that to get my Secret ID? Or do I need to find a random shiny Pokemon from the wild?

To calculate your SID manually, you'll need a shiny Pokemon that was caught and not chained or hatched~ So yeah, you'll either need to find one in the wild, or send a Pokemon over to someone who can check it for you with a device.

Ok, I'll give that a shot. I think that Syberia's guide does not take into account delays which will equate to low seconds, or I'm just misreading something.

Would it be better to add .45 seconds to my 13 seconds which is about how many frames of difference there is between my usual and target delay?

EDIT: Now when I'm trying to get emloop's timer to start it just starts then stops without counting down at all. The only thing I changed is I deleted the value from the box under what you called the 'pre-reset time'

You're always going to need to wait at least 13 seconds at the continue screen anyway, since you can't take away that loading time. Either way you'd have to add some amount of time to the value you get in the Time box to make up for it - and that's why I mentioned that it's useful to know your usual delay range. My seconds are always 14 and my most common delay is 600. When I convert 600 into Time, that becomes 10. So the extra difference I'll need to add to any delay conversions I make in the future would be roughly 4. If I were to need a delay of 650, it converts out to 10.83秒 - I'd add around 4 to that, while you'd add 3. So I'd have to reset around 14.83 seconds before my target time, and you'd probably reset around 13.83.

He did his math in a different order than I did and calculated his seconds based on waiting a whole minute before resetting, which is the usual wait time for RNG abuse if you're resetting to hit your normal seconds (14, etc.) :3
I didn't feel like waiting a whole minute though, since resetting 14+ seconds earlier than your target time gives the same results and waiting ~44 seconds was faster for me than waiting a whole 60 since the original purpose of waiting a whole 60 was to make sure you reset on the new minute - but if you're aiming for, say, 40 seconds, you're already on the new minute and it saves a bit of time. Both methods work, but he's more comfortable with his and I'm more comfortable with my own.

With my method I've never had to use the box under pre-reset time. I think you might have left it blank though, since the same thing happened to me if I deleted the zero from it. It just deletes (in # of seconds) some time from your second counter. So if you're not going to use that box, just keep it at 0. :>
 
If during my calibration for reset time and usual delay, I did not use an AR, but during my actual attempt to IV abuse I did have an AR, it would affect my delay, right? All the problems that I've been having probably are a result of this if it does indeed affect my delay.
 
Misdreavus: You're much better off trying to get a consistent second before worrying about delay. I for instance only hit 14 seconds, so it's much easier to narrow down my search. So try going faster/slower to hit 14/15 seconds consistently.
Okay, thanks for the advice. When I was doing it before, I was mashing the button as fast as I possibly could (couldn't really speed it up), so I slowed it down a bit and here's what I got out of 10 attempts:

15, 613
15, 607
15, 617
15, 603
15, 607
15, 609
15, 627
15, 609
15, 607
15, 607

Notice every single seconds value is 15, while there are 4 instances out of 10 of a delay of 607, which sounds pretty good to me.

So I assume I'm set with 15 seconds and a delay of 607 to use for this cart, right?
 
You're always going to need to wait at least 13 seconds at the continue screen anyway, since you can't take away that loading time. Either way you'd have to add some amount of time to the value you get in the Time box to make up for it - and that's why I mentioned that it's useful to know your usual delay range. My seconds are always 14 and my most common delay is 600. When I convert 600 into Time, that becomes 10. So the extra difference I'll need to add to any delay conversions I make in the future would be roughly 4. If I were to need a delay of 650, it converts out to 10.83秒 - I'd add around 4 to that, while you'd add 3. So I'd have to reset around 14.83 seconds before my target time, and you'd probably reset around 13.83.

He did his math in a different order than I did and calculated his seconds based on waiting a whole minute before resetting, which is the usual wait time for RNG abuse if you're resetting to hit your normal seconds (14, etc.) :3
I didn't feel like waiting a whole minute though, since resetting 14+ seconds earlier than your target time gives the same results and waiting ~44 seconds was faster for me than waiting a whole 60 since the original purpose of waiting a whole 60 was to make sure you reset on the new minute - but if you're aiming for, say, 40 seconds, you're already on the new minute and it saves a bit of time. Both methods work, but he's more comfortable with his and I'm more comfortable with my own.

With my method I've never had to use the box under pre-reset time. I think you might have left it blank though, since the same thing happened to me if I deleted the zero from it. It just deletes (in # of seconds) some time from your second counter. So if you're not going to use that box, just keep it at 0. :>
Thanks very much for your help Seph, you were very clear and concise and that has helped me a lot. I will go and try it out now, so we'll see how I go.

Just one last question, most likely aimed at mingot: Will there at some point in the future be a way to figure out what pokemon appears on which frame in the wild without having to just go out and hit that frame and hope for the best? or is there a way now? Thanks.
 
Now, there is not a way for this.

I do believe that this needs lots of research, and I mean LOT's of research, as each place have the pokes that can appear, and with a certain probability. So, the same frame will hold different pokes, according to the place where you use that frame. I can't even think about a way Nintendo could have done it.
 
If during my calibration for reset time and usual delay, I did not use an AR, but during my actual attempt to IV abuse I did have an AR, it would affect my delay, right? All the problems that I've been having probably are a result of this if it does indeed affect my delay.

I think it would be most harmful to your reset time. That would change, most likely.

For SR the birds, do I need to do the same steps or something change o.o?

Initial Frame changes. Method changes when you are generating to find a frame.

So I assume I'm set with 15 seconds and a delay of 607 to use for this cart, right?

Sounds good.

Just one last question, most likely aimed at mingot: Will there at some point in the future be a way to figure out what pokemon appears on which frame in the wild without having to just go out and hit that frame and hope for the best? or is there a way now? Thanks.

Maybe one day. I have the internal encounter charts, so now the trick is just to figure out how exactly it works. It's on the todo list, but will probably take a while. If you feel like looking at it (and knowing a very little bit about databases would not hurt) let me know and can point you at an encounter chart.

Now, there is not a way for this.

I do believe that this needs lots of research, and I mean LOT's of research, as each place have the pokes that can appear, and with a certain probability. So, the same frame will hold different pokes, according to the place where you use that frame. I can't even think about a way Nintendo could have done it.

Each area has a 12 slot encounter table for "normal" conditions with a number of these slots being overlaid when things light "day", "night", "swarm", "emerald inserted" are in effect.

An RNG call is used to generate a number and then something is done (most likely division or a mod) to make it point to a certain slot. Level determination may be built into this same RNG call, but I am not sure. Same with hold items.
 
I would love to take a look at those encounter tables. I do understand quite a lot about databases, and game development, so if I can't understand anything about this to help with the research, I can at least amaze myself with this level of logic.
 
I'd love to help but I don't have any knowledge of databases. I'm now looking it up on wikipedia and would be happy to help out in any way that I can.
 
If you can give me some ideas on how the pokemon is chosen, I could try testing stuff out. I know its not based on PID so it's affected by the frame and time/delay combined.
 
Can someone help me make sure I'm going about this the right way? Please bear with me... this is my first attempt at RNG abuse.

I've got my seconds/delay, 15/607. I'm looking to scent a Ditto in the Trophy Garden (he's currently one of the two in there). The seed I'm looking for is 52140289, and when I input it into the Seed to Time function and play around with the year until I get one with a delay of 607, I get the list of dates/times, and pick 1/27/2042, 20:40:15 just because it means resetting on an exact minute. So...

1. I change the date on my DS to the date above, load the game, cancel the journal, save with the coin flip Pokétch app on, and shut it off.

2. I change the time on my DS and PC to 20:39:00 and load the game.

3. At 20:40:00, I soft reset the DS, go through the title screen / etc. at my normal pace that gets me my most common delay of 607 (and 15 seconds), and load.

4. I put my seed, 52140289, into the main part of RNG Reporter, select "DPPt Egg PID (Normal)," keep my initial seed set to 1 since I have no roaming legends, and click "Generate." I then use the Pokétch coin flip app on my game, and if I've done everything right, my first flip should correspond to frame 1, second flip to frame 2, etc. If my coin flips are NOT correct, then I must go back to step 2.

So far so good? The rest of the process I'll worry about once I get this correct.

However, out of about 10 frustrating tries, my coin flips weren't matching, and I hit that delay 4/10 times during my initial calibration. I know I shouldn't expect to be a pro at this during my first time, but I wanted to check in and make sure I was doing everything right before I kept at it. Please let me know! Thanks!
 
The Ultimate Pokemon Center (www.upokecenter.com) has the encounter tables for Diamond (link) and Pearl (link).

The pages contain the raw data only. Based on how the 3rd generation works and what causes certain species to appear, here's how I think the tables are to be interpreted:

Grass/Caves:

20% #1
20% #2
10% #1 (Morning)
10% #2 (Morning)
10% #3
10% #4
05% #1
05% #2
04% #1
04% #2
01% #1
01% #2

(no levels are listed for the below entries, but I believe they take on the level of the entry they replace)

20% #1 (Swarm)
20% #2 (Swarm)
10% #1 (Day)
10% #2 (Day)
10% #1 (Night)
10% #2 (Night)
05% #1 (Poké Radar)
05% #2 (Poké Radar)
01% #1 (Poké Radar)
01% #2 (Poké Radar)

04% #1 (Ruby)
04% #2 (Ruby)
04% #1 (Sapphire)
04% #2 (Sapphire)
04% #1 (Emerald)
04% #2 (Emerald)
04% #1 (FireRed)
04% #2 (FireRed)
04% #1 (LeafGreen)
04% #2 (LeafGreen)

Surfing/Fishing: (Level listed = max level, # in parentheses seems to be min level)

60%
30%
05%
04%
01%

Trophy Garden: I hypothesize that each special Pokemon in the Garden replaces a 4% slot and a 1% slot, since they should have a 5% appearance rate, yet they can appear at two different levels.

Great Marsh Binoculars: No clue.

---

For Pokemon in grass (and most likely caves too), I've noticed a correlation between the entry of the encounter table used and the lower PID (last 4 digits of the hexadecimal PID - essentially the RNG call immediately before the RNG calls that generate the PID and IVs) of the previous Method 1 frame (example: If you Sweet Scent and land Frame 200 in Method J, look at the lower PID of Frame 199). Since my supporting data is from the Platinum Trophy Garden (and I don't think we have the tables for Platinum, and Platinum Trophy Garden is significantly different from D/P Trophy Garden), I can't make the exact connection, but we might want to look into comparing the species encountered with R*100/65535, where R is the lower PID of the previous frame.

I'm too busy this weekend to look further into this, but I recommend Sweet Scenting in the entrance of Stark Mountain in Diamond/Pearl without LeafGreen. There shouldn't be any annoying NPCs, and each entry of the encounter table is different, so it should be easy to determine exactly which entry is called.
 
@ Wild Eep - I am using the veekun database for the encounter table, which lists the levels so you might want to check that out. It has all of the "overlays", too. The percentages for each slot were uknown, but I think what you just posted fills that in :)

And yeah, it's basically the previous RNG call that determines this. It's why scented Pokemon are on frame two. It used the previous call to flesh out the encounter.

So now it's just really the task of mapping that previous call to the encounter table.

Ah, I see you have something on that. But how is your formula mapping to the 12 slots?
 
Hmmm very interesting, so if I wanted to test I should go into Stark Mountain and sweet scent instantly after starting up? and then SR and do it again and again? or catch pokemon after pokemon and list my results?

Like wild eep said, we have to find out how the previous half of the rng call affects which pokemon is chosen out of the 12 possibilities. So we have to find out how they are related.
 
@ Wild Eep - I am using the veekun database for the encounter table, which lists the levels so you might want to check that out. It has all of the "overlays", too. The percentages for each slot were uknown, but I think what you just posted fills that in :)

And yeah, it's basically the previous RNG call that determines this. It's why scented Pokemon are on frame two. It used to the previous call to flesh out the encounter.

So now it's just really the task of mapping that previous call to the encounter table.

Ah, I see you have something on that. But how is your formula mapping to the 12 slots?

I got the slot percentages from the encounter tables for Ruby/Sapphire (linked from this page, split into land/surfing/fishing). The same data for FR/LG are on the site except without percentages (but I think we should be able to fill those in like I did for D/P). For Emerald and Platinum, I think we'll have to match the species that appears with the slot that's supposed to appear.

EDIT: I'm not exactly sure how the formula will map, but I was hoping Stark Mountain captures would help figure that out (as all 12 entries are different).

ANOTHER EDIT: The reason I prefer the encounter tables on upokecenter over veekun is that upokecenter's tables show the exact slot of each of the 12, while veekun consolidates slots of the same species.

Somehow missed this:

Hmmm very interesting, so if I wanted to test I should go into Stark Mountain and sweet scent instantly after starting up? and then SR and do it again and again? or catch pokemon after pokemon and list my results?

Unless mingot has a better idea, you got it. Seed + Frame # (if you're scenting immediately, this should be 2) + Species + Level would all be very useful (as well as the last 4 digits of the previous frame's Method 1 hexadecimal PID [probably frame 1], if you can be bothered).
 
ANOTHER EDIT: The reason I prefer the encounter tables on upokecenter over veekun is that upokecenter's tables show the exact slot of each of the 12, while veekun consolidates slots of the same species.

Actually... You can download the mysql creation scripts and they have all all 12 slots. It's aggregated on the online pokedex, though.
 
Actually... You can download the mysql creation scripts and they have all all 12 slots. It's aggregated on the online pokedex, though.

Found it. It's good to know that that stuff is there. Now that I've seen it, I can say that unless I'm missing something (I probably am!), I think the upokecenter list is easier to read than the straight SQL.
 
Ok I'm using the calibration steps, however when I get my initial seed the delay seems pretty consistent however the seconds vary alot, by that I mean from like 8 to 43. I am using an AR, could this be affecting my results? Any help would be appreciated.
 
Ok I'm using the calibration steps, however when I get my initial seed the delay seems pretty consistent however the seconds vary alot, by that I mean from like 8 to 43. I am using an AR, could this be affecting my results? Any help would be appreciated.
The seconds just relates to exactly when you enter hit continue. You should be soft resetting on the minute exactly and that will give you the same seconds over and over.
 
Back
Top