Inform 7 Home Page / Documentation
§11.2. Saving and Undoing
A very few titles in the IF literature - very few being still too many, some would say - restrict the player's ability to save the story.
Removing the player's ability to UNDO is also a risky choice. Inform does provide the facility with the use option
Use undo prevention.
which makes it impossible to UNDO at any time (unless, that is, the player is playing on an interpreter that itself has a built-in UNDO feature -- these do exist). When it works, undo prevention safeguards a randomized story or combat session against brute-force solutions, but it also means that the player who makes even a minor mistake of typing will be stuck with the undesired results.
In many cases it may be preferable to use some subtler method to enforce random effects in a story. Several extensions exist for Inform that either allow selective manipulation of the UNDO command or rig randomization to prevent UNDO and replay attempts.
|Start of Chapter 11: Out Of World Actions and Effects|
|Back to §11.1. Start-Up Features|
|Onward to §11.3. Helping and Hinting|
The answer is easy, but there is a trap:
The trap is that "Before saving the game...", which might have been our first guess, does not work: because out of world actions are exempt from Before, Instead and After rules.
"Spellbreaker" pulls this unpleasant, but in context witty, stunt as part of a situation which is engineered to force the player to reason through a weighing-objects puzzle using the perfect strategy rather than by guesswork. The illusion that the situation is fair - not rigged against the player, that is - would collapse if the player could save the game and keep retrying possibilities in the light of knowledge gained from earlier attempts. The moral of this story is that any attempt to use in-world situations to influence out-of-world commands should be extremely uncommon.
A point for never saving the game
Here is one way to score this point with Inform:
That has the right effect, but it just isn't sneaky enough. Instead let us quietly keep track of how many times the player saves:
Sneakier, certainly, but now we could get the bonus even if the game ends earlier on, so finally: