Jump to content

Gen 3 PID


LilSmooshy

Recommended Posts

I'm playing through gen 3 games again via emulator.

I've activated the events being the tickets to navel Rock and birth Island.

I know gen 3 doesn't have a met date. However does the current date im playing affect rng/seed/PID?

For example could you reverse engineer, so to speak, my event pokemon  PID and see that Ho oh wasn't caught during the event distribution?.

Link to comment
Share on other sites

4 hours ago, LilSmooshy said:

I'm playing through gen 3 games again via emulator.

I've activated the events being the tickets to navel Rock and birth Island.

I know gen 3 doesn't have a met date. However does the current date im playing affect rng/seed/PID?

For example could you reverse engineer, so to speak, my event pokemon  PID and see that Ho oh wasn't caught during the event distribution?.

Since you are playing on an emulator (assuming Emerald) you are essentially playing the game with a dead battery. The RNG will start on the same seed every time you start up the game and will advance through the same pattern every time. The reverse engineer thing to see if it was the right date only matters for Pokémon revived from a distribution cart.

Link to comment
Share on other sites

1 hour ago, theSLAYER said:

Tho, what you should know is that at times emulator can screw up the RNG calls (the PIDIV generation).

If you're that worried bout it, then play on real hardware.

How would I know if that had occurred? Would it be obvious in that the stats shown in PkHex would differ than what the spread shown in RNG finder?

 

2 hours ago, Poke J said:

Since you are playing on an emulator (assuming Emerald) you are essentially playing the game with a dead battery. The RNG will start on the same seed every time you start up the game and will advance through the same pattern every time. The reverse engineer thing to see if it was the right date only matters for Pokémon revived from a distribution cart.

Yes on Emerald. Thanks for clarifying that. Would a workaround be changing the system date when starting a new or when using a distribution cart?

Link to comment
Share on other sites

3 minutes ago, LilSmooshy said:

How would I know if that had occurred? Would it be obvious in that the stats shown in PkHex would differ than what the spread shown in RNG finder?

if you're checking on PKHeX, and it flags a mon illegal, and it's a mon you're able to legally catch in those games, then it almost certainly happened.

To use RNGreporter to compare spreads wouldn't exactly work: you'll need to knowledge of whether the game skipped frames to begin with,
and you normally wouldn't be able to know if the frame skipping is natural consequence or the emulator mucking up.
 

To provide context, this works when a mon's encounter is only allowed to be Method 1 (for example), and it instead got Method 4.
If a mon is allowed to have Method 1, 2 or 4, then it would show up as legal either way.

7 minutes ago, LilSmooshy said:

Yes on Emerald. Thanks for clarifying that. Would a workaround be changing the system date when starting a new or when using a distribution cart?

I'm sorry, but if I'm not mistaken, system date doesn't matter, since we're talking about GBA games. GBA doesn't contain system dates?

In any event, you're not using distribution carts, so no need to dig into this.

  • Thanks 1
Link to comment
Share on other sites

7 hours ago, theSLAYER said:

if you're checking on PKHeX, and it flags a mon illegal, and it's a mon you're able to legally catch in those games, then it almost certainly happened.

To use RNGreporter to compare spreads wouldn't exactly work: you'll need to knowledge of whether the game skipped frames to begin with,
and you normally wouldn't be able to know if the frame skipping is natural consequence or the emulator mucking up.
 

To provide context, this works when a mon's encounter is only allowed to be Method 1 (for example), and it instead got Method 4.
If a mon is allowed to have Method 1, 2 or 4, then it would show up as legal either way.

I'm sorry, but if I'm not mistaken, system date doesn't matter, since we're talking about GBA games. GBA doesn't contain system dates?

In any event, you're not using distribution carts, so no need to dig into this.

I have noticed frames at times, in my opinion, appear to be jumping erratically between H1 H2 H4 when trying to RNG a wild mon, generally when fishing. 

Is this what you mean when the emulator causes issues. The mon will always come from a legit PID/spread though, so perhaps not. 

Link to comment
Share on other sites

7 hours ago, LilSmooshy said:

I have noticed frames at times, in my opinion, appear to be jumping erratically between H1 H2 H4 when trying to RNG a wild mon, generally when fishing. 

Is this what you mean when the emulator causes issues. The mon will always come from a legit PID/spread though, so perhaps not. 

Well, if you could notice frame drops, then perhaps your computer can't handle it? 😜

