REPLY TO THIS THREAD QUICK REPLY START NEW THREAD |
Crimnarok | The science and mechanics of Shiny Pokemon |
Wiki Pages
Log in to remove this advertisement The purpose of this thread is to get down to the nitty gritty of these extremely difficult to obtain Pokemon in the hopes of understanding and potentially increase the chances of encountering these little trophies. For now, I'm working with FireRed v1.0 and LeafGreen v1.0, but mostly FireRed. I've done research on just about every corner of the known internet, each yielding different information which makes me weary of true facts or just plain ol' smoke being blown you know where. Yes, Shiny's are for the most part useless, but for a hobbyist and amateur game hacker /modifier, it's really fascinating stuff! I encourage all who actually know what they're talking about to post, if you're not sure of your facts, please say so and ask like I am, that way anyone who is trying to research this can get pure facts and not "ideas", not to say "ideas" aren't welcome, because they certainly are. This way anyone who's casually browsing can get all of the facts and resources in one place. __________________________________________________________________________________________ __________________________________________________________________________________________ Now, with all of the research I've done so far, I'm still at a bit of a loss on how the system really works, several places say that Trainer ID (TID's), Secret ID (SID's), and Personality Values are what determine a Pokemon's Shiny state. Some people say that a specific Trainer ID is ideal to have, such as a pyramid ID (12321) or a sort of repetitive ID (22222). Also, that the system takes your TID and SID and adds them in some way, then takes the Personality Values and somehow adds those two results to get a number, and if it's 8 or less, then you get a Shiny. 1.Is that part true and are these reliable sources of factual information? h t t p : / / bulbapedia.bulbagarden.net/wiki/Shiny_Pokemon h t t p : / / bulbapedia.bulbagarden.net/wiki/Trainer_ID h t t p : / / bulbapedia.bulbagarden.net/wiki/Personality_value Some other places, if I remember right, claimed that a Shiny depends solely on RNG alone. I kinda doubt that as most places talk about TID's, SID's and PV's being the main factors, but I may as well ask, 2.does RNG alone have any validity to it? If any of the previous is true, then we now know what factors generate a Shiny Pokemon. So, the 8 in 65536; simplified as 1/8192 chance of encountering a Shiny Pokemon, I'm pretty sure stands. What can we do to help increase that chance without cheating? Well I have an idea currently in testing. Most players usually have a jumble of different numbers in their Trainer ID and Secret ID, for example Trainer ID 25438 and a Secret ID of 16497. Here's the big question... 3.What if you were to manipulate the Random Number Generator (RNG), in order to get a Trainer ID of 00000 and a Secret ID of 00000? Would that potentially increase your chances of encountering a Shiny? Like say from 8/65536;1/8192 to 16/65536;1/4096? h t t p : / / www.smogon.com/forums/showthread.php?t=62357 After a number of hours, through RNG manipulation and some slight cheating for testing purposes, I managed to get a Trainer ID of 00000 and a Secret ID of 00000. So far, I have yet to get a Shiny and will get to you after I catch Mewtwo to see how many Shinys I've encountered, if any at all. The cheats I've used are a RNG Kill code to save time in actually manipulating the SID, and a Secret ID reveal code to save time in finding it out the legit way, ( Through formulas and math equations ). The Trainer ID I managed to do myself without cheating. (And yes, for testing I'm using VBA 1.7.2) If any are curious, here are the cheats and sources that I'm using /have used for testing: Spoiler:RNG Kill Code http://www.gamefaqs.com/gba/918915-pokemon-firered-version/faqs/32496 Pokémon FireRed/LeafGreen 1.0 ( This code works for my version of FireRed v1.0 ) 83005000 61A1 83005002 0A35 Spoiler:Secret ID visable in Pokemon Summary
(The codes in red are what I've used in my version of FireRed v1.0) http://www.gamefaqs.com/boards/918915-pokemon-firered-version/47468182 Pokémon FireRed/LeafGreen 1.0: Secret ID in Summ. {ARv.3} EA131032 CF5F8739 FA034D9B 4D8B35A9 Pokémon FireRed/LeafGreen 1.1: Secret ID in Summ. {ARv.3} F602177D 0F529561 FA034D9B 4D8B35A9 | |
posts in thread | |
Advertisement Neoseeker | Sponsored Links |
Log in or register to remove this advertisement | |
Crimnarok | re: The science and mechanics of Shiny Pokemon |
I figured I might as well update on what I've found out so far.
After a few hours of trying to get a Shiny Charmander, no success. So I decided to, *cough, cheat again. On a normal run, (Starting a new game that has a normal Trainer ID and Secret ID, ex. TID 13456 and SID 46123), the Shiny code worked and I got a Shiny Charmander as expected. Now on the file that has 00000 for both TID and SID, the code did not work. This leads me to believe that having a perfect "0", actually prevents being able to run into a Shiny. So, after looking into it a bit more, I'm guessing an ideal TID and SID should have a value of 1 in 16 bits of binary. This means that there's only one "1" in 16 spaces which are represented by "0's", I think I worded that right. So if that's true, then an ideal ID number for both TID and SID would be, for example, 00001, 00002, 00004, 00008, 00016, 00032, 00064, 00128, 00256, 00512, 01024, 02048, 04096, 08192, 16384, 32768, and possibly 65536, but I've heard that the highest ID number anyone can have is 65535 due to a bit restraint or something. Each of those numbers add up to 1 when translated to 16 bit code. A good way to see if your ID numbers give you a decent chance at encountering a Shiny is to check out this site. http://www.entrylevelprogrammer.com/HexDec/DecBinHexOct.php ...and then if you want to "xor" your TID and SID together, you can go here... http://www.miniwebtool.com/bitwise-calculator/ Make sure the "Data Type" is set to "Binary", then enter in your TID in "Number 1", then your SID in "Number 2", the result will show at the bottom. Then all you have to do is add up the 1's and see what they add up to. In this example, I'm going to xor TID 00016 and SID 00032, or 00000000 00010000 and 00000000 00100000, the result is 00000000 00110000. Adding these together is 2. Which so far is less than 8, but we still have to xor the Pokemon's Personality ID, which for the most part is completely secret unless you know how to do the formula and math involved. Also it's pseudorandom, or for the most part random that can be anticipated with the proper information. So for this I'll leave the Personality Values up to fate, or blind luck if you prefer. I'm sure there are two 16 bit numbers that when xored together create a value of 1, but I've yet to figure that one out. Also, when thinking about it this way, it seems that there are ID number combos out there that would automatically make it impossible to get a Shiny. Like those Pyramid numbers for example. 12321 and 23432 xored equal 27486, or 110101101011110 which when added equal 10. Then again, when the 32 bit PV's are xored, you then have to take that result and xor the result you got from xoring your TID's and SID's, and THAT's what determines the Shiny, so perhaps the odds are always 1/8192 no matter what TID and SID you have? Again, from what I've gathered by having a TID of 00000 and an SID of 00000, having a "0" will prevent getting a Shiny. Also, I've noticed that when two identical binary numbers are xored, they equal "0", So you want to make sure that your TID and SID numbers are NOT the same. I've read that a Pokemon's Personality Value is 32 bit, or twice that of your TID or SID's, which are 16 bit values. As far as I know, there's really no way of controlling this value unless you cheat using codes. You could, in theory, manipulate the RNG. The goal I'm trying to get at is to increase the chance of encountering Shiny's, not constantly getting them all the time, although with the proper knowledge anything's possible I suppose. I think I might be on to something here, if certain TID's and SID's combine in a certain way, the odds might not always be 1/8192. What do you guys think? | |
posts in thread | |
pokefreak2014 | re: The science and mechanics of Shiny Pokemon |
Hello, Crimnarok! I happened upon your thread while researching about shiny pokemon, and your research has left me very intrigued about the entire process. Thanks for your input!
I know this thread was posted almost two years ago, and it appears to have been left alone since then, but I have an inquiry regarding the trainer ID. You hypothesized that the ideal trainer ID should translate to one bit of binary for greater chances at shines. However, since the "xor" function deals with similarities between the two IDs, would IDs that contain 15, or even 16, bits of binary also serve the same function? It is my understanding that the closer to 0 or 16 bits you are, the closer you are to an "ideal" 50% chance of adding up to 8 or less (or respectively, 8 or more) during the calculations. I really appreciate all of your research, and I plan on referring to it when I need it. To answer your last question, though, about the odds always being 1/8192 or not, there's no way to truly calculate it without knowing the SID somehow. In my Black 2, my trainer ID is 00514, just two off of your 00512 prediction! Even with such a great trainer ID, which only contains two bits of binary, it's still possible that applying "xor" to the two IDs gives me 16 bits of binary... which would leave the possibility of a shiny entirely up to the personality values of the pokemon encountered (I haven't caught any shiny on that game, just to let you know). In the end, it's still a mystery (without cheating devices, that is), but it's that mystery that continues to make shiny pokemon so interesting. I really hope you're still around to reply! | |
posts in thread | |
[All dates in (PST) time] | Threads List « Next Newest Next Oldest » |
REPLY TO THIS THREAD QUICK REPLY START NEW THREAD |
Powered by neoforums v2.3.3c (Bolieve)
Copyright Neo Era Media, Inc. 1999-2015