Quote:
Originally Posted by Fat Equinox
Are you using a cart or VBA?
If you are using a cart, I would reccomend trying to record the time from when you capture your pokemon until you turn your game off, this way you can find out your current frame (Use Wichu's app to find your actual frame [Emerald Frame] and RNGreporter to find the method), the problem is, without a save state it is impossible to know what method you can get whether it be method 1 or 2, because it seems that as soon as you catch a pokemon, the method changes, so I would reccomend skipping the method part with mingot's program and just try to hit any random spread, and just hope you get lucky with the method.
|
I am purely a cartridge player, so this would be the process I would use. However, I do not know if I will have the time to personally reset for a wild Pokémon in the foreseeable future. On the other hand, this should be useful for users working on wild Pokémon research, such as chrish!
Quote:
Originally Posted by Fat yayece
This is an interesting project... If one were to "look at the code," how would you even get started? Does VBA allow you to look at the assembly level code? Do we know for certain if the PRNG is the same as Emerald? i.e., the initial seed may start you somewhere in the middle of the series, but will the progression of the series be the same? If yes, then maybe searching through the code for "0x41C64E6D" would be a good starting point, no?
|
Quote:
Originally Posted by Fat yayece
When I say "progression of the series" I'm wondering if the order of the frames is the same. If yes, then it means that the equation to produce the next random number is the same as the other games. That would be an easy starting point since this equation is known. If the order of the frames is different in FR/LG, then the PRNG equation is different and I wouldn't know where to even start looking.
|
Hello yayece, and thank you for expressing your interest in this project!
To the best of my knowledge, all games except for Colosseum and XD use the same formula for the random number generator (seed × 41C64E6D + 6073). This is the process X-Act has listed in his article on PID generation, and I believe that loadingNOW has mentioned it prior to that. So I do believe that this equation, and by extension, the order of the frames, should be the same in all the handheld games. The initial seed generation is the only difference (besides frame advancement); for example, Emerald is always 0, Diamond, Pearl, and Platinum seed from the clock, and so on. As such, I believe "all" are looking for is the formula that generates the seed.
However, let it be known that I am no expert on code. My only "programming experience" has been with a simple "Hello world" application two years ago, and I have no knowledge of random number generators and such beyond what I have been told by X-Act, mingot, and so on. As such, when I say "look at the code", I have said all that I can; I do not know the specifics. I apologize if I have not answered your question. On a more interesting note, I have been poring over old research concerning the RNGs, and I found an interesting tidbit posted loadingNOW, which may prove vital to understanding the seeding process:
Quote:
Originally Posted by Fat loadingNOW
In fl it's basically like in emerald maybe you remember the gaussian plot in the original emerald article (sadly i don't have the graph anymore due to server problems) but this in fl this plot would be in 3D (x axis time in game, y axis time in menu, z axis time id). So it's not quite as predictable as emerald.
|
I have bolded the above, as it seems quite important. For one, it mentions the time spent in the menu once again. However, it also mentions the time in-game; this could change as you save the game (if you save on a different minute). Could this be the reason loadingNOW suggested earlier to save your game often in FireRed and LeafGreen? Also worth noting is the existence of a "time id". I have no idea what he is referring to here, but it seems quite possible that the seeding process involves an interplay between the three variables that loadingNOW mentioned above.
Of course, this is just my speculation, but it is a piece of the puzzle that I did not notice before. Hopefully it leads us in the right direction in figuring out the seeding process of FireRed and LeafGreen.