[FE12] Raddomizer - New Mystery Randomizer (+ FE12 Documentation!)

Get the latest version here!
Updates have been released to fix a bug that makes the program get stuck on certain growth ranges. Please update if you ran into this issue.

raddomizer

For the first time ever, FE12 has its very own randomizer, brought to you by Radd, the creator of FE12 Reverse Recruitment, and me.

Raddomizer comes with a beginner friendly GUI (minimal technical knowledge needed), and handles most of the decompression/recompression work for you.

The program is capable of randomizing:

  • character bases
  • character growths
  • classes
  • “identities” (Portraits + Name in gameplay; story dialogue remains unaltered)

Additionally, it also has a few additional features for an improved gameplay experience, such as removing Prf and gendered weapon locks. Playable Ballisticians are also in the class pool (if you so desire), and they come with a player sprite imported from Shadow Dragon.

At the moment, Raddomizer does not support MacOS. (More information in the FAQ below.)

Getting Started

All you need is Raddomizer, and an unpacked New Mystery ROM. You may use a pre-patched ROM, with whichever translation patch you desire. The recommended program to unpack your ROM (which is also featured in the program’s instructions) is DSLazy.

An unpacked ROM takes the form of a folder. At the moment, Raddomizer will not accept a regular .nds file, or anything of the sort.

The input directory selected should look like either of the following:

  1. The unpacked ROM

.
├── data
├── overlay
├── arm7.bin
├── arm9.bin
├── banner.bin
├── header.bin
├── y7.bin
└── y9.bin

OR

  1. The FIRST data folder (not the second one)

.
├── 2
├── 3
├── ascii
├── av
├── b
…(and many more folders, including data)

Select your output directory (it defaults to Raddomizer’s directory if left empty), and run your randomizer! You should then drag the randomized files back into your unpacked ROM folder, and re-pack it.

All the important information about your randomized game (growths, bases, classes, characters, updated recruitments, inventories…) can be found in a .txt file called randomizerLog[seed], where the seed is whichever seed you used to generate the game.

More detailed instructions can be found by clicking the “Help” button in the program, or the readme file it comes packaged with.

Screenshots

N

J

FAQ

How do I run this on my Mac?

At the time, MacOS does not support any tools that can unpack/pack DS ROMs. Unarchiver has been tested, and .nds file formats don’t seem to be supported anymore. Thus, any .nds unpackers would have to be run on a Windows VM, so there isn’t much point in deploying a Mac version of Raddomizer.

The issue is being looked into, but not a primary concern right now. Raddomizer will try to support MacOS when it becomes viable.

I’ve updated to the latest version for (bugfix/feature reasons). Can I continue using my old save?

Unless the randomization algorithm has changed significantly (I will mention this if it does), you can go ahead and re-randomize with the same settings as you did before! Using the same seed + settings yields the same result, but now with less bugs.

I’ve run into an error while trying to use the tool/play my randomized ROM. How should I report it?

You can use Github’s Issues page, or the FEU thread. To attach files on Github, you can drag it inside the comment box.

If the randomizer ran into an error while randomizing:

  • The error.log file (in the same directory as Raddomizer)
  • The settings you used to generate this output
  • Randomizer version (found under About)

If the error is found during gameplay:

  • Your randomizerLog.txt file
  • Your save file (or, at the very least, the chapter the error occurred in)
  • Screenshots of the error
  • If it’s particularly game-breaking, any steps to replicate the error?
  • Randomizer version (found under About)

If the randomizer straight up doesn’t run

  • Send the error.log file
  • Anything else you think is relevant
  • (Hopefully this doesn’t happen)

Can I request x feature? I think the randomizer would be even better with it!

Sure, I’d appreciate your input. However, to set expectations, Raddomizer is something developed in my spare time, so there’s no deadline or guarantee they’ll be implemented.

In order to prevent myself from getting overwhelmed, my priority is a functional and easy to use randomizer. So bugs will be prioritized over new features.

How did you do all that? Did you document the information somewhere?

Special thanks to Radd for documenting FE12’s data structure.

Documentation for FE12 can be found in the Github Wiki, as well as an Action Replay code to help improve the gameplay experience.

What’s with the GUI?

I wanted to finish a coding project over the summer, and decided to have fun with it. It’s based off FE12’s menus!

Any future plans?

When I have the time, I might look into script editing! There’s a bit of documentation on DSFE pointers (thank you FE12 translation team), but I’d still need to do more research before I can say for sure.

As for other randomizers; nothing concrete, but before Raddomizer was conceived, I did some research into Awakening’s data structures. I managed to make some headway, but got stuck and switched to FE12 because of the more elaborate documentation. That’ll probably be next once I’m sure Raddomizer’s bugs are ironed out, but if anyone’s working on one, go ahead and don’t worry about stepping on my toes. Or feel free to reach out!

Known Issues

Class Slots (“Available Classes in-game”) don’t add up when reclassing sometimes. They’ve been calculated according to randomized classes, but sometimes the number of classes exceeds the number of class slots. Please file a report if you encounter this error!

Classes not properly randomized. Some units seem to randomize fine on certain routes/difficulties, and not on others. This is because the same unit can have multiple pointers. Please report the unit + chapter if you run into this issue!

Special Thanks

Testers: Xylon73, Gammer, Harb1ng3r

GUI feedback/advice: Virize

FE12 Nightmare Modules by a variety of FEU users

FE12 Growth Cyphers by Mrkisuke, and the original documentation by SciresM

Nintendo LZ compression/decompression by magical

Icons by svgrepo.com

You can always get the latest version of Raddomizer on this Github page. Just grab the release.zip file, and unpack it.

Closing Words

play ghost trick

22 Likes

Medeus is going to be such an interesting fight on higher difficulties. Mostly because anyone can pick up the Falchion. Also earlygame hell again all over.

based and raddpilled