Installing The Randomizer On Your PC

This page will be all about installation and preparation for development for the Symphony of the Night Randomizer. You might ask yourself, "Why would I want to download the Randomizer if it's available  on the internet for free?" Fantastic question! In most cases, you don't!

There are, however, certain instances where we want to download and install the Randomizer on our own computer, for instance:

If any of these situations applies to you, then this page should be for you. 

We recommend that you follow this process from beginning to end before generating seeds to ensure that there are no issues. Diagnosing issues with the Randomizer is easy, diagnosing issues with PC installations of the same are not.

Getting Started:

In order to properly work with the randomizer offline, we'll first need to establish how you can download and interact with it. In order to do that, let's get some things installed first that will be required.

Tools:

Downloading the Randomizer: 

2. Click on the ribbon in the upper left corner that says "Fork Me on GitHub!"

3. Copy the web address of the site that link takes you to.

4. Open GitHub Desktop and select "File" → "Clone repository..."

5. In the window that comes up, select the "URL" tab.

6. Make sure that where you're putting the randomizer (Local Path) is a safe place for editing and creating files. No drives with limited space, etc.

7. Paste the address you copied into the "Repository URL..." and then press the "Clone" button to get your copy of the Randomizer.

8. In GitHub Desktop go to "Repository" → "Show in Explorer"

9. When the file folder shows up, right-click in a blank are and select "New" and then "Folder".

10. Name the new folder "seeds" as this is where our commands will send the .PPF files that we create to to prevent confusion and deleting important files. You can close Windows Explorer after this.

Installing the Randomizer:

Now that we've downloaded everything, the files are there, but we need to actually install the Randomizer. That way we can run CLI, or Command Line Interface and generate more interesting seeds.

11. In GitHub Desktop, go to "Repository" → "Open in Git Bash"

12. After it opens Git Bash, just type "npm install" as depicted below.  If it tells you that something is out of date, it will explain in Green Text what you need to type to update it. Follow those instructions. After that, type "npm install hygen" to install hygen, and then "npm install yargs" for yargs. This may not be necessary, but we are covering our bases to make sure everything is properly installed.

Generating Your First Seed:

Generating Seeds Offline With Index.html:

Running the Randomizer on your computer without all the technical knowledge of using command lines is easy.

Double click "index.html" in the Randomizer folder. It will open in your default browser. If that is not Google Chrome, then I suggest using right-click and then choosing Google Chrome under "Open with..."


The webpage should look like this. Despite the warnings, everything here should work almost exactly like it does on the main website.

Generating Seeds Offline with CLI (Command Line Interface):

If you're looking for a little more customization or for development, then you might be ready to start generating seeds with the CLI, or Command Line Interface. In Git Bash, you can enter "node randomize --help" and there will be a wide array of options available to you. However, we are going to start off with some simple examples to get you started.

node randomize -t -p casual -s ExampleSeed1 -o ./seeds/ExampleSeed1.ppf

This will create a tournament mode (-t) casual preset (-p casual) seed with the seed "ExampleSeed1" (-s ExampleSeed1) in the "seeds" folder we created during setup (-o ./seeds/ExampleSeed1.ppf)

Keep in mind that the name of the PPF in the output argument (-o) does not need to match the actual seed, it just helps with keeping track of things.

node randomize -t -p safe -c 7 -s ExampleSeed2 -o ./seeds/ExampleSeed2.ppf

This will create a tournament mode (-t) safe preset (-p safe) complexity 7 (-c 7) seed with the seed of "ExampleSeed2" (-s ExampleSeed2) in the "seeds" folder (-o ./seeds/ExampleSeed2.ppf)

Now let's move on to something a little more complicated:

node randomize -p adventure --opt ~s~m -s ExampleSeed3 -o ./seeds/ExampleSeed3.ppf

This will create a non-tournament mode (Notice the lack of -t) Adventure preset (-p adventure) with options (--opt) to remove item stat randomization (~s) and to remove music randomization (~m) with the seed "ExampleSeed3" (-s ExampleSeed3) in the "seeds" folder (-o ./seeds/ExampleSeed3.ppf)

Note that in the options, to remove an already enabled option of an existing preset, you need to use the tilde (~) before that feature's call letter. Since Adventure normally has item stat randomization and music randomization, we needed to turn those off to have vanilla item stats and vanilla music.