Skip to content

abyssonym/ffl3rando

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FINAL FANTASY LEGEND III RANDOMIZER
Version:    1
Date:       May 26, 2025
URL:        https://github.com/abyssonym/ffl3rando/releases/latest/
Contact:    https://bsky.app/profile/abyssonym.bsky.social
            https://ko-fi.com/abyssonym
            https://discord.gg/Vzk2tsm92A

Check out my Ko-fi at ko-fi.com/abyssonym for free articles and exclusive membership content!

I.   Quick Start
II.  Flags and Command Line Options
III. Credits, References, & Special Thanks

# I. QUICK START
    1.  Download the randomizer from https://github.com/abyssonym/ffl3rando/releases
            1a. On Windows, you have the option to download the file `ffl3rando_windows.zip`. This version is a little slower, but does not require a Python installation on your system. If this version does not work for you, see step 1b.
            1b. On other platforms, you must download the file `ffl3rando_source.zip`. This version requires Python installed on your system. All of the files in this zip archive must be present for the randomizer to work.
        Extract the contents of the zip archive to its own folder.

    2.  Acquire a ROM of Final Fantasy Legend III for Game Boy. The Japanese version of the game (SaGa 3) will not work. If you want to verify, this is the relevant MD5 hash:
        EN - db156bc96b528996ce1bf771195171af

        Place the ROM in the folder containing the randomizer.

    3.  On Windows, run the file `ffl3rando.exe`. Otherwise, run the file `randomizer.py` using Python.
        3a. The randomizer will ask for ROM filename. Input the name of the file from step 2, or drag-and-drop it over the command line window. To maximize the chances of the randomizer finding the appropriate file, you should ensure that the ROM file is in the same folder as the randomizer. Sometimes, if there are special characters or spaces in the file path, the randomizer will be unable to find the file, so it is best to give the ROM a simple name like `ffl3.gb` and input this file name instead of the full file path.
        3b. The randomizer will ask for a seed number. If you don't care, it is fine to leave this blank. If you want to share your seed with others (i.e. for a race), you can use the seed number to generate the same randomization each time.
        3c. The randomizer will ask which flags you want to use. Simply enter the corresponding letters for all the options you want, all as one word, or leave this field blank to select all of them:

            a  Randomize enemy attributes/skills.
            c  Randomize treasure chests.
            d  Randomize enemy drops.
            e  Randomize enemy stats.
            f  Randomize enemy formations.
            q  Randomize equipment stats.
            s  Randomize shops.
            t  Randomize transformations.
            v  Randomize nothing. (For testing - this flag does nothing)

        3d. The randomizer will ask for a randomness level. This can range from 0.0 (no randomness at all) to 1.0 (maximum randomness where all possibilities are equally likely). It is not recommended to raise this too high, because maximum randomness results in very unbalanced gameplay. For example, the enemies in the first area could have final boss stats.
        If you would like to increase randomness for one flag and decrease it for another (for example, very random treasure with balanced enemies) you can type "custom" to set different randomness levels for different game objects.

    4.  After completing the randomization, a new ROM file should appear in your randomizer folder. It will have the seed number in the filename. Load this ROM in an emulator to play the randomized game.

# II. FLAGS AND COMMAND LINE OPTIONS

    Command line arguments are specified in the following format:
    `python randomizer.py <ROM_FILENAME> <FLAGS> <SEED NUMBER>`

    For example, to create a seed with randomized chests, drops, formations, and shops:
    `python randomizer.py ffl3.gb cdfs 0`

# III. CREDITS, REFERENCES, & SPECIAL THANKS
    Thank you to Michaelsoftman for funding this project and assisting with research! Thanks as well to my supporters on Ko-fi:

    allyhathaway
    cha0sTwitch
    Dark-Aries
    EntropousStar
    LockeZ
    zar6565

    The following tools and references were used in this project:

    https://pieceofnostalgia-bd472.firebaseapp.com/saga3/saga3.html
        Japanese strategy guide containing comprehensive information and hidden stats for SaGa 3.

    https://bgb.bircd.org/
        BGB 1.6.5 - Debugging emulator for the Game Boy.

About

Final Fantasy Legend III randomizer

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages