ronitsinha / almia-randomizer

Rom-hacking randomizer for Pokemon Ranger: Shadows of Almia
1 stars 1 forks source link

Randomizer softlocks at the 4 pokemon encounter in front of Kincaid's lab during the night event at Ranger School #1

Open pokemonlover1234 opened 1 year ago

pokemonlover1234 commented 1 year ago

When doing the night event during the Ranger School, I made it to the basement to drop off the 4 stylers. I encountered a Gardevoir, Dusknoir, Mismagius, and Banette. After the red exclamation point appears above Keith's head, the game softlocks and does not enter the encounter.

pokemonlover1234 commented 1 year ago

Image for reference 19624788-7d36-4e5b-8445-b5b347090ff4

ronitsinha commented 1 year ago

Thanks for bringing this to my attention. I'll take a look at this when I get the chance. When you say the game softlocks, do you mean the game just freezes, or does something else happen?

pokemonlover1234 commented 1 year ago

The music continues to play, the Pokemon's sprites continue their idle animations and the map cursor continues to pulse but otherwise the game is stuck. No button input does anything.

pokemonlover1234 commented 1 year ago

As long as I'm here, I had a couple questions and I'm unsure if I should open another issue for them. Whenever something is fixed, I assume I'll need to rerandomize the ROM. Do you know if saves from prior randomizations will be compatible or would I need to start over? Also, does the randomizer code guarantee all Pokemon in the glossary will appear somewhere in the world (i.e. does it guarantee 100% is possible)?

ronitsinha commented 1 year ago

From my testing, re-randomizing will preserve save-states (like on an emulator), I'll do some more testing to see how it works with in-game saves. As for the 100%, right now it is not guaranteed by the randomizer. This is because the randomizer will replace a pokemon with a pokemon of the same field move, with the same power or higher (so none of the puzzles are impossible). In order to guarantee 100%, I'd most likely have to restrict randomization to some extent.

pokemonlover1234 commented 1 year ago

If you were willing to implement that in some way, it could be an option on the executable, but it's up to you.

ronitsinha commented 1 year ago

It's something I'm considering, I would definitely love to have more user-customization options in the tool.

pokemonlover1234 commented 1 year ago

For future reference, if I have questions/suggestions, should I just make a new issue?

ronitsinha commented 1 year ago

Yeah that's fine. I am a bit busy these days so it might take me some time to get to each issue, but yeah feel free to make new ones.

ronitsinha commented 12 months ago

Just a quick update on this; There are a few places in the game where it seems like randomizing the pokemon will cause the game to freeze. One such example is the catching tutorial. I'm gonna try testing this by modifying the rom with another tool (AlmiaE) and seeing if the game still freezes. If so, then there might just be some parts of the game that cannot be randomized without significantly more work.

pokemonlover1234 commented 12 months ago

My guess is that cutscene-triggered encounters (such as the tutorial+basement ones that cause the softlock) are somehow looking for a specific hard-coded pokemon to trigger the encounter.

I'm planning on trying to partially reverse engineer the game to see why exactly the softlock happens (from the disassembler in Desmume, it seems to be caught in an infinite loop) and see if there is some way to modify the ROM to fix it.

That will probably take months though. If AlmiaE works and this is unnecessary, great! If not, the set of rooms with custscene encounters should be temporarily excluded from the randomizer (as you did with the catch tutorial). If I do figure out a way to fix it through the reverse engineering effort, I'll probably need a list of the problemaric encounters anyway.

DarkLuigi02 commented 4 days ago

Hello i have the same issue as pokemonlover1234 the game is stuck while the encounter of the basement what should i do (i encounter 4 ghost pokemon but it do the same thing)