Hello, world! This is a guide to the esteemed Twilight Princess Randomizer!
As TPR is still very early in development, a lot of things may change with every update. This guide will be maintained as much as possible to be current with releases. Note that this guide does not cover beta/alpha releases, it will only cover public releases.
For setup instructions, go here!
The current version is: v0.14.1. This is the version this guide is based on. The latest version can be downloaded from the official Github repo!
The console window
- Open/close console window: +
- Start randomization: +
- Increase value by 1:
- Decrease value by 1:
- Increase value by 10:
- Decrease value by 10:
Page 1 of the console has general console settings. The settings are:
- Color Change the RGBA color of the background of the console overlay. R=red, G=green, B=blue, A=alpha/transparency
- True pause Puts the game in a semi-paused state when the rando-console is active where all actors are frozen and none of the inputs are being sent to the game itself
- Input buffering Holding a button will fire that button every frame. No need for mashing (good for 1 cycle Bo wrestling and auto-rolls)
Page 2 of the console has custom seed data.
This page is useful for when you want to resume an ongoing seed after having closed the game. See the section "Resuming a seed" for info!
Has an option "Rando enabled" which enables/disables randomization. Changing this option does not affect your seed, it just gives you the vanilla items until you turn it back on. But doing this mid-seed will most likely causes issues!
Page 3 of the console can change a lot with each update as more stuff is added to the item pool.
There are options for seed generation as well as item check debug (useful for reporting bugs)
Shows the active seed and checksum so you can share/resume the seed.
(if true) Progressive items will be given in order from lowest tier to highest tier (eg. Wooden Sword before Ordon Sword, Ordon Sword before Master Sword, etc.)
(if false) No progressive items. This is not recommended as it can lead to issues with getting certain progressive items.
Note: This option will be removed in v0.15.
(if true) Golden bugs will give random items and the bugs will be added to the item pool.
(if false) Golden bugs will be vanilla. Does not affect Agitha rewards.
(if true) Poes will give random item when killed and poe souls will be added to the item pool.
(if false) Poes will give poe soul when killed. Does not randomize Jovani rewards.
(if true) Most shop items will be randomized. As this is an early version of Shopsanity, there are some caveats:
- Ammo refills are not randomized
- When you purchase an unlimited item, first purchase will be randomized, but subsequent purchases will give a green Rupee
- To purchase Bottled items (eg. milk, larvae, potion, etc.), you must have an empty bottle in your possession
- To purchase a Wooden Shield, you must not have a Wooden Shield already or an Ordon Shield. If you do, you can burn it in Goron Mines or somewhere with lava
- Scoopable items (eg. Trill's shop) are not randomized at this time
(if false) Shop items will be vanilla.
Note: This is a very early version of Shopsanity, so it will be improved as time goes on.
(if true) Dungeon items will be randomized within their respective dungeons. Semi-Keysanity coming soon!
(if false) Dungeon items will be in their vanilla locations.
Note: Currently only affects Big Key, Compass, Dungeon Map, and Ooccoo)
Technical stuff used by devs for debugging. Send them this info if you have an issue with getting a specific check!
Total Checks/Layer Checks
As it is right now, items are randomized into layers, or states. Each layer needs a specific item to access it.
Total Checks: The total number of checks in the game
Layer Checks: The total number of checks in your current accessible layer
See the section "How the randomization works" for more info on how the layers work!
Seed-specific stuff that must be noted down if you intend to share/reload the seed!
Seed: The starting point for the randomization process. The checksum is determined from this. The seed and checksum work together to ensure that the set of randomization is unique.
Checksum: The definite identification of the current active randomization, which derives from the seed and is identical between randomizer versions (unless the amount of checks changes between versions). This is the verification that the randomization set is unique.
See the section "Resuming a Seed" for more info!
Page 4 of the console is the item search! Here you can search for an item via its hex value and it will show you the location of said item. Useful for debugging, or cheating.
See the section "Using the item search" for more info!
Page 5 of the console has more debugging info as well as quality of life settings.
MDH skip: Skips the Midna's Desperate Hour segment of the game between beating Lakebed Temple and getting the Master Sword.
Faron escape: Removes the Midna trigger that normally prevents you from leaving Faron to Hyrule Field before completing Forest Temple.
Open HF gates: Opens the gates in Hyrule Field allowing for early Lanayru province.
Skip goats: Skips the 1st and 2nd goat herdings!!!
Skip twilight: Skips the 3 twilights. They are auto-completed when you get vessel. You receive any missed portals as well as the Ending Blow hidden skill (as that is required to beat the game).
Page 6 of the console has even more debugging stuff. For the most part, you can ignore this unless requested by dev/mod for bug reporting.
Resuming a seed
Currently, the randomizer requires a little setup to pick up where you left off in a seed. If you play on the Dolphin emulator, you can make a save state and skip this process, as save states remember your seed data. Otherwise, read on!
Page 2 of the console has custom seed settings. Go there and put in your seed data.
Example: Let’s say page 3 says your active seed is “76ab5bee1a56fdce”. When you want to resume that seed, your custom seed data should look like this:
Seed 1: 76
Seed 2: ab
Seed 3: 5b
Seed 4: ee
Seed 5: 1a
Seed 6: 56
Seed 7: fd
Seed 8: ce
Using the item search
Page 4 of the console has the Item Search tool. This is somewhat technical, but you need the item list and the stage list. You go to the item list page, do CTRL+F (or OS equivalent) and search for item you’re looking for (eg. “Ordon Sword”). It will take you to the part of the sheet that has that item. You want to look at the far left column, the “Hex” column. The number you want is after the “0x”. So in the case of Ordon Sword, that’s 28. Take that number and plug it into the “Search ID” value in the console. It will return a result of the stage name (eg. “F_SP108”). With the stage name, go to the stage list and search for that stage name. In the case of “F_SP108”, it will return Faron Woods. Furthermore, if you add “->” + room number, it will give you the room within that stage. In an example seed, Ordon Sword was in Room: 4. So search the stage list for “F_SP108->04” and that says Ordon Sword is in the Faron Woods Coro area (presumably either Lantern check or his bottle). At this time, Item Search does not support showing which exact check the item is at, just narrows it down to stage and room. The “ID” it shows before the stage is the vanilla item.
How the randomization works
As it is right now, items are randomized into layers. Each layer requires 1 item to access that layer (eg. Stallord layer requires Spinner). This means you are guaranteed Spinner before required to do Stallord. The same logic applies to all items. It ensures you’ll have the item required to access the next layer before needing to do the next layer.
The layers are in this order:
|Layer||Everything until||Item[s] to be placed before|
|2||Goron Mines||Iron Boots|
|4||Enter Lakebed||Zora Armor, Water Bombs|
|9||Darkhammer||Ball & Chain|
|12||Palace of Twilight first half||Light Sword|
|255||Everything||Everything else (including Agitha’s bug rewards)|
Each item check has two attributes to them: a “Source Layer” and a “Destination Layer”. A Source Layer asks “at what layer can I place items here?” and the Destination Layer asks “at what layer can I place the item that was here?”
Note: A different randomization system for 1.0 is in the works that is better than the layers.
Some items are not randomized currently. The following items will always be vanilla:
- Master Sword
- Light Sword (aka butter sword)
- Fishing Rod
- Horse Call
- Fishing Hole Bottle
- Small Keys
- Shadow Crystal (separate from Master Sword)
- Scoopable items (eg. Trill’s shop, SPR Pumpkin Soup, etc.)
- Snowpeak Ruins Pumpkin & Cheese
- Jovani Bottle
As the randomizer is still just a wee baby right now, you have to expect some issues in its current state. This is a list of known issues.
- Beating Goron Mines removes Dangoro and the Elders, so you can’t do anything past Dangoro or talk to the Elders, so you miss out on a lot of checks. So check that stuff before beating Goron Mines!
- Snowpeak Ruins map from Yeta can’t be obtained after getting the dungeon’s boss key. To avoid this, it’s best to talk to Yeta first!
For the most part, it’s safest to get every check in every location before doing a major event (such as beating a dungeon). That will keep you safe from most current and future issues.
Q: Are there any trackers for this randomizer?
A: Yes. There are 2 trackers in fact! Lunar Soap's tracker has a map and is more frequently updated, while Taka's tracker is good if you just care about marking off the items. Note that the trackers are not updated as frequently as the randomizer is, so they may lack some features.
Q: Are glitches required?
Q: I can't find the 3rd mist chest. I swear I looked everywhere!
A: It gets us all... until we see the image to the right ->
Q: Is Master Sword in the item pool/randomized?
A: Not yet, but it will be soon, or we may have option to start with it as well
Q: Why is this randomizer so annoying to set up?!? I’m mad!!!!!!!!!!!1!!!!
A: Calm your tits. It’s very early stages of the randomizer, so a lot is still influx at the moment. If you want to play randomizer, you gotta do the setup. Otherwise, you’re free to wait awhile for a better way to be made.
Q: Why is this not more like x randomizer??
A: Twilight Princess is a different beast. Every game has their quirks and TP is no exception. It’s also much less developed than many other randomizers in its current state (got its start in mid 2019)
Q: Can I use a premade savefile that’s after goats/fishing because I really hate the beginning stuff?
A: Yes, but be sure you didn’t use any randomized checks yet. And you have to enable randomization with R+Start inside the console to start it! The ideal spot to be is save after the cat steals your fish. When you load up that file, you can go straight into the shop and get 2 checks in the first 10 seconds.
Q: Does disabling the “rando enabled?” option and getting a few vanilla checks, then turning it back on, have a chance to break anything?
A: It could, depending on what those randomized checks were. Let’s say you turned off rando, talked to Coro and he gave you Lantern (vanilla). Turn it back on and you won’t get that check. But what if that check was Ball & Chain for example? You’d lose out on Ball & Chain forever.
Q: Can I read?
A: If you’ve made it this far, the odds are in your favor…
I can't find an item! Help!!!!!
If you can’t find an item, the first step is to use Item Search (see section “Using the Item Search” for info!). If you verified that you checked all locations in that area (or if for some reason, search doesn’t work as it should), it could very well be a bug. Here’s what you can do to help diagnose it:
In page 3 of the console, look at the “Function”, “Source”, and “Dest” values.
- If Function, Source, and Dest did not change for this item, that means it wasn’t randomized due to devs not knowing the trigger that gets called for that item
- If Source does not contain some “->” and the Dest line says “No replacement found for this source”, it means the item check wasn’t found, which could mean:
- The item check is absent from the code, or
- It could be in the code, but with incorrect data
- If Source looks something like “F_SP08->5->7” and the Dest says “No replacement here”, it means the item check was found and already collected, which could mean:
- The trigger for getting the item might have been fired more than once
- There could be a problem with the logic
- If source and dest look like “F_SP08->5->7”, then the item check was randomized properly, so the item should be in the world
If you can’t find the item and any of the above happen, make sure you’re on the latest version of the randomizer. Check at the top-right of the console window to see something like “v0.14a © AECX”. That number after the v is the version number. Check out the Official GitHub to download the latest release!
You can also join the Discord server for TP Randomizer here!
If you're playing the randomizer on the Dolphin emulator, you may find this guide useful. It has tips on lag reduction, how to use the recommended GCI folder and more.