• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Tool: Pokemon Crystal Item Randomizer

1
Posts
5
Years
    • Seen Dec 2, 2018
    This is an item randomizer for Pokemon Crystal. Unlike many existing pokemon randomizers, this randomizer not only randomizes what pokemon appear, but also the item locations of the regular (non-hidden) AND Key Items in the game. The effect of this is that the ?correct solution? for beating the game is randomized in addition to the pokemon also being randomized.

    Why do this?:
    By randomizing regular and key items alongside pokemon, no one playthrough should feel the same, as players will end up taking very different routes for each playthrough. This combats the fact that pokemon crystal is over 17 years old, by continually changing up how you beat the game. Similar romhacks in other games such as ?The Legend of Zelda: A Link to the Past?, ?Super Metroid? and ?Final Fantasy 1? are often also very popular for racing, with two players racing the same randomized rom.

    How it works:
    The code to run this randomizer can be found on my github at https://github.com/erudnick-cohen/Pokemon-Crystal-Item-Randomizer. If you want to run this randomizer you should download the code from there and follow the instructions in the README.

    This randomizer uses YAML files to represent most of the locations in pokemon crystal. It allocates items in a random manner while simultaneously rebalancing trainer levels to account for the fact that the player may be able (and may need to) to access areas that might normally contain trainers with much higher levels than the player's pokemon. Wild pokemon are randomized so that pokemon encountered can always learn the same HMs as what they replace, with the exception of Fly and only up to the point at which the player encounters areas where they need use an HM to progress. Pokemon are randomized within a range of their total base stats in order to prevent potentially unwinnable situations. All "boss" pokemon (pokemon used by a trainer that have actual movesets programmed) are instead shuffled between the trainers that normally have them with a the same restriction applied to base stats.

    The randomizer itself is actually fairly independent from being designed to only work for pokemon crystal. It should be possible to reuse the code for determining the item locations with most of the other pokemon games, though obviously you would still need a way to write the randomized item locations to a rom.

    If you think you have found a bug, please make a post about it on this on the issues page for this project on github (or also here if you?d prefer, but it may not be gotten to as quickly). The following bugs are known to exist in the current implementation of the randomizer:

    1. Some text occasionally pushes outside the text box of NPCs, due to the randomizer updating npc text about items they hand out.

    List of changes relative to vanilla crystal:
    * Fast text speed is instant text speed, medium text speed is fast text speed, slow text speed is medium text speed
    * Team Rocket taking over the radio tower will not block the following things:
    - Obtaining the radio card
    - Obtaining the item from the flower shop
    - Obtaining the item from Buena
    * The fake director does not need to be fought before clearing Team Rocket from the radio tower, however he remains in the directors office afterwards as he has an item
    * The director will remain in the basement even after Team Rocket is cleared(and is there before it as well), however he will not give the player an item until team rocket actually has attacked
    * Team Rocket's takeover of the radio tower can be triggered from either Johto or Kanto
    - Note: Team Rocket taking over the Johto radio tower does not affect the radio in Kanto
    * Red will appear in Mt. Silver, even if the Elite Four and Lance have not been beaten yet
    * The SS Aqua operates every day of the week in both directions bewteen Kanto and Johto
    * The SS Aqua can be ridden in both directions without having beaten the Elite Four and Lance

    Item Locations not randomized:
    * Tin Tower and the rainbow wing, because putting the rainbow wing into the randomizer would be overly sadistic as it could then be required to catch all three legendary dogs in to beat the game.
    * Water stone and ho-oh ruins of alph chambers: Due to the player being able to softlock themselves by using water stones and due to Ho-oh not being reliably obtainable.
    * Hidden item locations, due to there being too many of them and the fact that they aren't actually visible. There is one exception to this rule, which is the machine part's location, as it is normally a key item's location.

    Example images from a playthrough:
    x0wRmTL.png
     
    Back
    Top