The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Binary ROM Hacking (https://www.pokecommunity.com/forumdisplay.php?f=284)
-   -   Other Discussing measures to stop softlocks (GEN 3 ONLY) (https://www.pokecommunity.com/showthread.php?t=409346)

BirdstarCat13 May 29th, 2018 5:41 AM

Discussing measures to stop softlocks (GEN 3 ONLY)
 
So, a little backstory to explain what I'm trying to discuss here:

There's a general gaming culture YouTuber called Pikasprey. Some of probably might have heard of him, IDK. Anyway, he has a series called Soft Lock Picking, where he showcases some insane situation in a Pokémon game where the game would be (effectively) softlocked, forcing the player into a situation where they'd be either right in front of the Elite Four, or in some key location in the game, and be permanently stuck there. In his most recent episode which came out a few days ago, he explores soft locking Gen 3 (specifically Ruby and Sapphire, since in Emerald he couldn't break the lock and he didn't try to prove it for FRLG) involving having an Electrode that only knows Selfdestruct while stuck in the Pokémon Centre before the Elite Four. The key to the softlock is the fact that Flash and the Rods are optional items.

This led me to an idea:
Why not, as a feature of a hack, try to make the game as difficult to softlock, specifically in the manner I mentioned above, as possible? Make the game so hard to softlock that not even someone like Pikasprey deliberately trying to break it would be able to. Obviously in this case you'd want to make Flash and the Rods mandatory items (maybe an NPC at one point requires you to have a Gyarados with Surf on you, and Gyarados would only be able to be obtained from evolving a Magikarp that you caught, and you thus wouldn't be able to progress at all without having gotten one of the Rods) while also making it so HM users cannot be released *at all* therefore the player would always have a way out.

Feel free to discuss any other ideas you can come up with, ways to bypass them, and what can be added to a hack to prevent it in the replies, I'd love to gather as much information on this as possible in one place.

Keep in mind I'm going more for a back-and-forth thing like "What if the player tried to do X-Y-Z? They'd certainly have some issues there." and a discussion on what the hacker should do to make that situation either impossible to happen to begin with, or at least make it less likely, such as what I suggested above, with making Flash an item that the player is forced to take at an early point, as well as the Old Rod. Yes, I understand that softlocks like Lorelei's Dewgong and Pikasprey's Electrode are generally only going to happen if the player is trying to softlock the game, and I understand that you can never make a perfectly glitch-free game, since the player will always have the option to use cheat codes to get around mandatory cutscenes (ie using a warp code to skip the room that gives you Flash, even if it is a mandatory item in the hack) but I really don't care. ALL THAT I CARE ABOUT, and ALL THAT MATTERS HERE with this is hypothesizing the softlocks and finding out how to stop them. The likelihood of the lock happening is 100% irrelevant, so please stop bringing it up. :unamused:

MysteryGift May 29th, 2018 6:19 AM

I feel like the best way to go about doing this would be to just have very rigorous beta testers, including some who go out of their way to try and break the game. Then collect feedback on how they managed to break said game and then act on it - I don't think you'll ever get a generic "how to never softblock" answer for this thread as the nature of softblocking lies within the fact that each game is unique in its game design and therefore it's impossible to have ways of bypassing softlocks that apply to more than one game.

BirdstarCat13 May 29th, 2018 6:50 AM

Quote:

Originally Posted by MysteryGift (Post 9882322)
I feel like the best way to go about doing this would be to just have very rigorous beta testers, including some who go out of their way to try and break the game. Then collect feedback on how they managed to break said game and then act on it - I don't think you'll ever get a generic "how to never softblock" answer for this thread as the nature of softblocking lies within the fact that each game is unique in its game design and therefore it's impossible to have ways of bypassing softlocks that apply to more than one game.

Well, the idea here is discussing general preventions, such as forcing the player to have Flash, making TMs reusable, making Rare Candies abundant, etc

Enpatsu Shakugan May 29th, 2018 7:26 AM

That's essentially the current games. There's a reason Pikasprey only does this on gen 1 and once in 3.

Even for 1, it took a lot of setup to get ssuck, meaning almost no one would accidentally wind up stuck. You'd have to intentionally try it.

So if there's still a way to get stuck past gen 3, I can only imagine the effort it would take. It would probably take a genius just to come up with a way.

My point is, why? Pokemon is polished enough and only gets moreso each time. I've played the first 3 generations more times than any other without ever getting soft locked ever.

BirdstarCat13 May 29th, 2018 11:32 AM

Quote:

Originally Posted by Enpatsu Shakugan (Post 9882344)
That's essentially the current games. There's a reason Pikasprey only does this on gen 1 and once in 3.

Even for 1, it took a lot of setup to get ssuck, meaning almost no one would accidentally wind up stuck. You'd have to intentionally try it.

So if there's still a way to get stuck past gen 3, I can only imagine the effort it would take. It would probably take a genius just to come up with a way.

My point is, why? Pokemon is polished enough and only gets moreso each time. I've played the first 3 generations more times than any other without ever getting soft locked ever.

Clearly you missed the entire point of the thread, and never watched the video.

Pikasprey even mentioned that Lorelei's softlock doesn't happen in Pokémon Yellow, because the developers actively took measures to stop it. I don't see an issue with doing the same as part of a hack.

Enpatsu Shakugan May 29th, 2018 12:13 PM

Quote:

Originally Posted by BirdstarCat13 (Post 9882457)
Clearly you missed the entire point of the thread, and never watched the video.

Pikasprey even mentioned that Lorelei's softlock doesn't happen in Pokémon Yellow, because the developers actively took measures to stop it. I don't see an issue with doing the same as part of a hack.

I've watched all his videos, thank you.

My point was, you had to actively try to get into those predicaments.

And with hacks, that would require a massive team and tons of play testing. Gargantuan amounts of work for people essentially doing it as hobbies. I'll admit, I've noticed several exploits in every hack I've ever tried from simply playing, and those should be addressed... But these complicated soft locks, even the big companies take years to remedy them. The whole releasing HM Pokemon wasn't even addressed until gen 3.

Polish is a good thing, but you're demanding a lot from what are essentially free games.

BirdstarCat13 May 30th, 2018 7:48 AM

Quote:

Originally Posted by Enpatsu Shakugan (Post 9882468)
I've watched all his videos, thank you.

My point was, you had to actively try to get into those predicaments.

And with hacks, that would require a massive team and tons of play testing. Gargantuan amounts of work for people essentially doing it as hobbies. I'll admit, I've noticed several exploits in every hack I've ever tried from simply playing, and those should be addressed... But these complicated soft locks, even the big companies take years to remedy them. The whole releasing HM Pokemon wasn't even addressed until gen 3.

Polish is a good thing, but you're demanding a lot from what are essentially free games.

Again, you don't seem to be understanding the point. You're not actually trying to actively look for these situations manually. Th people that suggest the situations never actually tried it themselves, more than likely. It's all speculatory, as in "well what if you did xyz? the game would be unbeatable at that point" and not actually doing it. The point of the thread is to compile measures a ROM hacker could take to prevent those from being possible altogether. The game devs thought these issues were important enough to change, so, again, I see no issue trying to do the same. If you don't think this is worth it, then that's your own (incorrect) opinion and you can just ignore the thread. Your entire argument is pointless and unnecessary

"it wouldn't happen after gen 3" well I'm not talking about Gen4+, now am I?!?

"that's essentially just features in current games" yes and those features prevent softlocks and can easily be implemented in gen 3 with really simple edits, which is literally the entire point of the thread!

Enpatsu Shakugan May 30th, 2018 7:54 AM

Quote:

Originally Posted by BirdstarCat13 (Post 9882902)
Again, you don't seem to be understanding the point. You're not actually trying to actively look for these situations manually. Th people that suggest the situations never actually tried it themselves, more than likely. It's all speculatory, as in "well what if you did xyz? the game would be unbeatable at that point" and not actually doing it. The point of the thread is to compile measures a ROM hacker could take to prevent those from being possible altogether. The game devs thought these issues were important enough to change, so, again, I see no issue trying to do the same. If you don't think this is worth it, then that's your own (incorrect) opinion and you can just ignore the thread.

Easier said than done. I think it's all but impossible for create that ultimate perfect game you want.

BirdstarCat13 May 30th, 2018 8:03 AM

Quote:

Originally Posted by Enpatsu Shakugan (Post 9882909)
Easier said than done. I think it's all but impossible to create that ultimate perfect game you want.

I'm not trying to make it perfect. I'm trying to stop softlocks that are known. Obviously, I can't stop a glitch if I don't know it's there, but that doesn't mean I can't take measures to fix issues that I already see, which is one of the most important aspects of game design. What's wrong with brainstorming?

Enpatsu Shakugan May 30th, 2018 8:16 AM

Quote:

Originally Posted by BirdstarCat13 (Post 9882920)
I'm not trying to make it perfect. I'm trying to stop softlocks that are known. Obviously, I can't stop a glitch if I don't know it's there, but that doesn't mean I can't take measures to fix issues that I already see, which is one of the most important aspects of game design. What's wrong with brainstorming?

But if a hack is so radically different from the original game? Doesn't that just create more possibilities than before and render the old ones pointless?

I get your want better now, but to me, if a hack is only cosmetically different (IE, same region just new Pokemon) then the designer would be too lazy to bother with it.

If you're hacking, don't you generally make a whole new game? New gameplay, region, mechanics, etc. Thus how would the same soft locks be possible?

Let's use Pikasprey again. That playthough he did as Silver or the survior one, how could preventing the real games' soft locks help there?

BirdstarCat13 May 30th, 2018 8:36 AM

Quote:

Originally Posted by Enpatsu Shakugan (Post 9882930)
But if a hack is so radically different from the original game? Doesn't that just create more possibilities than before and render the old ones pointless?

I get your want better now, but to me, if a hack is only cosmetically different (IE, same region just new Pokemon) then the designer would be too lazy to bother with it.

If you're hacking, don't you generally make a whole new game? New gameplay, region, mechanics, etc. Thus how would the same soft locks be possible?

Let's use Pikasprey again. That playthough he did as Silver or the survior one, how could preventing the real games' soft locks help there?

Because the softlocks use fundamental game mechanics that (without rom hacking measures) remain unchanged in the core game. If, in a gen 3 hack, they don't force the rods or Flash on you, and they don't make Meditite/Medicham available in such a way that you can get out of the softlock, then the softlock is still possible since the measures which would prevent it are still not there.

Enpatsu Shakugan May 30th, 2018 8:57 AM

Quote:

Originally Posted by BirdstarCat13 (Post 9882945)
Because the softlocks use fundamental game mechanics that (without rom hacking measures) remain unchanged in the core game. If, in a gen 3 hack, they don't force the rods or Flash on you, and they don't make Meditite/Medicham available in such a way that you can get out of the softlock, then the softlock is still possible since the measures which would prevent it are still not there.

But the areas would be designed differently, different Pokemon around, etc.

To me, soft locks were always an unfortunate combination of core mechanics AND the individual game itself.

Remove one of those, and it's no longer possible.

BirdstarCat13 May 30th, 2018 9:49 AM

Quote:

Originally Posted by Enpatsu Shakugan (Post 9882961)
But the areas would be designed differently, different Pokemon around, etc.

To me, soft locks were always an unfortunate combination of core mechanics AND the individual game itself.

Remove one of those, and it's no longer possible.

So your solution is to make the player not have access to Pokémon that can OHKO themselves? I don't think that's an effective one but OK

Enpatsu Shakugan May 30th, 2018 10:26 AM

Don't you just white out?

I've never heard of such a flaw.

Enpatsu Shakugan May 30th, 2018 10:41 AM

Anyway, man, you bring up a lot of things I haven't heard of, but you seem to know what you're talking about, so... Why don't you offer your services to eliminate soft lock possibilities to some creators who reach out to you?

That might be the best way to go about it. Or offer to help on some of your favorites?

That's what I'd do instead of making a topic.

745x571 May 30th, 2018 3:11 PM

Well, with XSE and Advance Maps there is nothing you can't do. Now is a "slowly work your way out of the island" thing or is this a "tedious grind hack that makes you crawl through all 8 badges and E4" thing?

BirdstarCat13 May 30th, 2018 7:06 PM

Quote:

Originally Posted by 745x571 (Post 9883123)
Well, with XSE and Advance Maps there is nothing you can't do. Now is a "slowly work your way out of the island" thing or is this a "tedious grind hack that makes you crawl through all 8 badges and E4" thing?

This sounds like literal gibberish to me.

BirdstarCat13 May 30th, 2018 7:09 PM

Quote:

Originally Posted by Enpatsu Shakugan (Post 9883029)
Don't you just white out?

I've never heard of such a flaw.

Yes, but the softlock comes when you take your level 30 Selfdestruct Electrode into the E4 in Ruby, OHKO yourself against Sydney's Absol, then respawn right in front of the E4. You cannot go back through Victory Road as you'd need HMs to do it, and if Electrode is your only mon, then you're f_cked. It's *possible* to get out of it without Flash but it's incredibly difficult, all of this being stuff you'd see in Pikasprey's video. Again, the point of the thread is to hypothesize scenarios like this, and what the player could do to a) get deeper into it and b) get out of it, of course aiming to take measures within your hack to acknowledge the crazy stuff that causes the lock, then making it impossible (IE forcing the player to have Flash and/or the Old Rod)

745x571 May 31st, 2018 10:11 AM

Quote:

Originally Posted by BirdstarCat13 (Post 9883220)
This sounds like literal gibberish to me.

Well it looks like we're in the same boat. Let me try to break this down,

Are you going to overhaul everything so the only way you can progress is to do very specific and tedious things, or do you just want to have the tedious beginning and then normal-ish playthrough after that? For the second option, try playing the game backwards. Warp yourself to the E4 and try to escape from there. If you can't, then give your self a slight advantage until you can just barely break out. Then try to get fly from Winona so you can get Fly. Rinse and repeat.

Also, Advance Maps lets you change the over-world maps and stuff while XSE lets you change scripting things like what items/pokemon you get, events, etc.

BirdstarCat13 May 31st, 2018 1:42 PM

Quote:

Originally Posted by 745x571 (Post 9883565)
Are you going to overhaul everything so the only way you can progress is to do very specific and tedious things, or do you just want to have the tedious beginning and then normal-ish playthrough after that?

Some tediousness added is inevitable. An instance of something like Wally's Uncle forcing Rock Smash on you in ORAS seems a little out of place, but when you play through and realize that you absolutely NEED Rock Smash to get past a certain point north of Mauville City, it makes total sense. I'm basically trying to make that happen with stuff like Flash and the Old Rod, but the point of the thread is more along the lines of looking for those situations where a player can get stuck and be totally fcked in a game-ending softlock, then proposing what the hacker should do to make it less likely or impossible.

745x571 May 31st, 2018 2:43 PM

Oh, haha! For some reason I thought you were trying to make a near-soft lock game. The simplest way to prevent soft is to make HMs key items you and make them mandatory in the story. That way they cannot be deleted, deposited into the PC, and are not dependent on your current party. Red and Blue had a surfboard item when it was datamined. It's a free surf, and other than interaction with your own pokemon, I don't know why they scrapped it.

As for pokemon, maybe you could have an NPC in each town that will trade you any pokemon for something leveled to the area. The Polished Crystal rom is a Crystal hack that has wonder trade! It's in one town and it just generates a random pokemon to give you, but if you can have wonder trade in Gen 2, anything goes.

BirdstarCat13 May 31st, 2018 6:25 PM

Quote:

Originally Posted by 745x571 (Post 9883652)
Oh, haha! For some reason I thought you were trying to make a near-soft lock game. The simplest way to prevent soft is to make HMs key items you and make them mandatory in the story. That way they cannot be deleted, deposited into the PC, and are not dependent on your current party. Red and Blue had a surfboard item when it was datamined. It's a free surf, and other than interaction with your own pokemon, I don't know why they scrapped it.

As for pokemon, maybe you could have an NPC in each town that will trade you any pokemon for something leveled to the area. The Polished Crystal rom is a Crystal hack that has wonder trade! It's in one town and it just generates a random pokemon to give you, but if you can have wonder trade in Gen 2, anything goes.

Finally, the exact discussion I was trying to spark! :D The HMs bit is definitely a key point I'm implementing in my own hack. it's not hard to create a map/script combo that funnels the player onto a specific tile, then either

a) blocks the path with a "hidden item" PokéBall tile that is actually just the TM/HM (easy route, which is what I'd do, since I don't know how to script NPC encounters), or

