Many games have an "exhaustion stat" that forces the player periodically to go back to a hub area, rather than keep pushing forward. Examples:
- In a simple hack-and-slash game, this is HP / potion supply. There's very few recovery options, and limited potion slots, so once you're out, you're out and soon dead.
- In traditional JRPG with healing spells, MP does this instead: You can heal up HP between battles, but while restoring MP with potions is possible, those are typically 10-100x more expensive than resting at an inn, so sustaining on potions alone is impractical before late-game.
- In modern western RPGs, armor damage is used: Repair vendors are only available in cities, broken armor becomes useless, and field repair is again exorbitantly expensive.
- In Malise and the Machine, they try to use lust damage for this purpose.
- In some H-RPGs, they use clothing damage, making your character eventually very weak and easily-sexed. Again, on-the-road restore options exist (items, or bringing multiple outfits) but are expensive to discourage use.
- Another option used sometimes is to have some rare status effects that are picked up "in the field" and can only be cured in town, so if you spend too much time outside, you'll be full of penalties.
Note that running out of exhaustion stat typically does not mean immediate gameover: It just makes the game more difficult, as it takes away options and/or makes failure happen faster.
Which sounds like what you're trying to achieve here - a fully rested party has no problem beating off (hurr hurr) the enemies, but things should become more difficult,
particularly if the player is [perhaps intentionally] choosing to throw caution to the wind and see what happens.
I'm using "town" loosely here - it could be a town, it could be a save shrine, it can be anything that requires a "detour" that the player would otherwise not make.
In a way, this also gives the game some measure of user-controllable difficulty, which is a good thing:
A player that likes a challenge may want to see how long they can hold out before they're overwhelmed, while others may choose to play very defensive and slow, because they'd rather avoid running into trouble.
There are, however, some issues to beware of with this strategy:
- Exhaustion stat generally shouldn't deplete within 1-3 battles: If players feel they have to run back to town after every fight or risk losing to RNG, they'll get frustrated quickly.
- Beware of boss battles: Nothing feels worse than to have your save in front of a now-unwinnable boss battle because your exhaustion got beat down before you ever got to the boss. Possible fixes:
+ Make it obvious when the player is about to enter a boss area, so they can keep a reserve of restore items to fill exhaustion back up before engaging the boss
+ Provide a full-restore-and-save shrine before a boss encounter
+ Design levels so that the player unlocks shortcuts as they go through (gathering keys, opening doors, activating teleporters...) so that they get opportunity to return to town without losing progress, and can eventually go straight from town to the boss with few encounters in between that drain exhaustion.
In this game, as far as I've seen, MP does seem like a suitable exhaustion stat, perhaps combined with some statuses (clothing destruction, for instance).
Which does indeed mean that infinite MP potions sort of breaks what you're going for.
But rather than preventing the player from buying them entirely, what I'd suggest:
- Put the carry limit for MP potions at 10 or 20 rather than 99. This turns potions into limited supply, and makes "go back to town and fill up on potions" an exhaustion-recovery mechanism. Make sure that high-level potions are expensive, so players can't just combo different strengths (consider 100 -> 500 -> 2500 or so)
- Make enemies drop potions very rarely, if at all - you'll want to avoid a situation where players keep farming an area to sustain up, it'll feel boring after a while.
- Maybe also put the carry limit for clothing restore items at 5.
Also for this particular game, though, potential problems:
- You'll want to avoid accidentally turning HP into your exhaustion stat: Because HP=0 means immediate death, it's not a fun "now it gets harder" experience. So consider making HP potions cheap and plentiful, and/or provide [out-of-combat?] abilities that can refill HP at a small MP cost, which would still build up over time. Perhaps also make the party regain HP slowly by walking around, and/or giving them slow in-combat HP regen.
- You have recoverable-gameover state, which requires extra care. What you want to avoid is a situation where the player runs into exhaustion, gets partykilled, and then gets frustrated because they're now fully exhausted and only have 1 usable party member, so completing the recover-your-party path becomes almost impossible. Possible fixes:
+ Make partykill provide a full exhaustion restore, so your last character at least has a chance for a bit
+ Place weaker encounters on the recover-your-party path, or scale down encounter size based on current party size, because the party is considerably weaker while recovering
+ Provide alternate paths / dodge room so players can learn to run the walk-of-shame without any encounters until the party is back together. Maybe some of these shortcuts are only accessible to 1-character parties, or come with humiliation/penalty/cutscenes that makes them inadvisable during normal play (say, squeezing through a gap in the perverted tentacle hedge)
+ If all else fails, provide an (optional!) "resurrect at spirit healer and incur resurrection sickness" button, perhaps if the player has died during party recovery 5 times in a row - they should get a choice that they can go back to town and wait until the party members crawl back by themselves - incurring heavy penalties, but allowing a frustrated player to get back to "the real game" without constantly bashing their head into an elevated-difficulty wall.