The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > ROM Hacking > Tools, Tutorials & Resources
Sign Up Rules/FAQ Live Battle Blogs Mark Forums Read

Notices

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.
New threads in this forum are to be approved by a moderator before they are displayed.


Advertise here

Reply
 
Thread Tools
  #1    
Old December 20th, 2012, 06:21 PM
Dabomstew
Unhatched Egg
 
Join Date: Feb 2007
Gender:
Nature: Adamant

Advertise here
Introduction
This program allows you to customize your experience playing the Pokemon games by randomizing many aspects of them. This means that the Pokemon you get at the start of the game, the Pokemon you fight in the wild and the Pokemon trainers have can all be made completely different from the original game.

About

So this is a randomizer for all the Pokemon main series games currently out (the (U) versions, anyways). I'm posting it here because it's an example of quite a lot of different ROM hacks, and also because a fair amount of research/code written by members here & other forums was used in its creation

The randomizer has been worked on for a while now, so quite a few of the minor issues have been resolved since the first release.
This is the first randomizer *program* (to my knowledge) to support Gen4, or Gen5 outside of the original B/W.

Known Issues:
Spoiler:

General
  • The randomiser may not function at all on Windows systems with certain custom themes installed.
Generation One Games
  • (oddity) The people who give you Magikarp and Lapras still say Magikarp/Lapras even if you randomize them.
  • (oddity) Brock says ROCK-type Pokemon no matter what he has, etc.
Generation Two Games
  • (oddity) Brock says ROCK-type Pokemon no matter what he has, etc.

Generation Three Games
None for now...

Generation Four Games
None for now...

Generation Five Games
  • A battle with Zinzolin isn't consistent with his other battles.


Acknowledgements/Credits
Spoiler:

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 I found every single piece of information used in the randomizer's creation, I will acknowledge the major sources of information that were used, as well as some of the main contributors of said information.
The creators of the external components I 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, my time spent making the program was mainly focussed on just that - putting the pieces together to create the program itself. I did, however, do my own research where things were too undocumented for my liking (or the documentation was hard to find), and this research can be seen in the comments of the program's source code where appropriate.

Sources of Information
The Skeetendo community is full of hacking information regarding the GameBoy/GameBoy Color Pokemon games and was an invaluable resource in my 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.

Tools Used
Not all the functionality I was implementing 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.
  • A-Starter & A-Trainer by Hackmew
  • Attack Editor Advance by Scizz
  • Attack Editor GB & Poke Edit GB by thethethe
  • Item Image Editor & Pokemon Red/Blue Trainer Editor, by Swampert Tools
  • PPRE by ProjectPokemon.org
  • YAPE by Silver314
  • NPRE by pichu2000
  • Pokanalysis by ubitux

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. Rather than reinvent the wheel, I have included these programs inside the Randomizer, under the appropriate software licenses.
  • Generation 4 text handling is processed by a Java port of loadingNOW's thenewpoketext.
  • Generation 5 text handling is processed by a Java port of SCV/ProjectPokemon's pptxt.
  • NDS ROM extraction & creation is handled using Java-ported code from ndstool.
  • arm9.bin decompression & compression is achieved using a Java port of CUE's BLZ compressor.
  • Decompression of LZ11-compressed images is achieved using the DSDecmp library.

The Randomizers that came before
Credit also goes to those who made randomizer programs before this one was released, for the inspiration!
  • The original Emerald randomizer by Artemis251
  • Artemis251's Red/Blue randomizer
  • pateandrew's randomizer for gen2/3 games
  • Another R/B randomizer by Ubuntaur


Downloads
The release is available attached here. The full source code (on google code) is also available under GPLv3. It's written in Java - all the dependencies used were ported over by me (except DSDecmp which had a Java version already)
Attached Files
File Type: zip UPRandomizer-150.zip‎ (448.0 KB, 776 views) (Save to Dropbox)
File Type: zip UPRandomizer-150-InternalConfig.zip‎ (874.0 KB, 264 views) (Save to Dropbox)
__________________
FR scripter back in the day... now, check out my Universal Pokemon Randomizer

Last edited by Dabomstew; February 26th, 2014 at 06:02 PM. Reason: v1.5.0 release
Reply With Quote
  #2    
Old December 23rd, 2012, 08:39 AM
andibad's Avatar
andibad
Unhatched Egg
 
