Handling puzzle actions with remote results

Hi all,

Working on my first whale (to me it looks like my mountain of notes and “things to consider” is growing indefinitely, I guess I have to draw a line sometime soon). One thing I am particularly struggling with is how to handle actions with remote results, where I consider the “remote” aspect to be either remote in place (i.e. push a button, and somewhere else a door opens) or in time (i.e. push a button, and a timer starts ticking down, until it hits zero and something “interesting” happens). Now I do not think this is a problem if results can be reverted (close the door / stop the timer by pushing said button again), but I find if I want to make it part of a puzzle then I run into complications.

For example, if there is a dependency between such results, how would I make it “fair” to the player? E.g. we need to open the silo door before we launch the missile. Now imagine it will take a few turns before the player realises the error made. Then of course we can go back when we allow infinite undo but somehow I feel that is not really the best way to handle such things.

Also, does it make sense to try to avoid unwinnable situations? i.e. either not allowing the game to reach such a state, or warning the player, which to me sounds like an easy way out (if the player somehow missed the warning or its intent then the player might end up at the dead end anyway and give up). Actions with local results are easy to handle (don’t step into the lava… or if the player insists, well, …), but I am not sure how best to deal with the remote ones.

Feedback is very much appreciated!

2 Likes

This seems to me like it breaks down into two separate problems/questions: 1) how to provide sufficient feedback to the player when using these kinds of remote effects so that the puzzle feels fair, and 2) whether to design the game such that it’s possible to make it unwinnable. This second question isn’t specific to using remote triggers, of course, but it’s true that the design problem gets trickier when you start throwing in timers and the ability to affect things at a distance.

Flipping the order here, it to a certain extent depends on the audience you’re targeting but my sense is that the “mainstream IF” answer would be to prevent the game from being made unwinnable unless you have a really, really good reason for it – say, multiple playthroughs being part of the intended experience in a time travel-themed game, that has tools built in to make the boring repeated parts less annoying. I’d defer to others who are closer to the more old-school text-adventure side of things speak to whether that assumption would hold if that were the intended audience, but even still, I have to say it’s probably good design to prevent the game from being made unwinnable so long as there’s a logical reason to keep things on track (like, in your example, whoever designed the missile launch system was presumably smart enough to include a failsafe that aborts if the silo door is closed!) Regardless, if there are particular puzzles or setups that you’re having a hard time figuring out how to keep from locking the player out of victory, I’m sure folks here would be happy to help brainstorm solutions for those if you share the details!

As to the first question, I think this largely depends on genre and the complexity of the puzzles – like, if you have five different remote triggers affecting three different devices across a map with more than a dozen rooms, you’ll probably want to include quite a lot of feedback, whereas if you just have one switch that will cause a door three rooms down to visibly open, you probably don’t need to do much more than indicate that the switch seems to have done something.

I will say that as a player, having to hoof it around a map just to see what a switch or button did is often irritating, all the more so if there’s no indication why the system was built that way without a monitor or sign explaining things, or a voice-over announcer initiating a countdown or something like that – it can feel artificial. Obviously games like Myst and Riven included a lot of puzzles like this, so there’s an audience for them, but personally I never really got on with them, so you might have better luck getting thoughts from folks who do like these kinds of designs.

One final thought that maybe could help ground some of the complexities here is that it might be helpful to think through why you want to separate things out such that remote action is needed. If it’s just to obfuscate cause and effect, that might not be a good reason, but it might be needed to set up a timing puzzle or a navigation puzzle or something like that (say, you need to get from one side of the missile base to the other to launch the rocket after you opened the door, but there’s an enemy who’ll come out of hiding to close it if you haven’t yet dealt with them). In those kinds of situations, the added complexity feels worth it, but it also makes the “true” puzzle a little more concrete and easier both to design, and for the player to understand.

Hope this noodling is somewhat helpful!

4 Likes

Depends how oblique you’re trying to be.

If a player is in a prison complex and they are in a control room with hundreds of switches that unlock cell doors, it makes sense they every one of those would all be labelled. There might even be lights that glow or change to indicate status or a TV screen that shows them the results of their action or a magic disembodied voice that intones “Cell 301 is now unlocked.”

