Skip to content

soulweaver91/pokemon-gc-randomizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

75 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pokémon GameCube Randomizer

This tool randomizes Pokémon Colosseum and Pokémon XD: Gale of Darkness ISOs, providing a fresh gameplay experience with different trainer battles, Pokémon specifics and item placements based on the given settings.

Usage

Pokémon GameCube Randomizer requires Python 3. You can install it by downloading an installer from the official website or from a package manager for your operating system.

The randomizer is currently only available as a command line tool; a graphical user interface might be added at a later date. The only required parameters to invoke the randomizer are the path to a clean, unmodified input ISO as well as either the target filename or the --in-place switch, which will randomize the ISO without leaving the original behind. Thus in order to randomize an ISO with the default settings, something like this does the job:

python pkrgc.py --output GXXP01_randomized.iso GXXP01.iso

The default settings are designed to strike a good balance between complete randomness and vanilla experience: Pokémon rosters, learnsets, abilities and such are altered, while Pokémon evolutions and types, move details and such are kept as is. However, the randomization process is highly customizable through a variety of extra command line options. You can find out the list of available options by using the --help switch:

python pkrgc.py --help

For example, if you are craving for something more like the so-called "über randomizer", you can try something akin to:

python pkrgc.py --rng-pktypes --rng-pkstats --rng-move-power --rng-move-types --rng-move-accuracy --rng-move-pp --rng-pkevo --no-rng-pkevo-samestage --no-rng-pkevo-shuffle --no-rng-pokespot-bst-based -o GXXE01_randomized.iso GXXE01.iso

If you are curious about the specifics of the randomization, you might be interested in using the -l debug switch to see more detailed output while the program is working on your ISO.

Image support

This randomizer supports randomizing the following disc images:

Game Game ID Region MD5 Checksum
Colosseum GC6P01 EUR 2be2607ae4826cbc77efb4ef4ada6385
Colosseum GC6J01 JPN ec80218d9079ccae07350e42356748ce
Colosseum GC6E01 USA e3f389dc5662b9f941769e370195ec90
XD: Gale of Darkness GXXP01 EUR f36d14bebf8fea6a046404bff6adb7e6
XD: Yami no Kaze Dark Lugia GXXJ01 JPN e92856cb965f8411e29ccfc818bd6d5b
XD: Gale of Darkness GXXE01 USA 3bc1671806cf763a8712a5d398f62ad3

Please consult other online sources regarding creating a supported backup image of your game disc.

Known caveats

  • The randomization process is very slow due to the currently not very well optimized implementation of the compression algorithm used to recompress the altered data files.
  • Many cosmetic changes are yet to be done. This includes details like adjusting TM descriptions to reflect the newly assigned moves, trade related NPC dialogue to refer to the correct Pokémon and such.
  • P★DA Snag List and Shadow Monitor entries are partially baked into the save files when the save file is first created. If you load a save started with a clean ISO, these lists will not be using the Pokémon that are actually available to you post-randomization. (The same obviously goes for already modified/randomized ISOs, though note that randomizing them is not formally supported in any case.)
  • It is currently not feasible to randomize Colosseum trainers with Shadow Pokémon in such a way that their with-Shadow and without-Shadow roster variations match, since there is no easy way to find out which rosters should be paired up. This should hardly be an issue, though.

Troubleshooting

If a randomized ISO crashes at the Nintendo logo or at the start of a Trainer battle, the randomizer has managed to write a file into the ISO in such a manner that the game fails to uncompress it. The game is pretty strict when it comes to this, and the randomizer occasionally compresses some corner cases in a slightly different way that should still be interchangeable. If this does happen, please file a bug report including at least the following information:

  • The ISO type and its MD5 hash
  • The options used for randomization
  • Where and how exactly the ISO hung or crashed

Acknowledgements

License

MIT

About

Pokémon GameCube Randomizer

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages