a Poké Ball Universal Pokémon Randomizer FVX a Poké Ball

The Randomizer is an open source project, but it also exists and has only been made possible by the wider (Pokémon) ROM hacking community. Below is an edited account of Dabomstew’s original acknowledgements. Its language has been update to reflect the Randomizer becoming an open source project worked on by a string of people, and expanded to include the communities, people, and tools that have helped out since. The original text can be found archived here.


Many people have put countless hours of their time into researching the structures contained within Pokemon games over the years. Without the research done by these people, this randomizer would not exist, or would have taken a lot longer to create.

Instead of trying to note where every single piece of information used in the Randomizer’s creation was found, the major sources of information that were used will be acknowledged, as well as some of the main contributors of said information.

The creators of the external components used will also be acknowledged. These components have been used appropriately subject to their respective software licenses.

Thanks to the efforts of those acknowledged below, time spent making the program can be mainly focused on just that - putting the pieces together to create the program itself. However, sometimes documentation proved insufficient, and original research had to be done. This research can be seen in the comments of the program’s source code where appropriate.

Sources of information

The Skeetendo community was a forum full of hacking information regarding the GameBoy/GameBoy Color Pokemon games. It was shut down in 2022, but was an invaluable resource in the development of the randomizers for these games.

Similarly, ProjectPokemon contains a lot of useful information to aid users in hacking the Nintendo DS Pokemon games. The research done by members such as andibad, Kaphotics & Bond697 helped the Generation 5 portions of the Randomizer get off the ground.

The Pokecommunity is the largest English-language Pokemon ROM hacking community, and also contains a wealth of useful information, especially information relating to GBA/Generation 3 Pokemon games.

The disassemblies and decompilations by the pret team, are hard to overstate the value of. They have left an impact comparable to a large meteor on all parts of the ROM hacking community, and randomizers are not excempt from this. When trying to understand the inner workings of a game, nothing beats being able to read its code.

The pret Discord server is the prime forum for discussing the contents of pret resources, and ROM hacking using them. Considering how disassembly hacking now dominates the Gen 1 and 2 scenes, and Gen 3 hacking is in transition of being mostly decomp, this community plays a vital role in sharing knowledge and providing support for hackers of these games.

The Kingdom of DS Hacking! Discord server covers what the pret server lacks, by focusing on the Gen 4/5 games. Much information can be found about said games here, and the research conducted by its members furthers our understanding of how to hack them. Special thanks to AdAstra!

Island of Lost ROM Hacks is a smaller Discord server dedicated to the preservation of ROM hacks, and small talk. Its members have provided insight and advice, a place to bounce off ideas for the Randomizer.

Tools used

Not all the functionality implemented into the Randomizer was documented anywhere, but some of the functionality did already have tools available. Analysing the output of the tools below was another important part of the implementation of this program.

Libraries/Programs used in the Randomizer

The NDS games introduced a lot of file formats, for which great programs have already been written that handle them. Compression and decompression algorithms for other Generations are also complicated, and have largely been written elsewhere. Rather than reinvent the wheel, these programs have been included inside the Randomizer, under the appropriate software licenses.

In addition,

Images used for Custom Player Graphics

The Custom Player Graphics requires image files to insert into the game. Some of these are from other Pokémon ROM hacking projects, while others were made as general resources. Full credits for each CPG are included in its files, but for good measure an abridged version is here as well.

All authors were asked when possible; for some old ROM hacks their creators are no longer contact-able on the internet, and so are used under the assumption normally seen in the ROM hacking community, that old work may be iterated upon as long as proper credits are given. Should your work be included and you do not agree, please notify us and it will be removed from the Randomizer.

Direct code contributors

Since Dabomstew opened up the Randomizer to open source development, a number of people have worked directly on the Randomizer’s codebase. They are listed here. The names used are taken from git, and they are sorted according to when their first git commit (code contribution) was made. For more information on who did what, browse the project’s source code/version control.

The Randomizers that came before

Credit also goes to those who made randomizer programs before this one was released, for the inspiration!