CYOA puzzles

Hi all, I’m currently refining a Twine game I’ve been working on, but have had trouble coming up with interesting puzzles that work in the CYOA format. Does anyone have good examples or tips they can throw at me?

I don’t think any puzzles in CYOA will really work without loopback, first of all.

I think the best sorts of puzzles involve experimenting with some system (large or small) to learn how it reacts, then prodding it to accomplish some goal. Fortunately (I’ve never used it myself) Twine seems to support variables, so you can allow the player to return to prior nodes in the story while still altering the world state. I think this is one of the best methods to balance maximizing player agency and minimizing combinatorial explosion of design and writing on the author’s part.

How about a small whodunit for starting out? A limited cast of characters to interview; in what order and exactly what questions you ask them affects things; then the player can ultimately make an accusation.

Yeah, I figured variables would be a must for any worthwhile puzzle. I’ve also thought of experimenting with systems, but the only thing that really comes to mind are trial and error babel fish type puzzles. And while I’m sure I could make one that’s entertaining (and less infuriating than the babel fish one), I doubt a game full of them would be interesting.

The detective concept is certainly interesting, I don’t think it would work in my game though. Or would it…

One of Porpentine’s recent games suggests a possible direction to explore; it had an interesting section where the text layout changed and then altered slightly as you did some stuff. It’s hard for me to describe. The scene is early on in this game, ifdb.tads.org/viewgame?id=fhfi3eolorfe1as I think.

In other words, in IF we’re used to manipulating a system and getting atomic feedback (because the unit of play in IF is that text chunk of 1 to n sentences). The obvious parallel in choice games is to manipulate the system and get back a new node (because that’s the unit of play), but maybe there’s even another technique where the whole node doesn’t change but just a part of it. Like altering an IF room description slightly.

It helps if you are able to implement some kind of randomness…not necessarily with outcomes, but collecting information or plot tokens. And as mentioned you do need to loop back somehow.

Take a look at storynexus’s wiki documentation for named examples of methods to progress a choice based narrative. “midnight staircase” “python” “grandfather clock” “carousel” are some examples.

At the very basic level, The Ascot (which I imagine you may’ve played already) shows how to make a good game (in my opinion) out of yes/no choices. The key things being that

there are people you meet and items you get that you wouldn’t otherwise, but you have to search the game a bit. This runs into a problem with an unwinnable state, but given the yes/no input, it is not hard to retrace. Perhaps it would be a good exercise to notify the reader of this if he gets too stuck.

It’s worth another look, through if you have played it. Though I don’t think (not really a rant, just a super spoiler)

[rant]the best ending can be achieved with Twine’s tools without a silly hack, if you wanted to port the game.[/rant]

I agree that loopbacks would seem to be a big part of the game so it is not brute force-able, and I’d also recommend having people you can annoy/entertain that can help or hurt you later. Perhaps even having a timer could be useful. Otherwise, there’s no big advantage over a CYoA from the 80s. Not that that can’t be well done.

Two games from the 2011 IFComp were pretty useful for seeing how to do a computerized CYoA.

The Play is an example of a game that is relatively CYoA that works because you keep coming back to important branch points, but the people are in different moods depending on what you do, and their dialogue is different based on their moods. I can see it being redone in Twine, and envisioning it yourself may be a good exercise.

The Binary is another example of how game states can change subtly over time with only so many concrete choices. It requires a bit more repetition to figure out, but I think both games do the job and in different enough ways that you can learn different things from both.

I always loved the puzzles in Kingdom Without End. Admittedly, a few were based on the typing in an inventory item keyword system, which let you “have a good idea”… But still, some really good stuff in there - lots of multipart puzzles with lots of little decisions.

The Sky in the Room, as someone mentioned, and some of my other games have “puzzles”, although they are more systematized ways of navigation than anything resembling a parser puzzle–things to struggle with where the focus is on being interesting rather than challenging. I wouldn’t call them puzzles so much as crystallization of narrative–a crowd becomes a flurry of links, a cyborg’s retinal overlay becomes manifested, someone’s body turns into a map that you navigate until you find the part you’re looking for.

Ned mentioned timers–this game was made in Twine and has a timer: disastrid.net/panic.html# I really like that element of urgency

I’m quite happy with what I did with THE HUNTING LODGE. It’s a Twine game where every time the player moves to a room, a monster moves to one. If they end up in the same room or bump into each other, the player dies. The player can listen to pinpoint the location of the beast to try to move safely but that deducts points (a system I’m not entirely happy with, but it does the job for now).

There’s also a timer at the end, where you have to escape the building while still avoiding the monster. I did it all without Javascript too, just Twine’s language. I was quite happy with myself when I got it working. I THINK it’s the first Twine game to feature a dynamic NPC but I’m probably wrong.

I wish Ectocomp 2012 would hurry up and finish so I can distribute the bug free version.

Clod’s Quest got a good response, although Duncan hasn’t written past the prologue. Unfortunately, the server where I was hosting the Undum version went down, and I haven’t reuploaded it anywhere. (Anybody know of a good site to do so?)