Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

How does one ensure that every seed can be completed without glitches? The website says this is the case, so I wonder how they do it because it seems nontrivial to generate valid seeds efficiently.


This is referred to by OoT runners as "Logic" and you can get an overview here: https://wiki.ootrandomizer.com/index.php?title=Logic

There are people that do "No Logic" randomizers. That's a very different kind of game than the original base game.


The project has data about every location (doors, chests, etc.) and the conditions that must be met to allow access to those locations - for example [1]. From there the randomizer shuffles various entrances/exits and item locations around using rules that are mostly guaranteed to keep the game beatable.

[1] https://github.com/OoTRandomizer/OoT-Randomizer/blob/d1bb6c2...


Think of every location in the game as accessible only after certain events or items are acquired. You can create a directed acyclic graph (how build systems figure out dependencies!). You can randomize all the locations of items, as long there is still a way to get from the starting node to the ending node.


That's great!

Now does the DAG make sense to humans? Does it ever put things in absurd places, eg. a necessary dungeon key in a random grotto halfway across the map (or in another time)? Without clues, how would you know where to check next? Does the game help at all?

How out of sequence can the game get?

Is Master Quest just the moral equivalent of a single static random roll of the Randomizer?

Someone should do this with Majora's Mask, but in a way that can somehow combine the two games.


>Does it ever put things in absurd places, eg. a necessary dungeon key in a random grotto halfway across the map (or in another time)? Without clues, how would you know where to check next? Does the game help at all?

It can be configured with options as to how items are distributed. But yeah, in general anything can be anywhere. Without clues: sometimes there are clues, those silly gossip stones in OoT can output a message about the general location of a thing, but you check everything you can. You learn which items open up each logic path and then open every chest, do every quest, etc.

>How out of sequence can the game get?

Completely. There are randomizer settings that require glitches and sometimes if the logic is wrong (it is sometimes) there are unwinnable seeds.

> Someone should do this with Majora's Mask, but in a way that can somehow combine the two games.

Someone did:

https://ootmm.com/faq

There are a few multi-game randomizers out there.

Some of them even run on real SNES hardware


The Super Metroid / Zelda LTTP one is pretty famous, including having been played live at GDQ:

https://youtu.be/yWNGWrZ8wec?si=-d65Db2DySL9js0E


I have somewhere a branch that allows for "sharing" items between games as well. One could do an Oracle of Seasons+Ages game where your inventory is "the same" between both games, where possible (or extend to other games for group fun).


my favorite are the coop randos where 2+ runners are grabbing items for eachother and having a good timetime roasting eachother


I don't know about OoT, but in the case of Super Metroid Map Rando (https://maprando.com/), the logic is also quite detailed – see e.g. https://github.com/vg-json-data/sm-json-data/blob/master/reg... for one room – and comes with information about the difficulty of the tricks necessary to get from one place to another with a given item loadout, health, runways from connecting rooms etc.; having that, it is possible for the user to specify a desired difficulty, and one of several game modes then effectively ensures that the "next" item is located in a particular location, access to which has only been made possible by the current loadout and doing tricks of the given difficulty, so that players sufficiently familiar with the logic (and the tricks) can quickly narrow down the set of possible locations. Other game modes will be less strict in how items are placed, which in practice can mean that the game becomes "easier" by giving you a more powerful item loadout but "harder" in that figuring out where to go becomes less straightforward; and as a result, you end up with games that feel completely different just by having a different focus on the exploration and execution aspects.

I've find that it becomes quite an interesting spectator sport too, since people will compete on completing a given random map as quickly as possible, effectively having to perform difficult platforming tricks while also having to solve a non-trivial constraint satisfaction problem to understand the map layout, and different speedrunners have evolved different probabilistic heuristics for how to do that.

Some good showcases:

- The AGDQ 2025 finale: https://www.youtube.com/watch?v=it_xbTZHan8

- The grand finals of a recent tournament: https://www.twitch.tv/videos/2485240928


> Does it ever put things in absurd places, eg. a necessary dungeon key in a random grotto halfway across the map (or in another time)? Without clues, how would you know where to check next? Does the game help at all?

I haven't played this OOT randomizer, but with the Wind Waker randomizer I've been playing, you can configure things like that - so dungeon keys could spawn in their own dungeon only, or literally anywhere in the world, or just other dungeons. It also has settings that allow you to talk to an NPC to get hints where game-progressing items are.


From what I've seen of YouTube runs, it can make zero sense (think going into a random cave out in the wild puts you into the queen's bedroom etc.). I guess it must be most fun for people who've played the game so much it's already just a DAG to them. Or maybe they enjoy the surrealism.


The rules for what locations/checks can be reached in what situations and with what items are painstakingly encoded in a machine readable format: https://github.com/OoTRandomizer/OoT-Randomizer/tree/Dev/dat...

I don't know the specifics of the OoTR algorithm but in general they work by considering a set of items which are currently "available", and then progressively picking a random item to place only in locations which are reachable with that current set of available items (which is expanded with each placement).




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: