Jump to content
lushen124

Yune Randomizer: A Universal Fire Emblem Randomizer

Recommended Posts

I said I was going to make this thread like a year ago, but it had completely slipped my mind, and I had set out on looking into FE9, getting burned out, and then getting everything back together again to actually make things happen.

In any case,  here's the link to the repo for Yune. Link

The downloads can be found in the releases section, with the latest release being v0.9.0. The readme also goes over how all of the options work and what they do.

As the randomizer is written in Java, the only requirement is that you need a somewhat recent JRE installed to be able to run the randomizer. It has been compiled for Windows (32-bit or 64-bit), MacOS, and Linux (GTK).

Supported titles:

  • Fire Emblem 4: Genealogy of the Holy War - Requires JP ROM (headered or unheadered) or Pre-patched ROM with Project Naga translation patch.
  • Fire Emblem 6: Binding Blade - Requires JP ROM or Pre-patched ROM with the Redux translation patch.
  • Fire Emblem 7: Blazing Sword - Requires US ROM
  • Fire Emblem 8: Sacred Stones - Requires US ROM
  • Fire Emblem 9: Path of Radiance - Requires US ISO (Note that there is a good chance of an out of memory error when using a 32-bit JRE for FE9 randomization).

I trust FE4 and the GBAFEs to be fairly stable, but FE9 is a bit shaky (and likely quite buggy, if you enable too many options that I haven't had the chance to test simultaneously), because it's not quite up to the standard I would have liked for it to be. I'm still trying to figure a lot of things out for how FE9 actually works and the next step is one that will likely take a long time because it involves chapter scripting. Rather than hold it for that long, I'd rather have people able to test it and start finding bugs that need to be addressed, as well as solicit information if anybody has anything that might help with FE9 quirks. Those bugs could also help give me other ideas on how FE9 might actually work under the covers.

Please file any bugs you find in the GitHub repository directly in the Issues section so that I can track them, alongside any suggestions that could help me improve Yune.
 

Spoiler

 

FE4Mac.png

Linux.png

ezgif-6-6a8417e1f9c4.jpg

FE4Classes.png

FE4Skills.png

CustomPalettes.png

RandomClasses.png

WeaponDescriptions.png

FE9Minions.png

FE9Skills.png

 

EDIT: 0.9.1 is now available. Changelog:

Spoiler

Improvements

  • [FE8] #181 - Adjusted trainees when doing randomized recruitment so that Ross, Amelia, and Ewan get their promo boost and start at tier 1 instead of tier 0.
  • [GBAFE] #165 - More palette logic rework. Added logic to not change palettes for characters that don't change classes from vanilla. Also made sure duplicated colors were not being included when adapting colors.
  • [GBAFE] #181 - Reworked the autoleveling routine for random recruitment in GBA games. This should be more straightforward, but it does make some changes for characters like Karel, who cannot mathematically delevel to what the Reverse Recruitment patch has him start as. The only minimum stat enforced is HP, at 10 HP. All other stats are allowed to start from 0.
  • [FE9] #204 - Modified thieves logic so that all thieves receive the lock pick skill (as opposed to being locked to Sothe and Volke). Additionally, Volke will always have the ability to pick locks for 50G each, regardless of his class. All thieves will receive the ability to pick locks for free.
  • [FE9] #217 - Added logic to allow all A and S rank weapons to bypass the blessed armor on the Black Knight in Chapter 27 and Ashnard in the endgame.
  • [UI/UX] #219 - Added the ability to select a file without the extension filter, in case the file is not using one of the standard extensions. The checksum check is still in place, though, so the same files are necessary. They just don't need to have any particular extension.

Bugfixes

  • [FE4] #174 - Fixed a few more obscure instances of player items ending up on enemies that cannot use them. This includes one of the Conote commanders in Chapter 8 sharing the Brave Bow with Midir and Jamke, Lachesis's Miracle Sword being shared with a Chapter 8 Thracia commander, Claud's Fortify Staff on a High Priest in the Kapathogia army, Chagall and Bloom sharing the same Silver Blade, Zyne and Bramsel sharing the same Horseslayer, Finn's Brave Lance being shared with Muhammad if it somehow wasn't passed down, and Tailtiu's Thoron tome being shared with Ishtore. Also fixes another issue where a redundant weapon on a Gen 2 boss wasn't being updated appropriately (due to the character having the inherited item, regardless of whether it was passed down or not).
  • [FE6] #185 - Fixed an issue where enemy bishops getting staves they don't normally use causes issues with the AI script (specifically with staves like the Torch, Unlock, Restore, Hammerne, Barrier, Rescue, Warp, and Tina Staff).
  • [FE6] #193 - Added restrictions to playable characters that are recruitable enemies to make sure they do not get assigned classes that the AI does not know how to handle.
  • [FE7] #189 - Fixed an issue where bosses get uneven weapon levels, which can cause them to receive weapons of a different type that they cannot use. This is most obvious in Endgame with the Morphs receiving S rank weapons but of the wrong type.
  • [FE8] #163 - Fixed the opening script if Eirika is not randomized to receive what she would normally receive. This additionally prioritizes Prf weapons (like the Rapier) when possible during scripted events.
  • [FE8] #166 - Fixed an issue where some FE8 minions were not being identified (and therefore, not buffed) correctly. This also adjusts the logic so that weapons of the same rank, but higher MT are considered "upgrades". This is primarily due to Steel Axes not being considered an upgrade to Iron Axes because they're both the same rank.
  • [FE8] #175 - Fixed an issue when randomizing recruitment with Creature Campaign characters.
  • [GBAFE] #167 - Fixed an issue where it's possible to receive no affinity if it is randomized, which causes hilariously broken support bonuses.
  • [GBAFE] #176 - Updated the limit for maximum weapon durability to 63. This is because the game only uses 6 bits to store weapon durability in its save data, which causes the durability to not be correct when the game is reloaded.
  • [FE9] #199 - Fixed several issues with FE9 randomization with certain settings causing hangs. This includes settings to Include Special Classes when Randomizing Playable Character classes, Absolute Randomization of growths (with adjusting growths for HP), and Easing In/Out boss buffs.
  • [FE9] #215 - Fixed an issue where promoted staff users were receiving light tomes, even though they lacked the Lumina skill.
  • [FE9] #217 - Fixed some more Shadow Ike instances with some specific classes (usually female classes) and some characters (i.e. Nephenee).
  • [FE9] #217 - Fixed an issue where promoting a unit immediately granted S weapon ranks for all usable weapon types.
  • [FE9] #217 - Added logic to make sure we account for occult skills when doing skill randomization (though we don't currently vend out occult skills yet).
  • [FE9] #217 - Fixed an issue where some bird laguz classes were not classified as flying classes.
  • [FE9] #229 - Fixed issues where archers receive Rolf's Bow, but are unable to use it. Rolf's bow is now locked to playable characters and all characters that become archers are given the lock to allow them to use it.

 

Edited by lushen124
0.9.1 Release

Share this post


Link to post
Share on other sites

Those screenshots are huge.  Mind putting them in spoilers?

Share this post


Link to post
Share on other sites

I've used this randomizer before to randomize games like FE4 and FE6, it's great! I am happy to see that Path of Radiance has been released as well! Thank you for this!

Share this post


Link to post
Share on other sites
6 hours ago, eclipse said:

Those screenshots are huge.  Mind putting them in spoilers?

Done.

6 hours ago, Michelaar said:

I've used this randomizer before to randomize games like FE4 and FE6, it's great! I am happy to see that Path of Radiance has been released as well! Thank you for this!

You're welcome! Though I must warn you that FE9 is probably quite buggy since I haven't tested it too much (and none at all beyond Chapter 9), but from my experience messing around with it, the most fun I've had wasn't necessarily with class randomization, but skill randomization, and giving minions and bosses random skills. Really keeps you on your toes and occasionally surprises you when you start running into enemies with Resolve or Wrath (or even Vantage if you forget).

Let me know if you run into any issues and I'll try to address them quickly. 🙂

Share this post


Link to post
Share on other sites

Alright, so I made it all the way to Chapter 18 in FE9, and while I didn't come across any game-breaking issues, some things stood out to me:

1. When choosing Delta for growth randomization, mages get screwed really bad with their magic growths.  It may be a combination of that and choosing to adjust STR/MAG growths.

2. Chapter 18 flings you directly into battle after getting Reyson, so you can't reposition units or select the ones you want to use.

3. Volke and Sothe can still open doors and chests without keys regardless of their class. However, this isn't all that surprising because the other FE9 randomizer would also do that.

4. Some units turn into black Ike models either before or after promotion. Again, not all that surprising since the other randomizer had this problem. However, it was a significantly lesser issue this time out.

Share this post


Link to post
Share on other sites
8 hours ago, CultivatedFinch said:

Alright, so I made it all the way to Chapter 18 in FE9, and while I didn't come across any game-breaking issues, some things stood out to me:

1. When choosing Delta for growth randomization, mages get screwed really bad with their magic growths.  It may be a combination of that and choosing to adjust STR/MAG growths.

2. Chapter 18 flings you directly into battle after getting Reyson, so you can't reposition units or select the ones you want to use.

3. Volke and Sothe can still open doors and chests without keys regardless of their class. However, this isn't all that surprising because the other FE9 randomizer would also do that.

4. Some units turn into black Ike models either before or after promotion. Again, not all that surprising since the other randomizer had this problem. However, it was a significantly lesser issue this time out.

1. The option simply makes sure Magic-based classes assign the higher of STR and MAG growth to MAG. It's possible that STR isn't necessarily balanced the same way that MAG is between physical and magical units respectively. I'm open to ideas on how to potentially address this.

2. This is interesting because I haven't gotten around to changing the chapter script. But iirc, this map has chests, so if you randomized chests, I might have a bug that causes a side effect, because those chest contents are stored in the chapter script. At the moment, I'm modifying the scripts in a way that I don't completely understand yet. 😅

3. I think Volke and Sothe probably have KEY0 and KEY50 assigned to their characters and not their classes. I haven't removed that skill from them. I wonder if the option to randomize thieves is even necessary if I can just let anybody open chests.

4. If I were to hazard a guess, these are probably female units? There's some odd logic for female units as far as map models go. Some of them work the same as male units where the AID needs to be assigned specifically to match their class, but some of them result in Shadow Ikes if you do set their AID, even if it matches the class. Mist does this, and I had another report that Nephenee does this too. It's also possible that AIDs that I thought would work actually don't. If you can, let me know the character and the class they were trying to use, and I can investigate.

Thanks for the feedback. I'm happy to hear that it's mostly functional up to as far as Chapter 18. 🙂

Share this post


Link to post
Share on other sites

Regarding the key thing, the other randomizer didn't have a skill distribution option, so anyone could end up with the ability to open doors and chests without keys.  Unfortunately, I think only thieves are allowed to steal, so they are still necessary for that.

With the Shadow Ike, in my current playthrough, it's only happened to one of my units (that I know of), and it was an Axe Cavalier Sothe. His model was fine, but on promotion into Paladin, his model turned into the Shadow Ike. I still thought this was interesting because with the old randomizer, I would have had at least 10 Shadow Ike units by the point I made it to.

Edit: another thing that happened is that some, but not all promoted units immediately  S Rank all their weapon types.

Edited by CultivatedFinch
Extra details

Share this post


Link to post
Share on other sites

Heyy, you figured out how to give everyone skills in FE9? Where did it end up being hidden?
I will give this a try at some point, and see if this gets a "just use YUNE now" rating over my old one like it did with FE4.

Share this post


Link to post
Share on other sites
1 hour ago, jespoke said:

Heyy, you figured out how to give everyone skills in FE9? Where did it end up being hidden?
I will give this a try at some point, and see if this gets a "just use YUNE now" rating over my old one like it did with FE4.

So, this is interesting, because there's two ways to give a unit a skill. Character data is one, and the other is actually in dispos. I noticed a lot of unaccounted for data in your documentation, and in the prologue dispos, I found a SID_IMMORTAL skill in the strings table, so I just traced it back to where it was being referenced, and it's actually right after the equipment. This is the mechanism I use for giving random generic enemies skills.

As for how to make the game know about the skill (and this works for items and weapons too), that comes down to how the binary files (*.bin) files work. As I understand it, this structure is used for the 3DS FEs too, so I have reason to believe they still use the same file structure after all these years. In any case, the important part is that there are two pointers in the header. One pointer points to the start of the string entries, and the other pointer points to the start of a table of offsets. These actually inform the game the offsets in the data that are valid pointers. So it's not enough to replace a 00 00 00 00 with a pointer to an ID, but you also need to add the offset to this second table for the game to acknowledge it. This applies to both FE8Data.bin as well as the individual dispos.bin files the chapter unit data.

As an example, (if I remember the offset correctly) Oscar's first skill ID would be at 0x224 (+/- the 0x20 offset, I forget), but if you look in the table of offsets following the strings table, you'll notice that it skips right over 0x224. All you need to do is append 00 00 02 24 to the end of this list, and the game will acknowledge it (after you adjust the other header parameters, obviously). This similarly works for the dispos file, where you'd need to add the IID_ITEMNAME to the strings table, then reference it in the chapter unit data, and then add the offset where you referenced it in the offsets table.

Share this post


Link to post
Share on other sites

Well, I got a little farther in the game, and encountered a weird bug: so I got a Wyvern Knight Jill who came with Smite as her skill. However, when she promoted, she straight up lost her Smite like she never had it.  She's the only one of my promoted units that got hit with this.

Edit: I think Rolf may be broken in some way. I've done a few randomizations, and he always rolls his original class.

Edited by CultivatedFinch

Share this post


Link to post
Share on other sites
On 2/28/2020 at 5:38 PM, CultivatedFinch said:

Well, I got a little farther in the game, and encountered a weird bug: so I got a Wyvern Knight Jill who came with Smite as her skill. However, when she promoted, she straight up lost her Smite like she never had it.  She's the only one of my promoted units that got hit with this.

Edit: I think Rolf may be broken in some way. I've done a few randomizations, and he always rolls his original class.

Jill's case is a bit weird. I'm not sure what could be forcing a skill to disappear, since that sounds like some game logic that I haven't touched. It's possible that some skills are special? Maybe mounted units just get rid of Smite automatically, since they're not technically allowed to Shove.

As for Rolf, yeah, there's some weird things about him, so I currently don't randomize him. His map model and weapon ranks all change, but the game persists in thinking that he's an Archer, and will load Archer battle animations. Since him equipping a weapon is almost certainly going to crash when entering battle, I just blacklisted him until I can figure out what's going on.

Share this post


Link to post
Share on other sites

I was also thinking the same thing about Jill, since no one else seemed to have any problems. Also, even though Force Class Chance is checked, she still showed up as a Wyvern Knight (unless male Wyvern Knights count as a different class, and if so, never mind). Furthermore, three more things of note:

1. I think the Regal Sword is locked specifically to Ike. I had Mist come in as a Ranger and she brought a Regal Sword with her. She couldn't use it, but my Sword Cavalier Ike could.

2. Rangers that are not Ike just simply can't promote, huh? Mist was snowballing into one of my strongest units, but she stopped gaining experience at Level 20 and I currently haven't come across any Master Seals (using fully random rewards). I'm not even sure if she can use Master Seals, anyway.

3. Is Stefan always supposed to have Astra? He usually has it on top of what the randomizer gave him.

Share this post


Link to post
Share on other sites
On 3/1/2020 at 5:23 PM, CultivatedFinch said:

I was also thinking the same thing about Jill, since no one else seemed to have any problems. Also, even though Force Class Chance is checked, she still showed up as a Wyvern Knight (unless male Wyvern Knights count as a different class, and if so, never mind). Furthermore, three more things of note:

1. I think the Regal Sword is locked specifically to Ike. I had Mist come in as a Ranger and she brought a Regal Sword with her. She couldn't use it, but my Sword Cavalier Ike could.

2. Rangers that are not Ike just simply can't promote, huh? Mist was snowballing into one of my strongest units, but she stopped gaining experience at Level 20 and I currently haven't come across any Master Seals (using fully random rewards). I'm not even sure if she can use Master Seals, anyway.

3. Is Stefan always supposed to have Astra? He usually has it on top of what the randomizer gave him.

1. Yeah, according to my notes, Regal Sword (and Ragnell) have the heroonly trait which probably locks it to somebody with SID_HERO. Ike personally has this invisible skill, and I'm pretty sure it's what allows you to seize too (and possibly game over on death). It's not quite practical to put this on the Ranger class, unless you were ok with any Ranger being able to seize. There might be other side effects the skill does too, so I might just remove it from the pool.

2. I haven't touched any game logic yet, partially because I don't know where in the code dictates the promotion. The only skill Ranger has is SID_EVENTCC which now that I think about it, might actually stand for Event Class Change. If that is the case, I think removing that skill might allow him to promote? I'll have to play around with it.

3. Oh. I think I forgot to scan for occult skills for randomization. 😅 Just curious, did it actually allow Stefan to go over skill capacity? Or did he have Astra with a 5-capacity skill?

Share this post


Link to post
Share on other sites

I believe the other randomizer would allow Rangers to promote.  In my log file, Mist doesn't have any other skill besides the one she was given (in this case it was Paragon).  I also have a Ranger Oscar that I wasn't using, so I used a BEXP code to quickly test him out. Sure enough, he can't promote either.

As for Stefan, yes, he is over the skill capacity. In my case, he has Savior with 10 Capacity and Astra with 20, even though his max capacity is already 20.

Edit: this time, I had a Sword Cavalier Brom who came with Smite. And on promotion, he lost it. So yeah, it seems the game doesn't want mounts to have that skill when they promote.

Edited by CultivatedFinch

Share this post


Link to post
Share on other sites

Really cool. I have been waiting for the FE9 randomizer to come out so I am excited. I currently am trying to randomize Fe9 and I'm just wondering if the Randomizing classes option is suppossed to take 15 mins and counting because that is whats currently happening. 

Share this post


Link to post
Share on other sites

I restarted the randomizer a couple times and now I'm on growths and its getting hung up again

Share this post


Link to post
Share on other sites
15 hours ago, CultivatedFinch said:

I believe the other randomizer would allow Rangers to promote.  In my log file, Mist doesn't have any other skill besides the one she was given (in this case it was Paragon).  I also have a Ranger Oscar that I wasn't using, so I used a BEXP code to quickly test him out. Sure enough, he can't promote either.

As for Stefan, yes, he is over the skill capacity. In my case, he has Savior with 10 Capacity and Astra with 20, even though his max capacity is already 20.

Edit: this time, I had a Sword Cavalier Brom who came with Smite. And on promotion, he lost it. So yeah, it seems the game doesn't want mounts to have that skill when they promote.

So what does it say for Stefan? Is it just 30/25 for him?

1 hour ago, Thyla said:

Really cool. I have been waiting for the FE9 randomizer to come out so I am excited. I currently am trying to randomize Fe9 and I'm just wondering if the Randomizing classes option is suppossed to take 15 mins and counting because that is whats currently happening. 

There are a few bugs that I need to fix and release that addresses some freezing issues when using certain options. There's a slightly newer version that's not officially released yet here (second to last comment) if you want to give that a shot (this assumes you're on Windows with a 64-bit JRE though): https://github.com/lushen124/Universal-FE-Randomizer/issues/199. For reference, the problematic settings are Including Special Classes (i.e. Herons) in class randomization, buffing bosses by easing, and full growth randomization.

Share this post


Link to post
Share on other sites
15 hours ago, CultivatedFinch said:

Stefan's capacity is 30/20.

Interesting. The game will actually let you keep that? I also thought unpromoted units have 15 or 20 (depending on whether they're mounted) and then gain 5 on promotion. Stefan just starts with 20? Or is he a mounted unit?

In any case, I'll add in logic to handle occult skills (probably just replace with the corresponding occult skill for their new class), but this can be useful for me with bosses if I decide to buff them beyond their capacity.

I haven't tried this, but I assume those occult skill animations are tied to the class, and that not every class can use every occult skill and have it work properly? Have you had Stefan as anything other than a swordmaster use Astra?

Share this post


Link to post
Share on other sites

In my case, he came as prepromoted Paladin that uses lances and bows, and despite only having 20 capacity, he seems to have no issues wielding both skills.

So far, he's procced Astra once, and he was using a bow. Even though the skill worked just fine, you have to sit through a painfully long sequence of him attacking 5 times. This also happened with non-swordmasters with the other randomizer, so I suppose that on actual swordmasters, they'll do the 5 rapid strikes instead.

Share this post


Link to post
Share on other sites

Huh... so it just defaults to the regular attack animation if it doesn't have a special animation available for the class? That greatly expands the list of skills I can give out to promoted units.

Share this post


Link to post
Share on other sites

I think it actually is possible. I think the class data has it, or at least a byte that looks like it follows the same 15 for unpromoted mounted classes, 20 for promoted mounted units and unpromoted foot units, and 25 for promoted foot units. The only downside is that it randomizes at the class level and not the character level.

Share this post


Link to post
Share on other sites

Alright, so I've got some good news, and I've got some bad news.

The good news: I made it all the way to endgame without encountering any game-shattering issues other than what was mentioned above.

The bad news: Ashnard.  The other randomizer (I know I've brought this up a lot) modified Ashnard so you don't need to rely on Ragnell to damage him.  Luckily for me, Ike was able to use Ragnell...but he only has an 8% Skill growth with only 8 Skill for the endgame.  With a shaky hit rate, Ashnard's Renewal skill, and limited healing staves, I think boredom will kill me before Ashnard does.  However, if Ike wasn't able to use Ragnell at all, this would have been GG.  So as of right now, for anyone who doesn't have an Ike that can use swords and isn't willing to cheat if he's not exactly where he should be, there's no getting through Ashnard.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...