1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-07-08 01:54:21 +03:00
inform7/resources/Documentation/Examples/Spellbreaker.txt

16 lines
1.2 KiB
Plaintext
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Example: * Spellbreaker
Location: Out of world actions
RecipeLocation: Saving and Undoing
Index: A room where the game cannot be saved
Description: P. David Lebling's classic _Spellbreaker_ (1986) includes a room where the game cannot be saved: here is an Inform implementation.
For: Untestable
The answer is easy, but there is a trap:
Check saving the game when the location is the Vault: say "That spell does not work here." instead.
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 fairnot rigged against the player, that iswould 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*.