If they’re in a dungeon where all the tech is magic and analog, you might want to be kind and narrate: “You hear the ratcheting of gears and the sounds of that big portcullis in the west wing rattling its tracks.”

If you’re trying to be obscure you can make this even more vague: “You hear metallic noises to the west.

Even just have the player sense something or make a change in the interaction: “The lever goes clunk. That must have done something. You can’t move it back so that must be correct…

At minimum you should signal the player of a world-state change somehow, and IF tropes and conventions totally forgive stuff that wouldn’t even make sense realistically - even if it’s not explicit. I pull a lever with a smiley-face sticker next to it, hey that door back there had a smiley face sticker on it…

Even if you want to be vague, err on the side of not letting the player miss something. If I push a green button on the west side of the map that just makes a faint click and then am re-exploring the cell block, a message like “You notice the middle cell door is open now. Maybe that green button you found earlier controls it?” is very helpful.

5 Likes

Thank you Mike and Hanon for your feedback, more things to ponder (in a good way!)…

I feel my example was misleading in a way. I do not know if I am allowed to discuss mechanics for a game I plan to enter into a competition (It all started out shortly after I joined this forum where a particular post got me almost ROFL and I just had to make a note of it and thought “hmmm maybe I can make a game out of it”.), but as simple as I can put it:

The protagonist has to “put things right” because she is being blamed for certain mishaps. In particular, certain things have been moved across the map (e.g. a wolf, a goat, and a cabbage). Now she can travel across the map and try to trigger one of these three to return to its rightful place. However if she does this in the wrong order (e.g. she tries to relocate the goat first, which would then end up at either the wolf or the cabbage), she would only realise her mistake when going to the goat’s presumed location, only to find either a well-fed wolf, or a well-fed goat and either goat or cabbage missing in action.

I agree with making games winnable at all times (have played too many games of the other kind, and I know how extremely frustrating those can be), so would it make sense for the game to e.g. point out relocating the goat might be a bad idea and please check out its destination location first?

1 Like

You can certainly discuss mechanics here to your heart’s content. The only thing you might want to be careful of is some competitions (specifically IFComp) require that the game has never publicly been released in part or in full before the competition. This just means you don’t post playable game or links to playable files or your entire source code on this forum or any other social media. You can send links or game files via private message here, or many people work with testers by email - you need to know exactly whom has had access your game before release in the competition. (You can post selected excerpts from code you need help with, it just can’t be the full game.)

Some people also tend to be cagey about plot/story/puzzle detail pre-release. You may wish to conceal some of that publicly - you can post ‘pseudocode’ snippets for example that don’t reveal game elements directly if you’re just needing help with how things work (exactly how you likened your puzzle structure to wolf/goat/cabbage). You can also spoiler-tag or fold text behind a details tag so people won’t see it directly.

Usually players who don’t want to be spoiled aren’t going to dig through testing posts here.

1 Like

Got it. Indeed the puzzle elements differ from the example. But the point remained: triggering the relocation of the object happens at the origin and the player would not know what happened (the remote part) unless they visited the destination afterwards. By then the damage would have been done. Actually this was not part of the original design until I realised when playtesting that allowing the wolf and goat to coexist in the same location would not make sense. Of course I will pretend it was originally all part of the Grand Plan :D. Thank your for your feedback, I think I have a workable solution now. Now I only need to implement it. I can only hope my command of the English language is sufficient for the task at hand.

I do want to strive for consistency in the world I am trying to build. So with a few exceptions it should all make sense somehow (No depictions of androids in ancient Egyptian map chambers and the like). Although some things like “breaking mimesis” are still a bit vague to me: are meta commands like “score”, “about”, “undo”, “save” etc not breaking mimesis by definition? And if so, is it OK for the author to treat those commands likewise?

Players are typically less annoyed when an unwinnable state is immediately obvious, an can be undone with one or two “undo” commands, though some players don’t even like that.

The old school games were annoying because they could often be rendered unwinnable without any warning to the player at all. One of the games in the enchanter series required the player to put an object in a mailbox very early in the game. There was no immediate reward for doing so, and it was not obvious to most players that you had already lost the game on the tenth turn if you failed to take that action. That sort of puzzle design is now considered bad form