What I meant by frame skipping, if I could recall the conversation properly, is something like vblank interrupting the frames. Vblank normally occurs for fishing (if I'm not mistaken), however emulators might insert a vblank when it's not supposed to.

The most obvious one would be stationaries: AFAIK they should only be Method 1, and a wrong vblank would make them other methods, thus illegal.
And no, the mon won't always come with a legal PID spread. It depends on what mon you encounter and how.

An example from someone who knows better:
(Context, the response was to someone asking about Pokemon Boxes' emulator. But the whole vblank business applies here)

On 9/21/2018 at 1:46 AM, Sabresite said:

Mismatches are due to vBlank interrupts. vBlank will interrupt at inconsistent places depending on nature rolling and hardware/emulation used. Theoretically any Method 1/2/3/4 is possible. Stationaries are interesting because the likelihood of a non Method 1 on the actual GBA is near or exactly zero.

 

Edit: Also it is technically broken up into several sub categories too (first party pokemon ability not taken into account).

Method-1-1, Method-1-2, Method-2-1, Method-2-2, Method-3-2 (The 2 makes it Method 3), Method-4-2 (the 2 makes it Method 4)

Where the second number is the number of vBlank interrupts between battle start and end of IV generation. Generally the exotic ones only happen when fishing or in caves while playing on an actual cart.

IIRC, on some emulators Method-4-1 is possible due to bad timings.

and

On 1/28/2018 at 7:52 PM, Sabresite said:

The different methods are a byproduct of something called vblank. Vblank is an interrupt function that happens as a result of screen rendering and it executes an RNG call.

During wild encounters, the game picks a nature, then keeps rolling PIDs until it finds one that matches, then generates IVs.  There is almost always a single vblank (dead RNG call) between battle start and the chosen PID. Sometimes two vblanks if enough PIDs are rerolled.

Other times that second vblank happens during the PID roll. Theoretically could be between the PID halves, between the PID and IVs, or the IVs themselves.

Method 1 is 0 or 1 vblank before PID is chosen.(often referred to as Method H1)

Method 2 is 1st or 2nd vblank between PID halves. (often referred to as Theoretical Method H3). This method is so exceedingly rare (nobody has reproduced one or found one in the wild) it is skipped where Method 3 is often called Method 2.

Method 3 is 1st or 2nd vblank between PID and IVs. (often referred to as Method H2)

Method 4 is 1st or 2nd vblank between IV halves. (Often referred to as Method H4)

The order is always the same (hence no CDAB). You can find it in PKHex's legality, including battle chance, first party check, nature confirmation, etc.

 

Anyhow, if you don't wanna deal with it, just play on real hardware. :3

  • Thanks 1
Link to comment
Share on other sites

 

7 hours ago, theSLAYER said:

just play on real hardware.

I'm just curious.  Does real hardware include running in 3DS with the following method?

(a) Virtual Console Games from Nintendo;

(b) AGB_FIRM;

(c) New Super Ultimate Injector (seems like the best way now?).

 

From what I've read all of them aren't emulators.  They take advantage of Nintendo 3DS's builtin GBA hardware compatibility to run the game.  Do pokemon games (or their algorism) run differently in the above condition than in a "real" GBA hardware? 

Edited by stebrick
Link to comment
Share on other sites

2 hours ago, stebrick said:

 

I'm just curious.  Does real hardware include running in 3DS with the following method?

(a) Virtual Console Games from Nintendo;

(b) AGB_FIRM;

(c) New Super Ultimate Injector (seems like the best way now?).

 

From what I've read all of them aren't emulators.  They take advantage of Nintendo 3DS's builtin GBA hardware compatibility to run the game.  Do pokemon games (or their algorism) run differently in the above condition than in a "real" GBA hardware? 

No. play via official methods.
Pokemon GBA was never officially able to be played on the 3DS.

Link to comment
Share on other sites

On 6/24/2021 at 3:02 PM, theSLAYER said:

Well, if you could notice frame drops, then perhaps your computer can't handle it? 😜

What I meant by frame skipping, if I could recall the conversation properly, is something like vblank interrupting the frames. Vblank normally occurs for fishing (if I'm not mistaken), however emulators might insert a vblank when it's not supposed to.

The most obvious one would be stationaries: AFAIK they should only be Method 1, and a wrong vblank would make them other methods, thus illegal.
And no, the mon won't always come with a legal PID spread. It depends on what mon you encounter and how.

An example from someone who knows better:
(Context, the response was to someone asking about Pokemon Boxes' emulator. But the whole vblank business applies here)

and

 

Anyhow, if you don't wanna deal with it, just play on real hardware. :3

To confirm. If it does occur the problem is that the PID would/could be from a method not generally allocated to that mon.

Eg - a legendary which are Method 1 being caught via method 4. Which would be illegal for that mon.

And not two  random PIDs being mixed together.

I'm certain I'm always hitting the correct frame and spread  due to running an emulator with lua script and rng reporter.

Just curious sake. 

Link to comment
Share on other sites

If you read the description from Sabresite above, he explains
1) how vblank affects Methods (in general)
2) how limited vblanks are normal in retail hardware
3) how emulators may throw extra vblanks than normal.

And to confirm your question, yes, *if* your emulator throws extra vblanks than normal, it'll cause the Method of your mon to change. (which is a combination of point 3 and point 1).
 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...