ROM Hack [WIP] Fire Emblem Fates Randomizer

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,550
Country
United States
I don't have an update ready yet, but here's a progress report regarding what I have planned for the next update:
  • The next update will include a complete overhaul of the code for randomizing map spawns, map scripts, and castle join. In theory, these new systems should minimize crashes and other oddities like the trading bug on chapter 4. The new script system should significantly improve model swapping in the future, though currently its effects are minimal. In general, the next update will include a lot of work under the hood that should improve stability on randomized games.
  • I'm also looking into the bug that prevents you from recruiting certain randomized characters (ex. replacements for Saizo, Orochi, and Reina in Revelation). I haven't implemented a fix yet since I'm still finalizing the new randomization systems, but this bug should (hopefully) be gone by the next release.
  • The output file should be improved with the next version. Most prominently, the output file should include information regarding each character's new skills, stats, growths, and modifiers.
  • The new dispo system should make it significantly easier to change out character items. As a result, I might add in a random element regarding what item characters receive in place of simply giving them an iron weapon usable by their current class.
  • Personal Skill randomization should also be available as an option in the next update.
It's probably not as exciting as it could be in terms of new features, but I think that this is enough to warrant a full update. I'm hoping that these changes make things stable enough to use the randomizer for full playthroughs, as the current version clearly has some issues that make full runs hard to do. I have some more ambitious stuff that I'd like to add in once I get the new systems in place, so hopefully future updates will have a bit more to show. If anyone wants to make suggestions regarding features for this update or any future versions, feel free to - I'm always open to new ideas to improve the tool.
 

archerfates77

Member
Newcomer
Joined
Dec 19, 2016
Messages
12
Trophies
0
Age
23
XP
51
Country
United States
I've noticed that there's been problems with the default weapons given to the Wolfskin and Kitsune classes. Half the time, they get a beaststone, but half of the time, they end up with an iron sword instead. Is this problem fixable, or...?
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,550
Country
United States
I've noticed that there's been problems with the default weapons given to the Wolfskin and Kitsune classes. Half the time, they get a beaststone, but half of the time, they end up with an iron sword instead. Is this problem fixable, or...?
That's odd - I've never encountered an issue like that throughout testing. Every kitsune/wolfskin character I've received had the correct weapon. That said, the issue might be fixed for you in the next version, as I overhauled the item swap system in order to add in item randomization. Hopefully you won't run into the issue again with the update.

I'm still working through a couple of bugs with the next version right now, but I might be able to get it out some time tomorrow if things go well. The new systems for script and dispo randomization have fixed a lot of the old issues like no item trading on chapter 4. I've also gone ahead and added in basic support for child/parent randomization, though I haven't had the chance to test anything with it in game yet.
 
Joined
Dec 15, 2016
Messages
14
Trophies
0
Age
28
XP
120
Country
Canada
I'm still working through a couple of bugs with the next version right now, but I might be able to get it out some time tomorrow if things go well. The new systems for script and dispo randomization have fixed a lot of the old issues like no item trading on chapter 4. I've also gone ahead and added in basic support for child/parent randomization, though I haven't had the chance to test anything with it in game yet.[/QUOTE]

:grog:Holy! You may be able to get the update out tomorrow if things go well? >:D Awesome! This project of yours is really amazing, and I have sent some people here to look at it and try it out. :hrth::toot: HAPPY NEW YEAR! >:D
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,550
Country
United States
Alright, beta 4 is here! Lots of changes in this version. Hopefully, the overhauled randomization systems will improve stability across the board. Testing for the introductory chapters through chapter 12 revealed no major issues at the least. If that's any indication as to how well the new system works in comparison to the old one, then randomized playthroughs should be a lot more stable on beta 4. I've also added in some new features and convenience changes to remedy past issues (including support for Japanese copies of Fates). You can find the full list of features below.

