don't click here

Pokemon Generation II to III converter?

Discussion in 'Technical Discussion' started by Overlord, Jan 9, 2010.

  1. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,239
    972
    93
    Long-term happiness
    OK, so I was messing around with Bulbapedia earlier while figuring out some optimum levels to let my Diamond squad level up at and was reading the pages on the Gen 3 to Gen 4 importing, as opposed to the "time travel" trade scenario of Gen 1 and Gen 2, and as such started to wonder- what about a link between 2 and 3?

    Before I start for those not 100% on the generations:
    Gen 1: Red, Blue, Yellow
    Gen 2: Gold, Silver, Crystal
    Gen 3: Ruby, Sapphire, Emerald, FireRed, LeafGreen
    Gen 4: Diamond, Pearl, Platinum, HeartGold, SoulSilver

    As we all know (well, if you have any interest in the Pokemon games at all you should know) that sending data between generations has always been something that's had caveats and issues anyway: Gen 1 and Gen 2 has a "time travel" mechanism that allows trading by Gen 2 only allowing though on the Gen 2 cart's end creatures that are on Gen 1 and with only Gen 1 moves. As such, to a Gen 1 cart, a Gen 2 cart is just another Gen 1 cart, and while limiting the scope of trades this DOES make things doable.

    Gen 3 to Gen 4 didn't involve trading, it involved importing. You stuck a Gen 3 cart into a DS with a Gen 4 card, booted the DS, then used the Pal Park facility to catch up to 6 Pokemon per day, who were your Gen 3 squad, removed from the Gen 3 cart as they were caught.

    My thought at this point is about the missing link - a Gen 2 to Gen 3 path. Nintendo never did this as you can't link up GBA and GB© games, and the DS either can't read data from GB games at all (we're ignoring the fact that it can't execute the game data itself as all it's doing is reading and writing a flat file, not performing instructions in Z80 assembly) or they simply couldn't be bothered to support a game that would have been about 7 years old by the time the first gen 4 games came out.

    What if this was doable? Is it? How I'm theorising is that a straight import could be doable a la Gen 3 --> Gen 4 with a PC application. Ignoring hardware for now (but we'll come back to this in a moment...), I see a PC utility that would basically run like an actual Pokemon game, for that extra layer of authenticity. When you start the program, it's as if you've just walked into a building like the games, with a character (it'd only be the one, you wouldn't choose it per se. Seeing as it's 2 to 3, it'd likely be Brendan who's used as the sprite with the entire place done up in Gen 3 graphics, but I digress from the core concept here), walking into what's in essence a building that's just the upper level of a Pokemon centre in Gold - specifically, the trading room section on the far right, and a PC - maybe a Nurse Joy on the left for squad healing and a couple of NPCs milling around just for the atmosphere chatting about the place like the GTS on Gen 4 and the Pokemon Communication Centre on Japanese Gen 2 did.

    When you go over to the PC, you're asked to select a file from the actual Windows (I say Windows just for clarification purposes, this could easily be a cross platform app) computer you're running the utility from, and you pick a Gen 2 save file from a ROM. It then gets you to pick a Gen 3 ROM, you do that as well. You can then use the PC to arrange the party and boxes on the Gen 2 & Gen 3 sides, ensuring there's at least 1 Pokemon left in each squad to avoid issues if people aborted halfway though the procedure or whatever. Bearing in mind there's no easy way to check where a person saved by this method, you could easily be stuck in a large patch of grass with no Pokemon in a squad which is an instant recepie for crashing.

    Once the Gen 2 side has 6 Pokemon in it to send (though as noted above, to avoid issues you'd only be able to actually send 5) and the Gen 3 side has gaps in the number of slots (up to 5) you want to send, you walk into the trade machine and there's some sort of animation a la the trade system that shows the Pokemon being sent, done one at a time. Once they're all done, you walk back out of the machine and going out of the door to the centre quits the app.

    Doing Gen 2 --> 3 only removes the issues that come with bi-directional travel like erasing moves and etc. However here's where the clever part comes in - as I understand it, Gameshark/AR devices allow you to back up SRAM saves on GB© and GBA carts - this means you could have a direct line of travel with this utility and both of those to have a Pokemon on a Gen 1 cart travel all the way up though the chain so your original Pokemon Red starter Bulbasaur could be moved up to Heart Gold, for example.

    I reckon this is feasible, certainly on the ROM side though I'm not 100% about hardware due to lack of knowledge on those save devices, and would plug a hole that's been left ever since Ruby & Sapphire were launched. Yes, arguably there's no need for this now that you can get all Pokemon using a combination of the Gen 3 and Gen 4 games but I'm thinking specifically for porting forward personal Pokemon from years back - or am I simply being too grandeous here and would a straightforward GUI app a la PokeSav be enough for most people - and more to the point, has something like this been done before, as if it would I'd be interested to hear about it.


    Thoughts?
     
  2. Afti

    Afti

    ORIGINAL MACHINE Member
    3,521
    0
    0
    Hmm...

    Strip Stat EXP, since there's no realistic way to convert it to EVs, double the IVs and randomly generate Special Defense to get the G3 IVs, and randomly select a nature. From there, generate a.pkm within the parameters.

    Should be plausible, but I have no idea how to go about it.
     
  3. It's a good idea, but I think it might be a bit late for this. Only one thing I noticed:

    I thought the Stadium/Colosseum series did check for this, and made it so you have to be saved in a Pokémon Center before using them.
     
  4. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,239
    972
    93
    Long-term happiness
    After reading over EVs and IVs again (which still make my head ache every time I do it), neither do I - on the EVs, anyway. IVs could be done by taking a random value from the range of the other ones, and natures as noted is easy enough.

    Mm, I did think that a bit =P

    This makes sense somewhat - I assume there's a set ID in SRAM somewhere of the location you're in and it could just check an index list of those. Having said that you'd still want a Pokemon to be left in squad anyway to ensure you don't wander off without any creatures in squad.
     
  5. IIRC, your main problem would be how to "convert' the revamped Pokemon stats between GSC And RSE. Part of the reason Pokemon couldn't be imported was because of the re-tooled balance of Statistics and Abilities.

    http://bulbapedia.bulbagarden.net/wiki/Stats

    for some reference of some sort.

    A bit important in particular the IV/EV stuff - I recall in the old gens, these were not limited, whilei n the new gens they are. You'd need to accomodate for this.
     
  6. plushifoxed

    plushifoxed

    that power is yet unknown Oldbie
    1,707
    49
    28
    jazzy nyc
    puella magi chroma magica
    Aside from the issues with stats, you'd have to deal with how Shiny Pokemon are handled. In the Gen 2 games, they're determined by IVs if I recall correctly, while in the Gen 3 and 4 games it's handled by a separate flag.
     
  7. Toasty

    Toasty

    BulbaSAUR! Member
    There's just too many conflicts. IVs/DVs, EVs/Stat EXP, shininess, gender, and natures.
     
  8. Overlord

    Overlord

    Now playable in Smash Bros Ultimate Moderator
    19,239
    972
    93
    Long-term happiness
    Lame =/


    I'd still love to see this done if some hardcore Pokefreak figured out a way of doing it, though.
     
  9. GeneHF

    GeneHF

    SEGA-ier than you'll potentially ever be. Site Staff
    8,429
    59
    28
    Scenic Studiopolis
    Complete Global Conquest
    Don't forget the one that killed Mewtwo from his godliness early on: Special being divided into Sp.Atk and Sp.Def, then the new Special or Physical split on moves.

    Frankly, Gen 2 pokemon ported up would be horribly out of their league, even if you plan to use them as a normal team.
     
  10. Black Squirrel

    Black Squirrel

    no reverse gear Wiki Sysop
    8,611
    2,491
    93
    Northumberland, UK
    steamboat wiki
    Though it wouldn't be a perfect port, it might be more plausable to have it so that all the extra stats introduced in Generation 3 are ignored when transferring to generation 2, and when the Gen 2 Pokémon are transferred to Generation 3 games they're given random ones/some default value
     
  11. Vendettagainst

    Vendettagainst

    Apparently shooting kills things Member
    Couldn't you write a stat converter though?
     
  12. Sintendo

    Sintendo

    Member
    249
    0
    16
    You could always randomize the new stats that were introduced. Make the Pokémon shiny if it was shiny (which means its DVs must all be 10, except for attack, which can be any 4-bit number with the second bit set to 1 (2, 3, 6, 7, 10, 11, 14 or 15), and HP (which is derived from the other DVs anyway). Multiply the DVs by 2 and let it randomly add 1 to them (so the values can cover the full range of possible IVs) to get the IVs. Randomize the Nature. The EVs should probably be ignored and set to 0.
     
  13. Toasty

    Toasty

    BulbaSAUR! Member
    The problem with that is nobody wants a Pokemon with 10 IVs in every stat, because that's pretty low considering they can be up to 31 now.
     
  14. Flygon

    Flygon

    Member
    Then you double the IVs.
     
  15. Sintendo

    Sintendo

    Member
    249
    0
    16
    That's why I proposed we double them, and then let it randomly increase that result by one, so the IVs can cover the whole range.
     
  16. This is rather interesting. Are we talking moving Gen 2s to Gen 3, or going both ways? The former I imagine would be a heck of a lot easier.
    I'm looking at Bulbapedia, and I don't know quite how gender is assigned in Gen 2 (other than it involves "higher" and "lower" Attack IVs) but I reckon that if you could figure out if the IV is "higher" (male), make the last 8 digits of the personality value equal to 11111111, thus making it male, I think. The rest of it would consist of a LOT of work pretty similar. At least shinyness. Hidden Power is IV based in both generations, so maybe if you match up the types that each different IV would use, you could come up with a formula for translating those IVs. Would very much love to see something like this come to fruition.
     
  17. Quickman

    Quickman

    be attitude for gains Tech Member
    5,595
    18
    18
    :x
    omg porjcet
    I'm going to sort of think on my feet here so this is going to be messy.

    Gen2 DVs can be from 0 to 15; Gen3 IVs can be from 0 to 31. Therefore, multiply the DV by two and then flip a coin to see if you add 1 or not. Sp.Atk and Sp.Def IVs both map to Special DV. Pretend HP has an independent DV which is actually just the bottom bits of the other four DVs. Treat it as above.

    Gen2 stat experience ranges from 0 to 65535; Gen3 EVs range from 0 to 255. Therefore, divide the SE by 256 to get the EVs. Special SE becomes both Sp.Atk and Sp.Def EVs.

    Use the Gen2 Trainer ID for the visible Gen3 trainer IDs; use the first letters of the OT name as the secret Gen3 Trainer ID. Now we have to deal with the personality value p, which drives gender, ability, nature and shininess. Ability and nature don't matter since they didn't exist in Gen2; just take whatever they get given. Look at the species' gender ratio (the gender threshold number is a base stat for a particular species in Gen3) and pick a random number for the lowest byte of p such that the gender is correct on the other end. This also randomises ability.

    Now generate a value for the upper word of p such that shininess is retained. This is the difficult bit, since the calculation to work out shininess is complicated: if (Trainer ID XOR Secret Trainer ID) XOR (upper word of p XOR lower word of p) < 8, the Pokemon is shiny. Nature is p % 25, so that will fall out of the shiny stuff.

    Edit: On second thoughts, I wouldn't bother trying to go backwards. It's difficult enough expanding outwards into Gen3 while maintaining the Pokemon you're taking with you from Gen2, packing a Gen3 Pokemon into the Gen2 box just ain't happening.

    You probably won't be able to maintain Unown form or Hidden Power type in the trade no matter how hard you try.
     
  18. Afti

    Afti

    ORIGINAL MACHINE Member
    3,521
    0
    0
    Unown form, just check would it would be in G2 and set it to that in G3...

    Hidden Power type would change, though; they're both calculated by IVs in completely different ways.
     
  19. Toasty

    Toasty

    BulbaSAUR! Member
    I just don't see the point. First of all, you have to max out your stat EXP in GSC to even find out your Pokemon's stats (because if you've used it in battle at all then you can't find out its stats until they're maxed out) and that takes way more work than what it's worth. I guess to "port" your Pokemon you could figure out its hidden power type AND battle power, then create a tool to make a reverse HP calculator. By that I mean lets assume you have a Heracross with hidden power Ice with a battle power of 67 (atk15/def13/spd14/sp4). You could make a tool that lets you input the hidden power type (ice) and the battle power (67) and it would spit out the correct stats in the new generation. The problem with this is the special split and hit points also influence hidden power now, so hidden power and special attack and defense would be randomized.

    Again, that's way too much work for me, and I'd rather just breed for max stats than port my Pokemon from GSC (although breeding for max stats is thousands of times easier in GSC than it is DPP).
     
  20. Quickman

    Quickman

    be attitude for gains Tech Member
    5,595
    18
    18
    :x
    omg porjcet
    Not as simple as that.
    1. We don't know how to find Unown form in Gen2. It's based on DVs, but nobody knows how.
    2. The Unown form in Gen3 is the lower two bits of each byte of the personality value, so it adds extra pain to fixing shininess, which frankly I consider more important in this matter than making sure your Unown is the right letter. If you want to give yourself that extra headache, have fun.