Bingo hints

From OoT Randomizer Wiki
Revision as of 18:56, 8 February 2022 by Flagrama (talk | contribs) (→‎Known issues: rename to former issues as these seem to all be fixed in the two most recent stable builds)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Bingo hints

The goal of the bingo hint distribution is to balance the searching for the specific item goal aspects which form the core of randomiser with being able to complete the tasks on the bingo board. This is achieved by dividing goals into two categories: find-style goals and do-style goals. Find-style goals are ones which are completed by finding an instance of an item which can be found anywhere in the world (bound by glitchless logic, of course). This includes goals such as “Longshot”, “Quiver 40 OR Bullet Bag 40”, etc. These goals directly involve searching through the world, and therefore hints will not directly help with these goals. Do-style goals are ones which require you to complete certain tasks, or find items constrained within a certain area (which we discuss more in detail in the board-specific section). This includes goals such as “Defeat All Lizalfos in Dodongo’s Cavern”, “3 Skulls in Water Temple”, “Map and Compass in Jabu”, etc. These goals involve more execution and techniques, and hints can help ensure that you have the items required to complete these tasks. It is worth noting that the bingo hint distribution does not affect the logic of the seed at all; these hints merely indicate where the items have been placed, they do not change the placements. Both distributions make use of a type of hint known as named-item, which is described afterwards.

Generic bingo hint distribution

When not supplied with a Bingosync URL when generating the seed, the bingo hint distribution includes a default list of items that can be hinted, which covers most of the potential items needed for do-style goals. This list includes:

  • One Hookshot
  • One Bow
  • One Bomb Bag
  • Two Strength Upgrades
  • One Bottle (can contain anything except Ruto’s Letter or Big Poe)
  • One Magic Meter
  • Boomerang
  • Megaton Hammer
  • Mirror Shield
  • Iron Boots
  • Hover Boots
  • Zelda’s Lullaby

Board-specific hint distribution

When provided with a Bingosync URL during seed generation, the generator attempts to create hints for the items needed to complete the do-style goals found on that board. The generator looks through every goal found on the board and looks at the pre-defined list of required items for that goal as found in https://github.com/TestRunnerSRL/OoT-Randomizer/blob/Dev/data/Bingo/bingo_goals.json. The final list of items to be hinted is the combination of all required items for every goal on the board, and each of these is guaranteed to be hinted (barring the hint overlap as mentioned in the next section). Note that this list is only additive; the goals on the board can only add more items to be hinted, they cannot remove items from other goals (this includes find-style goals which are effectively pointed to by the hints). For example, it is entirely possible to have “Longshot” as a goal on the board and yet still have hints point to both progressive Hookshots if other goals require it.

In order to create this list of required items, some assumptions were needed (the bingo preset is compatible with these assumptions, but other settings can be possible):

  • Every goal is obtained glitchlessly, in the way seemingly intended by the OoT Devs. For example, “Get to the End of the Light Trial” requires hints for all three Strength Upgrades.
  • If multiple items can be used to clear an obstacle, then none of them are required to be hinted. For example, the crystal switch near the entrance to Adult Spirit Temple can be hit with Hookshot or Bow, and so neither is required. Note that this only includes infinite sources, and so items such as Bombchus are not considered as being able to clear the obstacle (regardless of whether or not chus are in logic).
  • Item requirements only take into consideration what is needed once you enter the area, not the items needed to get to said area. For example, “All 5 Skulls in Shadow Temple” does not provide a hint for Nocturne, since that is not needed once you enter the dungeon.
  • All dungeons are assumed to be vanilla (i.e. non Master Quest).
  • Maps and compasses are assumed to be randomised within their own dungeon, and so you need the items to access every check in the dungeon. For example, “Map and Compass in Spirit Temple” requires Mirror Shield, since it is possible for either to be in a mirror locked dungeon check.
  • Similarly, it is assumed that goals including skulltula tokens in each dungeon require defeating gold skulltulas in that specific dungeon (regardless of the skullsanity settings). For example, “All 5 Skulls in Water Temple” requires Song of Time in order to access the skulltula in the area past Dark Link, even if the reward for defeating that skulltula is not a token.

Named-item hints

Named-item hints are a type of hint available in the randomiser that is used as the basis for both board specific and generic bingo hint distributions. This type of hint indicates the area in which one instance of a specified item can be found, not taking logic into account. For example, you could get a hint which states:

   They say that Hover Boots can be found in Kakariko Village.

which indicates that the only set of Hover Boots are somewhere in Kakariko Village. Some things to keep in mind about this type of hint:

  • Logic is not taken into account when providing the location. In the case of unique items (such as the hover boots in the example above), this is less important. However, for items with multiple copies, like Slingshots, Bows and Bomb Bags, it is possible for the hints to point towards a self-locked copy of that item. For example, the hints could point to a logically Bow-locked Bow in GTG or Forest.
  • Named-item hints cannot point to items already hinted, and so some item hints could be missing if another hint points to that item. Depending on the version of the bingo hints, this can include the always hints (online Stable build 6.0 does not include the always hints, but online Dev build 6.0.12+ should have them). The order of the hint types in the bingo hint distribution is: trial, always, named item, way of the hero, barren, entrance, sometimes, random, item, song, overworld, dungeon, and junk. However, trial, way of the hero, and barren hints are fully disabled, and all types other than named item and junk items can only be placed via conditionals in the generator.

Both versions of bingo hint distributions supply a list of items, each of which is hinted via a named-item hint, and each hint of which is duplicated to appear in the world twice.

Former issues

Below are some former problems with bingo hints, which can cause seed generation to fail under certain circumstances. The version number for the Dev build that includes the fix is given after.

  • If generating board-specific hints, if the board contains the goal "All 8 Death Mountain Area Skulltulas" then hint generation will fail. This is due to an error in the name of the item requirements for that goal. (fixed in version 6.0.12)
  • Starting items, starting equipment, starting songs, and Skip Child Zelda can cause either board-specific or generic bingo hints to fail to generate. This is due to the hints trying to provide a hint for an item that isn't in the world. (fixed in version 6.0.80)
  • Some combinations of settings can result in too many Always hints being included, which can cause generation to fail with board-specific or generic bingo hints. This is due to the total number of hints exceeded the 40 gossip stones in the game. (fixed in version 6.0.80)
  • In versions 6.0.80 to 6.0.82 specifically, the hint distribution was incorrectly set as "custom" regardless of actual hint distribution chosen. This resulted in board-specific and generic bingo hints not having any item hints, and only giving junk hints. (fixed in version 6.0.83)