erudnick-cohen / Pokemon-Crystal-Item-Randomizer

An item randomizer for pokemon crystal
29 stars 13 forks source link

Broken seed using normal randomizer and the Easy KIR Logic #7

Closed SuperBazsle closed 3 years ago

SuperBazsle commented 3 years ago

I used the KeyItemRando settings in the UPR and then the Easy KIR settings and I got this spoiler log. I had 7 badges and did everything I could and did not have any way to progress.

RNG Seed: SOQVXN6LPX Solution: Basement Key: Radio Tower Rockets Part 2 Bicycle: Old Rod Card Key: Dance Theatre Cut: Rocket Base Whirlpool Flash: Ice Path Waterfall Fly: Mr. Pokemon's Egg Fog Badge: Fuchsia City Gym Badge Glacier Badge: Azalea Town Gym Badge Hive Badge: Saffron City Gym Badge Lost Item: Hidden Machine Part Machine Part: Buena Item Pass: Cut HM Plain Badge: Vermillion City Gym Badge Rising Badge: Cerulean City Gym Badge S S Ticket: Coin Case Secret Potion: Super Rod Squirtbottle: SS Ticket Storm Badge: Goldenrod City Gym Strength: Sprout Tower Sage Li Surf: Goldenrod City Flower Shop Waterfall: Secret Potion Man Zephyr Badge: Olivine City Gym Badge Useless Stuff: Bike: GOOD_ROD Chuck's Wife: SUPER_ROD Fishing Guru: Mystery Egg Goldenrod Tunnel Rocket Attack: Whirlpool Itemfinder House: Red Scale Radio Tower Rockets Part 1: COIN_CASE Rail Pass: SILVER_WING Red Scale Dropped: Clear Bell Silver Wing: OLD_ROD Strength HM: BLUE_CARD Vermillion City Lost Item: ITEMFINDER

vicendithas commented 3 years ago

I ran through the logic of that spoiler log and it does indeed look like a softlock.

Based on what I'm seeing in that log, it looks like there's some logic error involving Cut, Surf, and/or the Vermillion Gym Accessing the Vermillion Gym (in addition to access to Vermillion City) requires either Surf or Cut access. In this file, the badges for those were available, but HMs were not (up to the point where the softlock occurs) Vermillion City's badge was the Plain Badge, which leads to Surf at the Goldenrod Flower Shop Cut was locked at the end of the Mahogany Rocket Hideout, which requires Surf to access.

I can try to look in the code to see if I can spot the problem, but @erudnick-cohen (the creator of the program) would have a easier time than me locating it.

vicendithas commented 3 years ago

I've been digging around in the code and playing with some things. I couldn't see anything obviously wrong with the logic surrounding Vermillion Gym or the Goldenrod Flower Shop. I noticed a couple interesting things though that I don't know are relevant, but I thought might be worth sharing.

First, in the list of modifiers for Easy KIR, it has both "No early RBY Kanto Gym Leaders" and "Definitely no early Sabrina". Unless there's some other interaction I'm not catching, this seems redundant.

Second, I thought to try to recreate this ROM by using the RNG Seed in the posted spoiler log. I actually got a completely different solution than the one posted. So I ran it again and got yet another different solution. All 3 show the same RNG Seed, but are different ROMs. I did notice that the randomization process took longer than normal. It appears that it tried using the given seed, which generated an invalid solution so it moved on to a different attempt. But whatever new RNG Seed it used on the subsequent attempt isn't printed into the spoiler log, so I have no idea what seed it's actually using. This makes it difficult to reproduce the problem.

SuperBazsle commented 3 years ago

Another thing I noticed (while it is a more minor thing) is that it says No early Sabrina and my only way to get 7 badges in that seed was to fight Sabrina seventh to trigger the Rocket sequence which ultimately lead to nothing.

vicendithas commented 3 years ago

Yeah, in that mode you shouldn't have to fight any Kanto leader (except possibly Janine) until 7 other badges are available. I'm guessing the logic meant for you to have access to Surf (which unlocks Pryce), but since Surf was ultimately locked behind itself, it broke that logic. We'll just wait and see if ERC can figure out what happened with that.

erudnick-cohen commented 3 years ago

The seed recreation bug vice mentioned is known, right now its better to try to recreate seeds using the plandomizer mode currently. This is definitely a bug, will be looking into this today. Something is definitely wrong here, since the randomizer does a verification check on each seed, which has clearly not worked correctly here.

erudnick-cohen commented 3 years ago

Hmmm, I think I see the issue here. The assumed fill logic was probably shortcutting the check on how to enter surge's gym, which caused the issue. A fix will be uploaded later today with the next version of the randomizer that should fix this. Thank you for reporting this issue.

SuperBazsle commented 3 years ago

Thank you for fixing this quickly! And no problem. Glad to help.

erudnick-cohen commented 3 years ago

Issue should now be resolved with V4.