Create item pool barren
Here’s my PR for the barren item pool. The work isn’t finished yet, but it’s the start of an implementation. The goal of the barren item pool is to remove all useless items from the seed. Instead, everything is replaced with “Nothing.”
This new item pool works with the “all locations reachable” setting, meaning it’s much more enjoyable when playing with Required Only. With this combination, every item still present in the seed is absolutely necessary (logically) to finish the game.
In All Locations Reachable, only items that are always useless are removed, so that all checks remain accessible. There are a few exceptions: Fire Arrows, Blue Fire Arrows, and bottles are tested, because if these items aren’t required to beat the game, that means the locations are still accessible through things like Din’s Fire or an empty Ruto’s Letter.
This PR is still in draft, because I don’t yet know how to implement it with the All Goal option. For now, I’m implementing removal of always-useless items in a fixed way, with a few tests for the items mentioned above, and I empty things as much as possible in Required Only.
The goal here is simply to start exploring a possible direction for the implementation.
This is an example of seed with Required Only and Item Pool Barren.
OoT_E4144_RZ71H1T690_Spoiler.json
Testing
At the moment, the implementation isn’t finished. I obviously haven’t written any unit tests for it yet — I’ve only generated seeds using the item pool. I also tried it on realrob’s branch, with enemy shuffle, souls, and grass, and it works pretty well.