3 Likes

Well, not until the Ptolemaic period at least. It’s the Greeks who introduced advanced computer science to the region.

1 Like

These “meta commands” are generally taken to be part of the medium rather than the message, so to speak. They’re not part of the game world any more than the fact that it’s being described in 14-point serif text on a white background in a Firefox web browser. (Or, for that matter, the exact words being used! The characters in a book usually don’t know about the author.)

A lot of early games blurred the lines here (if you try to save during a certain puzzle in Spellbreaker, you’re told “that spell doesn’t work here”), and as a result, even fairly modern games tend not to distinguish between “error messages from the interface” and “error messages from the world”. But I think it’s good practice to make it clear what’s part of the game (“you try to take the pedestal, but it’s fixed in place”) and what isn’t (“not enough disk space to save to”).

Now, there’s also a particular style of interactive fiction where there is no distinction between the medium and the message. There are the “wordplay games”, for example, where the exact words used to describe things, and the exact commands used to manipulate them, matter within the game world itself. Counterfeit Monkey lets you manipulate the individual letters in object names, for example, inspired by a puzzle in an Infocom game that lets you remove the letter T from any object (need spiritual guidance in the middle of the forest? Turn a RABBIT into a RABBI). Ad Verbum and most of Andrew Schultz’s oeuvre (which I definitely didn’t just misspell several times in a row) put constraints on the commands you can use, and have the world itself react to things like alliteration and anagrams.

Separately from that, there’s a small number of games where actions like SAVE and RESTORE actually do get in-universe responses—not just meta jokes, but things people in the game can comment on. Slouching towards Bedlam is the most famous of these, and I actually can’t think of any others off the top of my head.

seriously, the first known instrument whose can be rightfully named “computer” was actually from ancient greece:

Best regards from Italy,
dott. Piergiorgio.

2 Likes

I think modern design sensibilities suggest that yes, with the possible exception of prompt “GAME OVER” situations, the game should never allow itself to be placed in an unwinnable state.

I do think that one option that seems to be somewhat uncommon in the IF space (compared to gaming in general) is a Souls-like death-is-just-another-kind-of-progress sort of mechanic. Stripping out all of the scenery and trappings, the way this sort of thing works (in a nutshell) is that the game creates a checkpoint of the game state at some “known safe” point (e.g., at a bonfire in a Souls game). Then when the player gets clobbered/blown up/falls off a precipice/whatever, the game reverts most things back to the checkpoint state, with a few specific exceptions (inventory is always “current” and persistent, souls are always transitory and are “dropped” on death). How well that maps to any specific scenario you’re trying to implement in an IF game I don’t know. But I think it’s gotten to be a familiar gameplay loop to video game players in general.

If you’re feeling ambitious, another alternative is to re-write any path that would be a “mission failed/game over” state as “just” an alternate narrative path. The Witcher franchise does this in a lot of places, most notably in The Witcher 2 where an entire chapter of the game is completely different (setting, characters, quests) depending on which faction the player decides to side with. No “failure mode” just “different story”.
This can get out of hand if you’re not careful, but in IF you at least have the advantage that new assets are fairly easy to create.

Finally, it’s probably worth noting that if you’re clever you can get away with what’s sometimes called a “magician’s choice”: you give the player a choice, but it turns out that the same thing happens regardless of what they choose. Note that this isn’t the same thing as just doing a “but thou must” sorta thing in preventing the player from making the wrong choice. You let them make the choice…and then it just doesn’t matter. And you don’t necessarily have to let them know that this is what’s happening. The Telltale Walking Dead games frequently do this sort of thing. Often, I think, they probably did playtesting (or just educated guessing) about which choice most players would choose, and write the “big” things/consequences following that choice…and then the other choice gets covered by, for example, the other characters overruling the player’s decision if the player picked the “wrong” one.

Dunno what exactly you’re trying to do, and so how you can shuffle things around to work in any of the options.

1 Like

This thread might interest you. We’ve had some good conversations about fairness, death, and recovering from failed games this past year.

2 Likes