Jump to content
lushen124

Yune Randomizer: A Universal Fire Emblem Randomizer

Recommended Posts

3 hours ago, MarcoFE said:

 

Because when I download the one from the code it is a .7z file. Sorry I’m not good in this but it shows just a white paper that I can’t do anything with... The .iso files are showing the screen u’re showing... Sorry if I’m dumb but it is my first time

I can't say where to get the ISO from beyond ripping it yourself from the disc, but if it's a .7z file, you can probably decompress it with 7zip and and it might be the correct format already. It's hard to say though, since the compressed file could be anything.

Share this post


Link to post
Share on other sites
4 hours ago, lushen124 said:

If you're using the 64-bit one, you shouldn't have this issue (unless you're running out of memory even on the 64-bit VM). The 32-bit one will very likely run out of memory for FE9, so definitely don't use that one. That said, if you are indeed running out of memory, there's not much that could be done for the time being. I could look into optimizing it for memory usage, but since Yune avoids writing extra files to the hard drive, it has to keep quite a bit of data in memory to randomize it.

I would check to make sure you are indeed running the 64-bit one, and then I would check if you have enough disk space. The randomizer creates a brand new ISO out of the one you give it, so you'll need 1.4GB free. That said, if your hard drive is also low on space, then I would recommend writing to a different drive or clean some stuff off of the drive. Even on the slowest of computers it shouldn't take that long to calculate file offsets. The only file that takes a noticeable amount of time to calculate is system.cmp (because that's where most of the changes happen), so if it's any other file that it's recalculating, it's definitely stuck.

I redownloaded the 64 to be sure and the same thing did happen. On the drive I'm using I have about 20 GB free. It's not a whole lot but I think it should be enough unless you recommend getting that to be much higher. I do get passed the system.cmp then it usually gets stuck on a sunshine or thunder file when doing the calculating. Is there a way I could increase the memory my laptop uses toward the program on my end or is that something set in stone? 

Share this post


Link to post
Share on other sites
24 minutes ago, BlazingHand said:

I redownloaded the 64 to be sure and the same thing did happen. On the drive I'm using I have about 20 GB free. It's not a whole lot but I think it should be enough unless you recommend getting that to be much higher. I do get passed the system.cmp then it usually gets stuck on a sunshine or thunder file when doing the calculating. Is there a way I could increase the memory my laptop uses toward the program on my end or is that something set in stone? 

Hmm... Maybe your JVM isn't set up to use that much memory? I'm assuming you're on Windows, so if you open up the command prompt and run

java -XX:+PrintFlagsFinal -version | findstr HeapSize

you can figure out how much the maximum heap size your JVM is allowing. On mine it's a little under 4GB (4,278,190,080). I think the default should be the minimum of that and half of your real RAM, so if you have relatively less RAM, that may also cause issues.

For what it's worth, this is my result:

C:\Users\Lu\Documents\Universal-FE-Randomizer\Executables\JAR>java -XX:+PrintFlagsFinal -version | findstr HeapSize
    uintx ErgoHeapSizeLimit                         = 0                                   {product}
    uintx HeapSizePerGCThread                       = 87241520                            {product}
    uintx InitialHeapSize                          := 536870912                           {product}
    uintx LargePageHeapSizeThreshold                = 134217728                           {product}
    uintx MaxHeapSize                              := 4278190080                          {product}
java version "1.8.0_261"
Java(TM) SE Runtime Environment (build 1.8.0_261-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.261-b12, mixed mode)

C:\Users\Lu\Documents\Universal-FE-Randomizer\Executables\JAR>

 

Share this post


Link to post
Share on other sites
5 hours ago, MarcoFE said:

Because when I download the one from the code it is a .7z file.

Oh, you need to unzip it/decompress/extract it using a tool such as 7zip or WinRar-Here's a tutorial for 7zip.

EDIT: Heck, there's another page that I didn't notice. Whoops.

Edited by Benice

Share this post


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

 

you can figure out how much the maximum heap size your JVM is allowing. On mine it's a little under 4GB (4,278,190,080). I think the default should be the minimum of that and half of your real RAM, so if you have relatively less RAM, that may also cause issues.

 

 

I gave it a try and these were the results I was given:

C:\Users\Blaze>java -XX:+PrintFlagsFinal -version | findstr HeapSize
Picked up _JAVA_OPTIONS: -Xmx128M
   size_t ErgoHeapSizeLimit                        = 0
               {product} {default}
   size_t HeapSizePerGCThread                      = 43620760
               {product} {default}
   size_t InitialHeapSize                          = 134217728
               {product} {ergonomic}
   size_t LargePageHeapSizeThreshold               = 134217728
               {product} {default}
   size_t MaxHeapSize                              = 134217728
               {product} {command line}
   size_t MinHeapSize                              = 8388608
               {product} {ergonomic}
    uintx NonNMethodCodeHeapSize                   = 5839372
            {pd product} {ergonomic}
    uintx NonProfiledCodeHeapSize                  = 122909434
            {pd product} {ergonomic}
    uintx ProfiledCodeHeapSize                     = 122909434
            {pd product} {ergonomic}
   size_t SoftMaxHeapSize                          = 134217728
            {manageable} {ergonomic}
java version "14" 2020-03-17
Java(TM) SE Runtime Environment (build 14+36-1461)
Java HotSpot(TM) 64-Bit Server VM (build 14+36-1461, mixed mode, sharing)

Looking in my laptop info it says I have 12GB of installed memory (RAM). Assuming I have done it right, my max heap size is only 134,217,728 which doesn't look to be that high at all when compared to yours so that might be the problem.

Share this post


Link to post
Share on other sites

Possibly. The ISO itself is 1.4GB so if your max heap size is on the order of hunderds of MB, then it probably is running out of memory. I think that is the default for a lot of 32-bit JVMs, but clearly you do have a 64-bit JVM. I think there are ways of changing the default for the JVM, but you can also specifically run the JAR with java options to override the max heap size. If you use the JAR,

java -Xmx4g -jar Yune.jar

or whatever you name the jar file. I do know that different VMs will have different default settings, so I'm guessing you have a relatively old VM when they capped the max heap size to a lower value.

That said, it's interesting. I'm wondering if 32-bit JVMs actually do have enough memory to do FE9 as long as whatever the max heap size is overridden to allow it to use more memory.

Share this post


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

Possibly. The ISO itself is 1.4GB so if your max heap size is on the order of hunderds of MB, then it probably is running out of memory. I think that is the default for a lot of 32-bit JVMs, but clearly you do have a 64-bit JVM. I think there are ways of changing the default for the JVM, but you can also specifically run the JAR with java options to override the max heap size. If you use the JAR,

java -Xmx4g -jar Yune.jar

or whatever you name the jar file. I do know that different VMs will have different default settings, so I'm guessing you have a relatively old VM when they capped the max heap size to a lower value.

That said, it's interesting. I'm wondering if 32-bit JVMs actually do have enough memory to do FE9 as long as whatever the max heap size is overridden to allow it to use more memory.

Thanks so much for the help! That did allow me to create a randomized file. I'll look into ways to see if I could increase the default size it uses but for now this works just fine. 

Edited by BlazingHand
FIxing spelling

Share this post


Link to post
Share on other sites
5 hours ago, BlazingHand said:

Thanks so much for the help! That did allow me to create a randomized file. I'll look into ways to see if I could increase the default size it uses but for now this works just fine. 

That's great to hear! I'll look into seeing if I can set that flag in the wrapped executable for future releases so that people in the future hopefully won't have to worry about it.

Share this post


Link to post
Share on other sites

Hello I really love the idea of this randomizer!

I was just wondering if there was any way you could check the new randomized growth rates of your characters in path of radiance so I could choose which ones I keep and which ones get the benching treatment. Thanks!

Share this post


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

Hello I really love the idea of this randomizer!

I was just wondering if there was any way you could check the new randomized growth rates of your characters in path of radiance so I could choose which ones I keep and which ones get the benching treatment. Thanks!

After you finish randomizing, the randomizer should give you an option to save a changelog. The changes the randomizer made should be in that resulting HTML file. I need to polish this, but the information you're looking for is there.

Share this post


Link to post
Share on other sites

hello again quick question i made all my unit growths change 60 percent is there a way to know which ones gained or lost or to see my units new growths

Share this post


Link to post
Share on other sites
51 minutes ago, Mark0M said:

hello again quick question i made all my unit growths change 60 percent is there a way to know which ones gained or lost or to see my units new growths

When you randomize, Yune asks if you want to save the changes in an HTML file-if you clicked "no", then as far as I'm aware, there is no way to know. If you clicked yes, all the info is there.

Share this post


Link to post
Share on other sites

Hey I have a question. It is normal that it takes so long to randomize the game (I say because I can put it to randomize from 7am and it will become 12am and it will continue to randomize) (I say it because for some reason in my case it gets stuck in chapter 13 and does not advance)

Share this post


Link to post
Share on other sites

Hi, so I've been trying to get the Mac version to work but for some reason running the app normally gives an 'Unable to load Java Runtime Environment Error' and trying to run the .jar file with -XstartOnFirstThread throws a NullPointerException from line 20 of Main.java. Is this an error you've encountered before, and if so, how should I go about fixing this? 

Share this post


Link to post
Share on other sites
23 hours ago, Melphegor said:

Hey I have a question. It is normal that it takes so long to randomize the game (I say because I can put it to randomize from 7am and it will become 12am and it will continue to randomize) (I say it because for some reason in my case it gets stuck in chapter 13 and does not advance)

It shouldn't take that long. If you're stuck on calculating file offsets, then you likely do not have enough memory allocated for the VM. You can read a few posts above for a solution.

18 hours ago, DawnHalberdier said:

Hi, so I've been trying to get the Mac version to work but for some reason running the app normally gives an 'Unable to load Java Runtime Environment Error' and trying to run the .jar file with -XstartOnFirstThread throws a NullPointerException from line 20 of Main.java. Is this an error you've encountered before, and if so, how should I go about fixing this? 

The first error message sounds like you don't have Java installed or you have an outdated Java version installed, which is rare for Mac, since I think they all come with it installed. What does

java --version

give you when you type it into terminal?

Share this post


Link to post
Share on other sites
35 minutes ago, lushen124 said:

It shouldn't take that long. If you're stuck on calculating file offsets, then you likely do not have enough memory allocated for the VM. You can read a few posts above for a solution.

The first error message sounds like you don't have Java installed or you have an outdated Java version installed, which is rare for Mac, since I think they all come with it installed. What does

java --version

give you when you type it into terminal?

java 14.0.2, and the Java SE Runtime Environment is build 14.0.2+12-46

Do I need to set the environmental variables first? I haven't set that part up yet so echo $JAVA_HOME returns nothing

Share this post


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

java 14.0.2, and the Java SE Runtime Environment is build 14.0.2+12-46

Do I need to set the environmental variables first? I haven't set that part up yet so echo $JAVA_HOME returns nothing

Hmm... Do you have another line after that? On my MacBook Pro, I get this:

Shens-MBP:~ Kotori$ java --version
java 12.0.1 2019-04-16
Java(TM) SE Runtime Environment (build 12.0.1+12)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)
Shens-MBP:~ Kotori$ 

It wouldn't hurt to update to the newest version of Java to see if that helps. I only built one version, and if you don't have a 64-bit JRE somehow, then that might explain things. I use this for development: https://www.oracle.com/java/technologies/javase-jdk14-downloads.html

Share this post


Link to post
Share on other sites
55 minutes ago, lushen124 said:

Hmm... Do you have another line after that? On my MacBook Pro, I get this:

Shens-MBP:~ Kotori$ java --version
java 12.0.1 2019-04-16
Java(TM) SE Runtime Environment (build 12.0.1+12)
Java HotSpot(TM) 64-Bit Server VM (build 12.0.1+12, mixed mode, sharing)
Shens-MBP:~ Kotori$ 

It wouldn't hurt to update to the newest version of Java to see if that helps. I only built one version, and if you don't have a 64-bit JRE somehow, then that might explain things. I use this for development: https://www.oracle.com/java/technologies/javase-jdk14-downloads.html

I have pretty much the same thing, just 14.0.2 instead of 12.0.1. I also got the latest version on Oracle to double check and it's still giving me the same errors. I've tried running some other Java-based applications and they seem to be working fine so I'm not entirely sure what's going on

Share this post


Link to post
Share on other sites

Loving the Randomizer.


But I seem to have run into an issue on FE6 chapter 13.  Cecilia randomized into a Valkyrie. She has a Heal, Mend, and Fire in her inventory, with the Fire equipped.

However, she uses the heal staff when Zephiel attacks.  She heals him and his health goes up, and up.  As far as I can tell it doesn’t stop and the game is frozen.

Not sure how to get around this. I can skip the dialogue, but the battle scene displays even with animations set to off.


Anyone know if there’s a way around this? Thank you!

 

Share this post


Link to post
Share on other sites
2 hours ago, Fmike1710 said:

Loving the Randomizer.


But I seem to have run into an issue on FE6 chapter 13.  Cecilia randomized into a Valkyrie. She has a Heal, Mend, and Fire in her inventory, with the Fire equipped.

However, she uses the heal staff when Zephiel attacks.  She heals him and his health goes up, and up.  As far as I can tell it doesn’t stop and the game is frozen.

Not sure how to get around this. I can skip the dialogue, but the battle scene displays even with animations set to off.


Anyone know if there’s a way around this? Thank you!

 

Oh, that's interesting. I assumed that she'd use the weapon if she had at least one weapon in her inventory. Was she forced to her first weapon? I can make a fix for this for future releases. Meanwhile, if you want to fix it yourself, you can go into Nightmare and FE6's army editor and open that chapter and reorder her starting inventory in the chapter.

Share this post


Link to post
Share on other sites
On 9/17/2020 at 5:53 AM, Ryn said:

Will the inclusion of version 1.0 come with radiant dawn randomized? if that's even possible.

I would love to do this, and yeah, v1.0 was intended to be when I get Radiant Dawn randomized. That said, I haven't even started on Radiant Dawn yet, so that probably won't be for a while, especially considering Radiant Dawn has to go through decryption for the ISO before I can even process it. Thankfully the systems and data structures are fairly similar, so in theory, at least, the randomization piece should be easy.

Share this post


Link to post
Share on other sites

Hello Lushen! I love this project! It's seriously amazing. My favorite way to play, by far, is FE7 with Randomized Recruitment, slot relative growths, relative base stats, and fill class. It's practically like making a whole new FE game in seconds. I've played it 3 times on Eliwood Hard already and I'm still not tired of it.

I do have a suggestion (more like a selfish request) that I was wondering about. (This is a lot of text so I hope it isn't too much of an imposition to read.)

When playing with randomized classes, it seems that one often ends up without any characters able to use the Prf weapons. (Unless maybe I'm doing something wrong?) For instance, if Eliwood and Lyn randomize into classes that can't use swords, and Hector randomizes into a class that can't use axes, then it seems the Mani Katti, Rapier, Wolf Beil, Armads, Durandal and Sol Katti are all useless. I assume this is why there's an option to exclude the Lords from being randomized, but randomizing the Lords *is* fun, so this still seems like a bit of an issue.

On the other hand, when playing with randomized recruitment, the characters that replace the Lords often feel a bit less "Lordly" than their vanilla counterparts since they can't use Prfs either. Randomizing Farina into Eliwood's slot and being given only a 16 use, 14 wt Heavy Spear instead of Eliwood's Rapier feels pretty disappointing. Also, Eliwood and Lyn -- particularly Lyn -- are pretty lackluster to recruit later on since they don't come with their Prfs.

Worst of all, randomizing Hector can seriously mess with Ch. 11, Another Journey, the first chapter of Hector mode, which was obviously designed to be beaten with liberal use of the Wolf Beil. The resulting difficulty can range from "harder than normal" to "nearly impossible to beat" to just plain old "impossible to beat." (This is part of the reason why I've played Eliwood mode 3 times instead of Hector's. The other reason is the status staff spam on Cog of Destiny....)

I think these issues could potentially be solved with two new options, which could be called "Modify Prfs to fit character" and "Modify Prfs to fit slot". I wonder if you could implement something like this:

The first option, "Modify Prfs to fit character", would check the class and weapon ranks of the character who wields each Prf, and then modify the Prf to fit. So if Eliwood randomizes into a Fighter, then the Rapier becomes an Axe with 5 wt, 7 mt, 95 hit, 10 crit, 40 uses and effectiveness against armors/cav -- basically just the Rapier, but as an Axe. And the Durandal changes accordingly, as well. If Eliwood became a Mage they could turn into Anima magic, if he became a Cleric they could become Light tomes, and so on. Furthermore, it could insert the Prfs into the characters' inventories regardless of their join time, so that, for example, if Lyn joins in Bartre's place, she still comes with the Mani Katti instead of a crummy Slim Sword.

The second option, "Modify Prfs to fit slot", would check to see which characters are in Lyn, Eliwood, and Hector's slots, and then modify the Prfs accordingly, while also modifying the characters in those slots so that they could wield them. For instance, if Hector gets replaced by Karel, then the Wolf Beil becomes a sword, and Karel gains the tag to wield the Wolf Beil while Hector loses it. If Eliwood is replaced by Erk then the Rapier becomes an anima tome, and so on.

Do you think something like that is feasible? I think it would go a long way to making each run feel more like a real Fire Emblem game instead of a janky modded experience.

P.S. Any plans to add the "Similar Replacements" feature for randomized rewards from FE9 to GBA FE?

P.P.S. Any plans to add patches for triple damage effective weapons for FE7 and FE9? I feel like 3x effectiveness is so much more fun than 2x.

P.P.P.S. Out of curiosity, what made you go to the trouble of creating the cross-gender assignments option?

P.P.P.P.S. Do you have a Patreon or a Ko-fi? 😄

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...