Join Date: Apr 2010
Location: Indonesia
Gender: Male
is nice tool is on JAVA :D
Reply With Quote
  #3    
Old December 27th, 2012, 03:09 PM
Dabomstew
Unhatched Egg
 
Join Date: Feb 2007
Gender:
Nature: Adamant
I released a new version, 1.0.1, of the randomizer which fixes a few issues. I have also included a new "Internal Config" version which should work for people who were getting "cannot find Advance.tbl" or similar errors before.

Improvements are on their way, including better foreign language ROM support and a few more options.
__________________
FR scripter back in the day... now, check out my Universal Pokemon Randomizer
Reply With Quote
  #4    
Old December 29th, 2012, 06:34 PM
Krobelus's Avatar
Krobelus
RainbowNoodleWarrior
 
Join Date: Sep 2006
Location: Vancouver
Age: 23
Gender: Male
Nature: Adamant
This is by far my favourite Randomizer now, you did amazing work!

I have one suggestion; perhaps a patch alongside the National Dex that allows for all 649? Maybe another random option that randomizes the items you find on the ground.

Other than that this is pretty amazing. Great work.
__________________

YouTube Channel
Pokemon Pearl FC:
4296-8996-1956

Pokemon Heart Gold FC:
3009-0281-8050

Pokemon White 2 FC:
1765-0509-2291

Reply With Quote
  #5    
Old December 30th, 2012, 07:36 PM
Dabomstew
Unhatched Egg
 
