ori-community / wotw-seedgen

Seed Generator for the Ori and the Will of the Wisps randomizer
5 stars 9 forks source link

Skills Needed for Teleporters #71

Closed Coder23848 closed 2 years ago

Coder23848 commented 2 years ago

This might be a noob question, but why do certain teleporters logically require skills? The Depths teleporter, for instance, is only considered usable if you have Glide, and all of the Teleporters in Wastes and Ruins require Burrow. since most of them have at least one pickup nearby that doesn't require their skill, these teleporters frequently produce logical gaps.

SiriusAshling commented 2 years ago

This is a design choice to reduce the chance of a certain, usually undesirable, type of seed.

For instance, Mouldwood Depths is an area uniquely locked by the Glide ability, since - unless using out-of-bounds techniques - nothing else can replace it to open the Mouldwood entrance.

On this game's large map, finding a random item can be an excrutiating task, perhaps enjoyable a couple times, but very quickly annoying when playing many seeds.

The randomizer accounts for this by placing hints that narrow down the general area of the map such items are in - for instance, the player can complete the Wellspring escape and buy a hint from Opher to learn the general area Glide is located in.

However, the Mouldwood Depths teleporter could circumvent this design, since if the teleporter is placed before the Glide ability, Glide could be placed inside the Mouldwood Depths, strictly requiring the teleporter. In this case, buying the hint would not help you, it would only tell you that you have to find the Mouldwood Depths teleporter, which has no hint and may be anywhere on the map.

Requiring the Glide ability on the Mouldwood Depths teleporter connection prevents this scenario, and ensures the integrity of our hint system.

Coder23848 commented 2 years ago

Proposal: If #57 is implemented, these requirements could be moved into a "better hints" header, so that people who don't use hints can simply disable them. Alternately, the header could use states, in a similar way to how the No Combat header logically skips bosses.

Also, shouldn't the Mouldwood Depths teleporter accept the DepthsOpen state as well as (or possibly instead of) Glide? This would allow headers that open the Depths door to resolve the requirement. The same goes for the BaurSneezed state in Baur's Reach.

SiriusAshling commented 2 years ago

Yeah it's a case where more convenient logic modifications would be useful. I'm not sure how exactly header-based logic modifications would be implemented, "add a path to logic" might be simpler to do than "remove a path from logic" since the latter might need more conflict handling. Depending how that shapes out, a settings to turn off skill requirements on teleports might be the easier implementation since it could add a path requiring only the teleporter.

I'm not sure the states should be considered as alternatives for the skills because simpler rules are generally better than more complex rules, especially on design elements that are unintuitive in nature. The "Skills for teleporters" rule is something many players come across and want to memorize, for which the simplicity is quite valuable.

Foopyo commented 2 years ago

Also, shouldn't the Mouldwood Depths teleporter accept the DepthsOpen state as well as (or possibly instead of) Glide?

This is a bit more nuanced: while it's true that DepthsOpen solves by getting Glide, you also need a logical access to the EastHollow.AboveDepths anchor in order to solve it, so that state is more restrictive than Glide itself.

Foopyo commented 2 years ago

Closing the issue since the initial question got answered and how to change that behavior isn't linked to the question.