b) has an NPC encounter that gives you the HM, with no option to refuse (much harder to script, like I sad I have no idea how to do that yet but it'd be a lot more polished despite stopping the player for much longer)

Alternatively, you can just make it so the default inventory has all the HMs and TMs already, which would make much more sense if you were targeting an audience of players that already know a lot about the game.

As far as the level curve is concerned, there's an easy fix that ShayMay mentioned in his Omega Ruby analysis (best 7 hours I've ever wasted TBH) and that's making crossroads with insane level differences - for example, the wild encounter rate on Route 22 (FireRed) can be increased to something like 75/255 (which would nearly guarantee at least one encounter) and then make the spawns a bunch of relatively speedy high-level Pokémon (like a wild level 44 Pidgeotto, or a wild level 40 Swellow, or a wild level 48 Raichu) so the player would never be able to make it through there without being near the end of the game (aka far enough through that the route becomes relevant, to begin with)

745x571 June 1st, 2018 5:24 AM

Quote:

Originally Posted by BirdstarCat13 (Post 9883703)
Finally, the exact discussion I was trying to spark! :D The HMs bit is definitely a key point I'm implementing in my own hack. it's not hard to create a map/script combo that funnels the player onto a specific tile, then either

a) blocks the path with a "hidden item" PokéBall tile that is actually just the TM/HM (easy route, which is what I'd do, since I don't know how to script NPC encounters), or