Join Date: Feb 2007
Gender:
Nature: Adamant
Krobelus: The randomizer already does pick from all the Pokemon available in the game, rather than just the local Dex. This is why National Dex patches are useful (and necessary, at least in FRLG, to allow non-Kanto Pokemon to evolve). (If you mean patching Gen3 games to add all 649, that's beyond my abilities for now). Item randomization could happen, though not in my immediate plans.

@All: A new release [1.0.2] is out which allows for randomizing abilities, along with some other improvements.
__________________
FR scripter back in the day... now, check out my Universal Pokemon Randomizer
Reply With Quote
  #6    
Old December 31st, 2012, 11:28 PM
Krobelus's Avatar
Krobelus
RainbowNoodleWarrior
 
Join Date: Sep 2006
Location: Vancouver
Age: 23
Gender: Male
Nature: Adamant
I did mean to allow all 649 Pokemon to become available.

Great job. What other features do you have planned at the moment?
__________________

YouTube Channel
Pokemon Pearl FC:
4296-8996-1956

Pokemon Heart Gold FC:
3009-0281-8050

Pokemon White 2 FC:
1765-0509-2291

Reply With Quote
  #7    
Old January 1st, 2013, 03:05 AM
Dabomstew
Unhatched Egg
 
Join Date: Feb 2007
Gender:
Nature: Adamant
Quote:
Originally Posted by Krobelus View Post
I did mean to allow all 649 Pokemon to become available.

Great job. What other features do you have planned at the moment?
The closest you're going to get for now for randomised 649 Pokemon in generation 3 is using this randomizer here which supports the FireRed 649 hack being made by members of this forum, to an extent. If/when a more formal/complete release of that comes out I might support it too, but it's not part of my plans right now.

There aren't a whole lot of sane things left to randomize - items on the ground, the thing you suggested, is one of the few that would be feasible. Current work on the randomizer is largely focusing on making sure everything works for every version (allowing static Pokemon to be changed in the DS games, for example) and quality of life improvements (National Dex patches, cool little ASM hacks, etc, which come as I get inspiration to make them).
__________________
FR scripter back in the day... now, check out my Universal Pokemon Randomizer
Reply With Quote
  #8    
Old January 3rd, 2013, 08:49 AM
sabrino
Unhatched Egg
 
Join Date: Mar 2009
Thx.

This is pretty awesome. I dreamed about it, you did it.

Really thx, i'm going to talk about it on french boards (because i am French yea) because i hope he'll be soon the main randomiser ever.

Thx again.

And I have a request about the next features..

Randomize the evolutions (lol i'm weedle *evolve* helo i'm slaking)! And add randomly a number (or suppress a number) of evolutions (lol i evolve 3 times).. And modify the evolution levels of pokemons...
I don't really know if this is feasible but... it would be cool.

Last edited by sabrino; January 3rd, 2013 at 09:21 AM. Reason: Your double post has been automatically merged.
Reply With Quote
  #9    
Old January 4th, 2013, 11:17 AM
Akwarelek
 
Join Date: Jan 2013
Gender: Male
Hey,
this tool is really awesome, you did great job. I am a fan of Gen II and this is a great opportunity to beat this gameonce again. Some things, though, have been randomized too far. In my game, Heracross is an electric type learning Zap Cannon at lvl 6 and Thunder at lvl 12

I might make similiar tool to this one day, for gen II exclusively...
Reply With Quote
  #10    
Old January 12th, 2013, 10:23 PM
Aryan143's Avatar
Aryan143
The Fennekin Fan!
 
Join Date: Jul 2012
Location: Delhi, India
Age: 14
Gender: Male
Nature: Modest
Well this tool is awesome! I got Ledian as a starter of Dragon type with max special attack and Outrage!
__________________

Please click both of these links once in a day and help us grow:

Reply With Quote
  #11    
Old January 14th, 2013, 05:51 AM
Dabomstew
Unhatched Egg
 
Join Date: Feb 2007
Gender:
Nature: Adamant
Thanks for the latest feedback. If I do make an "evolution randomiser" that would definitely go under a "crazy options" section!

I have released a new version, 1.1.0, of the randomiser. This adds support for randomising move tutor moves, among other improvements and fixes. There's also a patch available inside for Gen1 and Gen2 games which changes them to use the Black/White-style EXP gain calculation system, inspired by what the Liquid Crystal team did in their Gen3 hack.

More to come!
__________________
FR scripter back in the day... now, check out my Universal Pokemon Randomizer
Reply With Quote
  #12    
Old January 14th, 2013, 03:42 PM
Krobelus's Avatar
Krobelus
RainbowNoodleWarrior
 
Join Date: Sep 2006
Location: Vancouver
Age: 23
Gender: Male
Nature: Adamant
Quote:
Originally Posted by Dabomstew View Post
Thanks for the latest feedback. If I do make an "evolution randomiser" that would definitely go under a "crazy options" section!

I have released a new version, 1.1.0, of the randomiser. This adds support for randomising move tutor moves, among other improvements and fixes. There's also a patch available inside for Gen1 and Gen2 games which changes them to use the Black/White-style EXP gain calculation system, inspired by what the Liquid Crystal team did in their Gen3 hack.

More to come!
That is amazing! Leveling in BW has made it so much easier and quicker!

I would like to suggest random items (that you pick up) and random evolutions?
[Edit] Random Abilities would be awesome too!
__________________

YouTube Channel
Pokemon Pearl FC:
4296-8996-1956

Pokemon Heart Gold FC:
3009-0281-8050

Pokemon White 2 FC:
1765-0509-2291


Last edited by Krobelus; January 18th, 2013 at 02:11 PM.
Reply With Quote
  #13    
Old January 16th, 2013, 06:36 AM
Aryan143's Avatar
Aryan143
The Fennekin Fan!
 
Join Date: Jul 2012
Location: Delhi, India
Age: 14
Gender: Male
Nature: Modest
The new versions are amazing. Wurmple with Pressure OMG!
__________________

Please click both of these links once in a day and help us grow:

Reply With Quote
  #14    
Old January 19th, 2013, 09:11 PM
schimmdog
Unhatched Egg
 
Join Date: Jan 2013
New here so sorry if this post stinks of noobness. I want to randomize my pokemon pearl using this tool but cant because some sections a grayed out and all my starter pokemon choices are '------' I googled everywhere and this is the only place I found that may be able to provide help.
Reply With Quote
  #15    
Old January 20th, 2013, 10:48 AM
Flaze
Unhatched Egg
 
Join Date: Nov 2009
Gender: Male
I can't get it to patch Pokemon Red (U), the program itself says it's been patched, but when I run the rom itself the game hasn't changed at all.
Reply With Quote
  #16    
Old January 22nd, 2013, 11:34 PM
AlejaKaiser
 
Join Date: Jan 2013
Gender: Male
You gonna add compatibility with spanish roms in the future? This tool is amazing to do nuzlocke, but I prefer play the game in my native language (You can see that I don't speak very good english)

Nice Work. Cya~
Reply With Quote
  #17    
Old January 24th, 2013, 06:06 AM
Dabomstew
Unhatched Egg
 
Join Date: Feb 2007
Gender:
Nature: Adamant
OK, quick responses:

@Krobelus: All the stuff you suggested has been suggested before, and most of it might eventually happen. As for abilities, that option is already available!

@schimmdog: I think you've emailed me about this too, but in any case, try a different base ROM.

@Flaze: No idea what's going on here - does the same happen with other games?

@AlejaKaiser: The randomiser already supports R/B/Y and D/P/Pt/HG/SS (generation 1 and 4) Spanish ROMs, with more to come in the next major release, probably 1.2.0.
__________________
FR scripter back in the day... now, check out my Universal Pokemon Randomizer
Reply With Quote
  #18    
Old January 24th, 2013, 10:03 AM
Stomphoof
Unhatched Egg
 
Join Date: Jan 2013
Gender: Male
How easy is this software to use on a Black/White ROM or a HeartGold/SoulSilver ROM?
Reply With Quote
  #19    
Old January 24th, 2013, 10:41 AM
sabrino
Unhatched Egg
 
Join Date: Mar 2009
Hello~

In fact, l played recently Pokémon Dungeon 1.

It could be really awesome if you could randomize the wild pokémon, or the starters, or the event pokémon (like absol..)..

This is actually not a priority. But I think it could be a good option for originals..

By the way, for everyone. This software is the easier and more complete randomizer you could find on the internet.. Don't hesitate anymore!
Reply With Quote
  #20    
Old January 26th, 2013, 11:30 AM
BLockwood's Avatar
BLockwood
Unhatched Egg
 
Join Date: Jan 2013
Gender: Male
Quote:
Originally Posted by Flaze View Post
I can't get it to patch Pokemon Red (U), the program itself says it's been patched, but when I run the rom itself the game hasn't changed at all.
Is your rom patched with any other patch? I managed to successfully patch my Red rom which is the same version as yours...

On topic: This is simply amazing, I have never used a randomizer before so I can't compare but this is fantastic! I feel like a five year old catching all the pokemon just to see the new types and the new movesets (i was stupidly amused when my normal/flying onix wanted to learn fire punch).

Awesome work once again!
Reply With Quote
  #21    
Old January 26th, 2013, 04:00 PM
alethiometer
Unhatched Egg
 
Join Date: Apr 2005
Gender:
I feel I have to post here to say thanks very much for creating such an amazing tool!

I've recently started doing nuzlocke runs and also watched a couple of randomizer nuzlockes which got me interested in randomizing pokemon as I go along. I've not used the features which allows you to change movesets, types and other trainers pokemon. All I've done is remove the need to trade evolve, randomized all wild pokemon and also the legendaries etc...

I've been playing SoulSilver, and was pleasantly surprised to find that the guard at the gate in Goldenrod who usually asks you to deliver a message attached to a Spearow in fact gave me a Salamence called Kenya!

Great work with this tool!
Reply With Quote
  #22    
Old January 29th, 2013, 12:20 PM
Time2
Unhatched Egg
 
Join Date: Jun 2012
Gender: Male
This is a great tool, though the catch rate option doesn't seem to work, at least with Emerald.
Reply With Quote
  #23    
Old February 5th, 2013, 02:40 AM
Garbagecollector
Unhatched Egg
 
Join Date: Feb 2013
Gender: Male
I Have a Huge Problem
in Soulsilver i cant do any trainerbattle and can cant visit any house after violet city and the city just ends because everywhere its just blackground where i cant go on
Reply With Quote
  #24    
Old February 5th, 2013, 03:15 AM
C_r_e_a_m_p_u_f_f
...
 
Join Date: May 2011
Gender: Male
Nature: Naive
Because of you I will never stop playing Pokémon games... wasn't that the whole point? So, all Generations it would work on... right? (SEEL used Sacred Fire!) This is the best creation ever.
Reply With Quote
  #25    
Old February 5th, 2013, 07:47 AM
lukerules117
Unhatched Egg
 
Join Date: Apr 2012
I cant get it to work help me
Reply With Quote
Reply
Quick Reply

Sponsored Links


Advertise here
Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Minimum Characters Per Post: 25



All times are UTC -8. The time now is 05:32 PM.


Style by Nymphadora, artwork by Sa-Dui.
Like our Facebook Page Follow us on Twitter © 2002 - 2014 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2014 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.