Beta 4

  • Overhauled script, dispo, and join randomization. The new systems should completely fix issues with character who join through My Castle as well as some miscellaneous issues like the inability to trade items on chapter 4. In general, the new systems should lead to a more stable randomization system.
  • Added basic child randomization. The feature currently randomizes which child is tied to which paralogue in addition to parent/child combinations. Right now, the system doesn't completely randomize parents, as characters will only become parents if they switch places with a character who was a parent in the base game.
  • Added weapon randomization for joining characters. Under the previous system, characters always received an iron weapon usable by their randomized class. The new system instead picks from a pool of 10 random weapons usable by the new class.
  • Adjusted the GUI to include space for additional options and a progress bar during randomization.
  • Added lots of missing alternative IDs for characters. Every appearance of a character in the intro chapters and Revelation should now randomize correctly.
  • Added support for Japanese file structures during file verification.
  • Added basic support for swapping out special-case models like Leo's inside-out collar model in chapter 1. This feature is still a work in progress, but it should provide a basis for properly changing every cutscene model in the future.
  • Added variance to the "Randomize Stats" options. The old version simply took the stats of a character and moved them around (ex. a character's strength would become their magic). The new version redistributes points between stats based off of the number of passes you choose in the options.
  • Expanded the "Randomize Skills" option to randomize personal skills as well.
  • Added an option to add a new character to castle_join when swapping places with Anna. This insures that the character that takes Anna's place gets recruited somewhere since the randomizer cannot modify Anna's DLC.
  • Added an "Enable Hero Battle" option for the amiibo characters. Note, the hero battles have the amiibo characters join as "guest" characters who cannot support, so using the castle_join from the Same-Sex Expansion is recommended if you want supports for whoever switches places with the amiibo characters.
  • Fixed a bug which caused amiibo characters to only randomize when Revelation was selected as the path.
  • Fixed a bug which prevented characters using handover IDs from recruiting correctly.
@thane98 Do you know what exactly caused the no trade issue in Chapter 4?
To be honest, there are a lot of things that could have caused the issue. The old script randomization system made a lot of assumptions when randomizing scripts. It either failed to repoint a reference in the event that enables item trading or repointed something that it wasn't supposed to.
 

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
So when I get home, I'm gonna see if I can get SaltySD to work with Fates (and a multitude of other games I play) and I'll test it using the Randomizer. This way, you won't have to keep using NTR to make it work. You'll only have to use my IPS patch to patch the decompressed code.bin from a Fates game dump. (I'll release a full set of instructions if I can get it to work)

However, if this fails, we'll have to continue using NTR or rebuilding into a CIA methods.

One quick question however, is the file structure for all 3 Fates games the same? I'm wondering if I have to make the files into separate folders or if I can combine it like with Sun/Moon's option in SaltySD.
 
Last edited by KunoichiZ,

Dylos

Well-Known Member
Member
Joined
May 13, 2016
Messages
285
Trophies
0
Age
37
XP
220
Country
United States
My only issue using NTR is I'd like the ability to switch between different rom hacks via a menu, it's not much hassle adding the files.

As far as file structure, they are the same for each region, except they have different files. That is to say that US Birthright, Conquest, and Special Edition have the same folders but there may be some files missing from each version (i.e. all the other path files.)

Edit: different regions just have additional or missing language folders, US only has the E folder for example, but that folder is present in the European version too, so actually I guess every region has the same structure, just some folders may be missing.
 
Last edited by Dylos,

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
My only issue using NTR is I'd like the ability to switch between different rom hacks via a menu, it's not much hassle adding the files.

As far as file structure, they are the same for each region, except they have different files. That is to say that US Birthright, Conquest, and Special Edition have the same folders but there may be some files missing from each version (i.e. all the other path files.)
But NTR doesn't allow switching games after you load a ROM hack, right?

All people would need to do is dump the game to get the decompressed code.bin so that they can patch it. I'll need to do it for the EU and JP games as well. I would assume (and I hope) that they can figure out the rest of it based on my instructions.
 

Dylos

Well-Known Member
Member
Joined
May 13, 2016
Messages
285
Trophies
0
Age
37
XP
220
Country
United States
But NTR doesn't allow switching games after you load a ROM hack, right?

All people would need to do is dump the game to get the decompressed code.bin so that they can patch it. I'll need to do it for the EU and JP games as well. I would assume (and I hope) that they can figure out the rest of it based on my instructions.
Correct, if you close the game and try to load another or even try to soft reset, you'll crash.
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,550
Country
United States
So when I get home, I'm gonna see if I can get SaltySD to work with Fates (and a multitude of other games I play) and I'll test it using the Randomizer. This way, you won't have to keep using NTR to make it work. You'll only have to use my IPS patch to patch the decompressed code.bin from a Fates game dump. (I'll release a full set of instructions if I can get it to work)
I'm interested to see how this goes, as eliminating the need to start up NTR every time would save me some time when testing things out. I might be able to help out, but I have little to no experience working with assembly.
 

KunoichiZ

Well-Known Member
Member
Joined
Mar 16, 2012
Messages
8,830
Trophies
0
Age
28
XP
4,597
Country
United States
Correct, if you close the game and try to load another or even try to soft reset, you'll crash.
So would something like SaltySD work better like it does for Smash and Sun/Moon, since it doesn't require NTR?
I'm interested to see how this goes, as eliminating the need to start up NTR every time would save me some time when testing things out. I might be able to help out, but I have little to no experience working with assembly.
I'm hoping it'll work out like I want it to. I found a simple set of instructions to make the code_saltysd.bin file and then all I need to do is make the IPS patches for the games. Reading through it, it seems simple. We'll see though.
 

Dylos

Well-Known Member
Member
Joined
May 13, 2016
Messages
285
Trophies
0
Age
37
XP
220
Country
United States
I crashed :(
Conquest chapter 2, after seeing that Marth replaced Kaze.
Skipping all the story avoided the crash.
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,550
Country
United States
I crashed :(
Conquest chapter 2, after seeing that Marth replaced Kaze.
Skipping all the story avoided the crash.
Odd. I never had an issue with chapter 2 during testing. I actually just ran through it on a randomized save for Revelation. I even had an amiibo unit replacing Kaze like you did. I'll test it on a Conquest save just to be sure, but there's no reason why it should crash on Conquest while working on Birthright and Revelation.
 

Dylos

Well-Known Member
Member
Joined
May 13, 2016
Messages
285
Trophies
0
Age
37
XP
220
Country
United States
Could conquest be using an older randomization method? Because I'm also noticing issues with Jakob's replacement not gaining xp.

Also, Gunter probably should only be randomized on Revelation, Azura replaced him and I know I'm going to lose her :(

Edit: Marth's level 15 instead of Kaze's normal level. Also he's a villager with a broom, lol.
 
Last edited by Dylos,

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,550
Country
United States
Odd. I never had an issue with chapter 2 during testing. I actually just ran through it on a randomized save for Revelation. I even had an amiibo unit replacing Kaze like you did. I'll test it on a Conquest save just to be sure, but there's no reason why it should crash on Conquest while working on Birthright and Revelation.
Shouldn't be anything like that, though something odd's definitely going on with Conquest, as I just got the same crash. Sorry about that - I didn't test Conquest as much as the other paths, so it looks like I missed something with it. I'll try and get a hotfix out before the end of the day.

Edit: Looks like the culprit is A002_OP1.cmb from the bev folder. If you want a quick work around, you can delete that without messing up anything like recruitment.
 
Last edited by thane98,
  • Like
Reactions: Dylos

Dylos

Well-Known Member
Member
Joined
May 13, 2016
Messages
285
Trophies
0
Age
37
XP
220
Country
United States
Decided to mess around with birthright instead for the time being.

Didn't crash on chapter 2, but Lucina replaced Felecia and has the wrong level, she's level 15 this seems to only happen with amiibo units.
 

thane98

Well-Known Member
OP
Member
Joined
Apr 23, 2016
Messages
617
Trophies
0
XP
1,550
Country
United States
Decided to mess around with birthright instead for the time being.

Didn't crash on chapter 2, but Lucina replaced Felecia and has the wrong level, she's level 15 this seems to only happen with amiibo units.
I changed up some of the code for randomizing the amiibo units, so I guess it messed up something with level swapping. It shouldn't be too difficult to fix.

To be honest though, I have no idea what's wrong with the Conquest randomization. That bev file's definitely the issue, but I couldn't find anything wrong with it when I compared it against the unmodified version.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    K3Nv2 @ K3Nv2: Gay history is serious +1