b) has an NPC encounter that gives you the HM, with no option to refuse (much harder to script, like I sad I have no idea how to do that yet but it'd be a lot more polished despite stopping the player for much longer)

Alternatively, you can just make it so the default inventory has all the HMs and TMs already, which would make much more sense if you were targeting an audience of players that already know a lot about the game.

As far as the level curve is concerned, there's an easy fix that ShayMay mentioned in his Omega Ruby analysis (best 7 hours I've ever wasted TBH) and that's making crossroads with insane level differences - for example, the wild encounter rate on Route 22 (FireRed) can be increased to something like 75/255 (which would nearly guarantee at least one encounter) and then make the spawns a bunch of relatively speedy high-level Pokémon (like a wild level 44 Pidgeotto, or a wild level 40 Swellow, or a wild level 48 Raichu) so the player would never be able to make it through there without being near the end of the game (aka far enough through that the route becomes relevant, to begin with)

Yasss I just finished ShayMay's video yesterday, time well spent. While I have no idea where this tutorial is, I know there is a scripting tutorial to check to see if a player has an item or pokemon in their team. Maybe the NPC will not allow passage until the HM is picked up.

Also, I don't know how hard this would be to implement, but hidden grottos are good for respawning items as well as pokemon. If you had one on each route, the player would never truly run out of poke balls, but they would have to wait an X number of hours to refresh so they could not spam it.

