|
Post by Tombstoner on Mar 30, 2011 10:11:53 GMT -5
Copied from a post of mine on Smogon: Thanks to Wi-Fi, many trade threads now thrive. Over Wi-Fi, everyone can trade Pokémon from the fourth generation onward. Even the third generation games have a use in the trading industry, as the Pokémon can be migrated. However, due to the changes in mechanics, the first two generations were left behind, and people such as me no longer play them, due to their lack of connectivity with the newer games. Solo runs and such are nice, but I would personally rather spend my time RNGing or even SRing on XD. What if Wi-Fi trading could be simulated on Generation I? I wouldn't propose this unless I had an idea of how it would be done, of course. I know that battling can not be done without a program like Netbattle, and there is no VGC where the Pokémon can be put to use, nor compatibility with the more recent games. I don't know of many who actually use Pokémon obtained from trading or RNGing to battle, though. My idea is that it would be done using a save editor, similar to the Pokésav we all know. The ROMs of the games have been researched to death, so the needed offsets and such could easily be located. This editor could export Generation I PKM files, which could be extracted from a save and imported into one. I can not program something like this myself, but it would certainly be possible, no? Thoughts?
|
|
|
Post by GARY 'M 9 on Mar 30, 2011 17:05:03 GMT -5
Really, the only gap for migration is between Generation II and III. Someone would need a program that can communicate and convert Gen II Pokemon Data to Gen III. The only real obstacles I can see with this would be EVs (and even Shiny interpretation). EVs in Gen II were set to max of 65535 while in Gen III it was set to 255. You would need to scale this down to reasonable Gen III levels in order to convert. That, and their natures would have to be set to a neutral value seeing as how Gen III introduced natures and choosing a nature could be considered cheating. I think Gen II did not have a secret ID so one would need to be generated from many save details. Location met wouldn't really be a problem as we could just set this to Received in a trade (for nothing ). The device would be able to do box receiving just like with Gen 4/Gen 5. The logic for held items may be a hassle but it can be done. Same for known moves and text/nickname transferring.
|
|
|
Post by Tombstoner on Apr 2, 2011 12:10:21 GMT -5
I'm fairly sure we would need to take a lot of liberties, as the whole data structure changed. No idea how we'd get shininess to work. My idea was actually the trading of exported files.
|
|
|
Post by CytricAcid on Apr 2, 2011 13:26:55 GMT -5
Perhaps for the IVs we can just convert them to being out of 31. simple math, and maybe a check for shiny IVs beforehand can trigger shiny pokemon. If I am correct, the Limit for IVs in 1st/2nd gen was 16, right? therefore, a simple math equation can determine what it is out of 31; Assuming x = IVs in 1st/2nd gen y = IVs in 3rd gen and up (x * 31)/16 = y
converting EVs could be the same, i believe! Just switch around the 16 and the 31 for 65535 and 255 respectively. However, does the limit in 1st/2nd gen and 3rd gen and up have the same ratio for the max EVs you can get? If not, that may be a problem.
basically we could just remake the pokemon data into 3rd gen and up, instead of converting it manually. Randomizing the natures could be the best we can do, same with abilities. Unless someone wants to program a very complicated program to translate it, taking what we know from the pokemon beforehand and just inputing it in the 3rd+ .pkm data type is probably the easiest.
however i don't know that much about the pokemon data structure and all that, so my advice may not even be relevant. I hope it helps.
|
|
|
Post by Torchickens on Apr 2, 2011 14:52:09 GMT -5
Perhaps for the IVs we can just convert them to being out of 31. simple math, and maybe a check for shiny IVs beforehand can trigger shiny pokemon. If I am correct, the Limit for IVs in 1st/2nd gen was 16, right? therefore, a simple math equation can determine what it is out of 31; Assuming x = IVs in 1st/2nd gen y = IVs in 3rd gen and up (x * 31)/16 = y converting EVs could be the same, i believe! Just switch around the 16 and the 31 for 65535 and 255 respectively. However, does the limit in 1st/2nd gen and 3rd gen and up have the same ratio for the max EVs you can get? If not, that may be a problem. basically we could just remake the pokemon data into 3rd gen and up, instead of converting it manually. Randomizing the natures could be the best we can do, same with abilities. Unless someone wants to program a very complicated program to translate it, taking what we know from the pokemon beforehand and just inputing it in the 3rd+ .pkm data type is probably the easiest. however i don't know that much about the pokemon data structure and all that, so my advice may not even be relevant. I hope it helps. Stat experience:There was no limit to stat experience in Generation I; in other words every stat can be maxed in Generation I (ignoring DVs which aren't of the maximum value). For instance, you could train a Gengar and max its HP, Atk, Special and Speed stat experience all to 65535, though it would take a rather long time to do this legitimately (unless you don't already know, stat experience is granted in every stat when a wild Pokémon is defeated; the amount depends on the Base Stats of the enemy species e.g. defeating 100 Onix would give you an additional 3500, 4500, 16000, 3000 and 7000 stat experience in HP, Atk, Defense, Special and Speed respectively.) DVs: A max of 15, I think; don't forget the 0. There is also no real HP DV in Generation I, though HP can change depending on what the other DVs are (in addition to the HP stat experience) apparently.
|
|
|
Post by iimarckus on Apr 2, 2011 22:45:30 GMT -5
Special Attack and Special Defense both use the same DV.
|
|
|
Post by Torchickens on Apr 3, 2011 8:52:32 GMT -5
Special Attack and Special Defense both use the same DV. Do you mean the (Special+Speed) byte (because of Generation I being before the Special split anyway)? (Attack+Defense) 'DVs' are derived from the value of one byte in Generation I too but I don't know how the game determines them exactly. [e.g. byte D186 deals with the attack and defense 'gene' on party Pokémon 1].
|
|
|
Post by Tombstoner on Apr 3, 2011 17:34:03 GMT -5
So does anybody have any thoughts on the idea? And converting them into Pokémon for later generations completely defeats the purpose.
|
|
|
Post by iimarckus on Apr 3, 2011 22:38:31 GMT -5
Special Attack and Special Defense both use the same DV. Do you mean the (Special+Speed) byte (because of Generation I being before the Special split anyway)? (Attack+Defense) 'DVs' are derived from the value of one byte in Generation I too but I don't know how the game determines them exactly. [e.g. byte D186 deals with the attack and defense 'gene' on party Pokémon 1]. A DV takes up half a byte. The upper four bits of D186 are the Attack DV, and the lower four are the Defense DV. Special and Speed use the same byte. Special Attack and Special Defense use the same DV.
|
|
|
Post by Torchickens on Apr 4, 2011 14:31:34 GMT -5
Do you mean the (Special+Speed) byte (because of Generation I being before the Special split anyway)? (Attack+Defense) 'DVs' are derived from the value of one byte in Generation I too but I don't know how the game determines them exactly. [e.g. byte D186 deals with the attack and defense 'gene' on party Pokémon 1]. A DV takes up half a byte. The upper four bits of D186 are the Attack DV, and the lower four are the Defense DV. Special and Speed use the same byte. Special Attack and Special Defense use the same DV. I see, thanks.
|
|