BirdstarCat13 June 1st, 2018 1:54 PM

Quote:

Originally Posted by 745x571 (Post 9883879)
I know there is a scripting tutorial to check to see if a player has an item or pokemon in their team. Maybe the NPC will not allow passage until the HM is picked up.

I think the idea of stopping the player until they get the item is good, but it slows down the gameplay and interrupts the player if they don't know how or where to get the HM (but if they did know how/where, they more than likely already picked it up)

Another thing that would prevent the softlock in Pikasprey's video would be not allowing the player's last two HM users to be put in the daycare, but that would be insanely difficult to add since it'd require a lot of ASM (which I'm 100% avoiding in my hack)

BirdstarCat13 August 2nd, 2018 4:36 PM

Quote:

Originally Posted by Enpatsu Shakugan (Post 9883029)
Don't you just white out?

I've never heard of such a flaw.

Hi, yes, hello, that is how you get softlocked.

~Have all HMs be on just two Pokémon in the entire playthrough.
~Have an Abra with Teleport and no other moves.
~Have your an Electrode that only knows Selfdestruct (You'll need Move Deleter)
~Heal at the Ever Grande Pokémon Centre.
~Fly to the Day Care.
~Use Teleport.
~Release Abra.
~Try to have an encounter or any kind of battle
~Electrode OHKOs himself
~You go back to Ever Grande.
~You cannot make progress.

This is why I made this thread. The solution to this particular lock (which I discuss in the main post) is that you make Flash mandatory, so the player always has it with them at that stage in the game, and the player would always have the option to give Flash to Electrode (the only HM it learns) to make wild MEditite and Medicham in Victory Road faint themselves so Electrode can gain EXP and level up, and learn new moves.


All times are GMT -8. The time now is 2:29 AM.


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.