Is there any good in-depth do's and dont's guide for IF?

To be fair, novice players are more likely to assume that any problems are their fault because they don’t necessarily understand what’s valid input. Someone who has played plenty of parser IF will know that TAKE THE BALL should be valid and elicit an appropriate response from the parser, but someone who hasn’t might wonder if they’re supposed to just write TAKE CHAIR, or if it only recognises PICK UP THE CHAIR or whatever. But they’ll experience frustration all the same whether they blame the game or themselves.

Yeah, true on both counts.

I’m not sure whether you think this is bullshit because “keep the player’s confidence” is not a task with a set of clear instructions attached, or because you think it’s not important to do. I agree it isn’t a precisely defined task. I know some players get lost when others don’t; I know that games of mine that worked for many players failed for a few others in exactly this way.

…I don’t know? Maybe that’s true, but I remember thinking repeatedly, “I do not understand what is going on.” I’ve just replayed the opening of the game in order to be able to get at the details of this; here as near as I can reconstruct it is what it felt like the first time:

  1. I’ve quit my job on the force and I’m driving, but I don’t know where I’m going or what I expect to do there. It seems to be urgent, but I don’t know why.
  2. I go off the road, whereupon I struggle a bit with the parser to get out of the car.
  3. I return to the road, where a car pulls up and someone called Val encourages me to get in. Why is she here? Did I miss a step where I was supposed to signal her to fetch me? Does she somehow know I’ll be here anyway? For that matter, who is she? On the one hand, the narrator appears to recognize her; on the other hand, he gives me this description:

…which sort of suggests that he doesn’t really know her that well, since he can offer no details about her other than physical features that he seems to be notice as if for the first time (“The first thing I noticed…”, “…for all I knew…”). It does hint that she’s a bit sinister (“unnatural”, the ambiguity about her age, the un-reassuring reference to Venetian masks). It’s a noir-styled description that (to me) reads as “you have just met the femme fatale”.

And then, I fear, the last sentence is so structured that it made me imagine the protagonist kicking Val in the face, so I needed to put on the brakes and reparse. An unfortunate application of period slang, at least to my ear. But that’s beside the point.

  1. We arrive at the house and she tells me she’s going to introduce me to Alan. At this point I’m getting increasingly nervous about plot clarity. I now really have no clue what is happening at a social level, and the story keeps ratcheting forward as though I do know. Why are we at this cabin? Who is Alan with respect to me or to Val? Did Val bring me here just because she thought it was a sensible place to go after I’ve had a crash, or because we need shelter from the weather? Is this where I was going earlier or is it a different place, and if it is where I was going earlier, why was I going there if I don’t know the host?

I get a look around the driveway here, with a room description that begins “We stood… (etc.)”, but Val has apparently gone indoors at this point; I can’t talk to her now. Fair enough; I follow her in. When I find her, she drifts further into the house. I try to follow. I walk into the Greatroom, where there’s a stain on the carpet. I look at the stain and see this:

Note that at this point I have not found the body yet and I am now in this room by myself. The narrative I’ve seen so far has set this up as though my presence here somewhere between a social call (“let me introduce you”) and a crime scene investigation (from this bit of description) even though the main thing I know about myself is that I just quit the police force and had a car accident. It now feels like I’m still supposed to be looking for Alan but also as though I’m supposed to be investigating a crime that hasn’t been clearly established for me yet.

  1. I go upstairs, where I find the body; I examine it and Val turns up and introduces the corpse as Alan. We get this bit of description:

…which suggests that, contrary to the earlier bits of narrative, I have known Val for a while. Or is it just that she’s looked bored during the whole car ride up here? Maybe the latter, but if so, that seems like not that much time from which to draw any conclusions about her character.

Meanwhile, I’ve retroactively concluded that the bit in (4) about looking for any clue I can find was narration probably meant to happen after I’ve learned about the body; so there’s perhaps some bugginess about presenting information in order.

  1. I try talking to Val, but she’s too stunned to talk to me. I am not really sure of my goals in this moment, but the main indicators I have concern looking for clues, so fine. I start looking around, but mostly find that things that seem potentially important, like a pool of spilled liquid, are apparently not implemented. I do find one or two other items that do have descriptions, but I have too little info to really fit those into part of a mental pattern about what’s going on.

  2. After a while (perhaps on a timer, perhaps after I’ve done a certain amount of stuff, but not apparently tied to my finding anything specific) I hear someone arriving, at which point Val leaves the room. I follow her back down to the foyer and get (after the main room description)

So, okay: I don’t know what Val or I are doing at this cabin to start with, and we’ve just introduced three new characters, potentially suspects, but I also do not know what THEY are doing here, whether they were expected, etc. It would probably have been pretty useful to have heard Val’s introduction in direct speech – at least then I’d have some clue how these figures relate to me or I to them.

If I look again, this text is repeated verbatim, the bit about Val introducing everyone having been baked into the room description. Talking to these characters doesn’t get a response. Looking at them does give me a description, mostly about the fashion sense of each man, but I have this weirdly suspended sensation of being in the middle of a diorama – this moment is framed as a moment of social interaction but everyone just stands there for a number of turns on end waiting for something to happen, and I don’t know what that thing is supposed to be. Finally I try talking to Val rather than one of the other three – which turns out to be the necessary next step, the one that triggers pages of further dialogue and exposition. Val tells them that I’m going to investigate because of my police background. They leave. I try talking to Val a second time, and the result is that shutters come down over the outside windows. Then I’m offered some further questions I can ask Val, which provoke answers about “the Circle,” among other things. She also reminds me that I owe her one, but I’m not quite clear on whether that means I owe her one for rescuing me from the snow just now, or because of some other, also-undisclosed bit of backstory.

So here’s the situation I’m now in. I am supposed to investigate this murder, but the main person who will talk to me makes references to things I’m evidently expected to understand (as the protagonist) but for which (as the player) I have no referents. The social landscape is a near total blank for me – and while you may say that’s not important operational knowledge, my genre expectations from murder mysteries suggest that the relationships between suspects are exactly the kind of thing I should know or be trying to find out. So the fact that the game treats the protagonist as knowing more of this than the player makes me pretty nervous. (Contrast Gone Home: whatever other secrets are withheld, the player is given the “you’re just back from abroad and your mom and dad and sister live in this house” information pretty much right away.)

Meanwhile, I’ve been given confusing pointers about whether to trust anyone or how well I know Val. Both social interactions and physical interactions appear to depend on my finding the right thing to do next out of an array of apparently equally valid tasks. Information appears to be presented out of order some of the time. Key exits also aren’t necessarily mentioned in room descriptions: it took me a while to realize I could go east from the Greatroom, which left me wandering all over the place wondering where all the NPCs had gone after the arrival scene. Had they just vanished into the ether? I did eventually discover that EXITS was implemented, but only after I’d reached a point where I was feeling really lost and gone to HELP.

So at this point my fiction model (“what is happening in this story?”) and my mental understanding of the world model (“what is likely to be implemented here?”) both feel really broken, so I can’t use one to help me deal with gaps in the other. And from there I wander around for a while looking at things and getting more and more confused before I finally give up.

Playing it through a few more times just now in order to write this up, I see that if you type HELP early enough, you get a line about how you were going to the cabin to meet Val and her friends, and it’s implied that that’s still where you wind up later. That would have clarified a little (though not completely solved everything) had I encountered it the first time as part of the main narrative, but since I didn’t get around to asking for help until some turns in, I never saw that in playthrough 1.

A lot of what I just described isn’t really even about game design per se, but about the sequence of available information in a story. The gaps are just made more vital because it is a game and because you’re asking the player to be constantly developing and acting on their understanding of the fictional model and the world model. You can get away with a bit more in a movie because the movie doesn’t stop playing the instant a viewer gets confused (though it is possible to lose their patience eventually, of course).

I bring up the movie point because I feel like a lot of the writing in A Long Drink is very cinematic in its conception: emphasis on the visual elements of a scene, characterization through physical detail, reduced access to the interior thinking of any of the characters. One of the good things about that is that it does lead to a lot of really specific description, and I caught glimmers of what I think was the intended style for this game; I found myself picturing some of the scenes in a stark black-and-white film.

In any case. As to your “how do I know if this is a problem?” question – speaking purely for myself, a lot of writing gentle exposition for interactive fiction is about a) trying to play the game while forgetting as much as possible that I already know the story, and trying to assemble the narrative afresh through the order in which mandatory, unavoidable text is shown to the player; and b) paying attention to anything a beta-tester calls out as confusing. I try to follow the rule that if a piece of information is critical to the player’s enjoyment of my story, then that information needs to be on the critical path, a thing they cannot possibly not see or not learn if they do a minimum walkthrough.

It’s not about taking mental points off; in fact, I doubt that that’s what people do. It’s about when you shout at the screen after you’ve timed a jump perfectly and the main character still got pushed off the ledge because collision detection was buggy. It’s about when you’ve put days, weeks of your life into a game like Discworld, trying every single thing, only to discover that you could have spent years on it and never gotten anywhere because of a bug. It’s about losing the trust in the game.

I haven’t played your game yet, and your arguments and stance seem to be tied directly to that, so maybe I’m not seeing the full picture. But I can say for certain that naysaying the trust the player needs, waving it away saying “it’s not the point”, is a baaaaaaaaaaaaaaaaaaaaaaaaaaaaaad idea.

How would you like to waste hours of your life playing solitaire, only to find out, some very frustrating hands, that you’re only playing with 51 cards?

The player will never follow a nice, pretty, pre-determined path through your game. The player is messy. The player breaks things. The player goes where (s)he wants, doing as they please the whole time. If your world is solidly built, they’ll have a blast. If you built using paper instead of brick, however, they’ll start punching holes in things. Best case scenario, they’ll give up. Worst case scenario - and this concerns you as the author - they’ll decide they had better not experiment so much in case they break something else…

…and how is a player supposed to succeed, or just enjoy, IF if they’re too afraid to experiment lest they should break the game?

I’ve been meaning for a while now to post a response to the post-mortem for A Long Drink, but I will instead just add a briefer note here in order to stay timely…

Unlike the reviews I’ve read, I managed to play the game to the winning ending, partly because it was the first ParserComp game I played so I was perhaps more patient. I definitely ran into things that were clearly major bugs; I also ran into things that were clearly design decisions, some of them successful (IMO) and some not; and there were a number of things that could have been either, I’m not really sure. There were some clever things about the game that I liked a lot (which I won’t spoil here), and I respect the high ambition, but even besides the bugs I had some major issues with the design (both as a game and as a story), which I mostly covered in my private feedback during comp voting so I won’t repeat them here.

I can certainly sympathize with spankminister about how no one seemed to notice the clever things in the game; I was similarly unsatisfied with the reviews of my own games. But I absolutely don’t blame any reviewer or player for not “getting it”: mostly, I regard it as a failure on my part, for not making it as clear as I wanted to, and anyway I just don’t expect (or even want) every player to “get it”. Eventually, the right person will play my game (or a future, better-made game) and get exactly what I was going for, and that will be good enough for me, even if I never find out about it. I think that has to be the nature of artistic creation. (Of course, by entering into a competition, you are at least pretending to hope for a more immediate connection with a specific audience, but practically speaking I don’t think that affects the situation much.)

(For context, here is the postmortem: https://intfiction.org/t/a-long-drink-postmortem/8220/1)

There’s a nonzero degree of luck involved, because A Long Drink has some heisenbugs that won’t crop up for everyone. It’s possible, for instance, to initiate what looks like a very late-game conversation early on, and from a totally different room from the NPC you’re talking to (who hasn’t even shown up at that point). But I still had no idea how to reproduce that behaviour. So I imagine some players encountered a much more buggy game than others.

In certain circles of competitive debate, there’s a mantra: “The judge is always right.” This doesn’t mean the judge’s decision always makes sense; it means that blaming the judge for “not getting it” doesn’t help improve your skills as a debater. Even if the judge is irrational, it’s still your job to figure out how to persuade their particular brand of irrationality.

I think a lot of this applies to games. Rather than thinking “Oh, they just didn’t get it” and trying to explain your intentions, I try to think, “Wait a minute… they didn’t get it. How could I change it so they do get it?” It goes against my natural instinct, but it makes my games better in the long run.

There’s obviously the skeleton of a great game under A Long Drink - strong mood, a lot of good ideas. I’d love to see a post-comp release that cleans it up, fills in some of the confusing bits, and reworks the bigger, buggier systems into something tight that works really well.

Yeah, second that. That’s the best possible outcome of this discussion - you having the time to work on ALD, without the constraints of the deadline, taking this discussion on board, and make it what you intended it to be in the first place - in a way that everyone else gets it like prevtenet said, so that we can all enjoy what you inteded from the first. :slight_smile:

Third the desire for a post-comp release of A Long Drink.

Additioanl Thanks from another new IF’er!

I’d love to see a post-comp release as well. I really liked the writing and mood.

Granted, and I never meant to imply that it didn’t, or that reviews that brought this up were wrong-- just that I have a hard time establishing where the bar is, given that I’ve read reviews of far more polished games than mine that read identically. We were also talking about managing “player confidence,” which is a hard to define quantity that can be damaged both by serious logic issues, and fairly benign omissions of scenery.

It’s more that I was asking the question if the expectations are in line with other genres of game. I think the things which are labeled “completely critical to player experience” are sort of prohibitive in the parser world, and players don’t have analogous expectations of a platformer, or first person game. Ultimately, I see this as kind of limiting on both parties. I wonder how we could break away from something like this. Things like the “one move game” play with the medium, but towards the extreme of a well-defined parser, and don’t challenge this.

That’s certainly a valuable experience, but parser IF is insular, and its discussions all tend to look similar. I made a Twine essentially about the ParserComp experience that took 1/100th of the time, got 100x the players, and a far more positive response. I have plenty to learn, let me be clear about that. But I reject the idea that authors owe their community, that the customer is always right, or that parser IF is being obsoleted (an idea posited by people far more experienced than myself.) I appreciate the help I got, but at the end of the day, I wrote something. If anyone’s going to play it, it needs to be because they think they might get something out of the experience, not because it’s some “favor” they’re granting me.

Definitely the latter.

  1. This was intentional. Where and what are explained in the first conversation with Val, reason for urgency is implicitly answered either via the first (and only) game over, or later on, or a hint in the first conversation.

  2. This was my attempt for a first action beat-- I’d hope the situation would seem dire enough that a player would be somewhat interested to escape it.

  3. I am pretty vague about why she is there, and the player only has supposition much later on as to why. I could probably hint this a little better.

The relationship between Val and the main character is also one of the central mysteries-- the combination of familiarity with her impenetrability, the juxtaposition of their relative intimacy despite being essentially strangers. There ends up being a very good reason for this, but initially, I thought of piecing this together by process of elimination would be fun. This was intentionally confusing, but maybe it was too confusing. The player’s own senses are the only really reliable source of information, and the protagonist’s being a fish out of water in Val’s world transfers over to the player’s feeling isolated. I wonder how doable this is as a practical matter, given your experience.

Your points about scenery or clues foreshadowing a crime are well taken, but it was a concession to let the player explore versus guiding the first moments of the game. I thought it could also be interesting for the player to discover clues that a crime had been committed prior to finding the body. But aside from description bugs, some players went a REALLY long time without finding the corpse. There’s a bunch of events that ARE scripted to give things a bit more of a guided, cinematic feel, but you said these seemed arbitrary and buggy to you. On the other hand, not providing a crystal clear direction for where the player should go to find the body (I put a bunch of hinting in) also made some players feel lost. So I guess I’m not sure what direction to go in-- the game sorta has rails, but I don’t want it to be a cattle run.

I did this quite a bit, and I wasn’t sure how to approach the problem of “here is a critical piece of exposition, or a clue that is crucial to understanding the story” versus “what if the player skims over it.” Threaded conversation has a similar concept with repeatable quips, right? Some player were really confused playing A Long Drink, I’d have thought making things more missable would compound this.

I tried to design with assembling the narrative in mind, but I’ll take another look. However, I didn’t want to make things mandatory as it only increases the critical path. Forcing the player to find everything simply creates a bunch more hoops to jump through-- I thought it might be interesting for a good deal of the mystery solving to occur in the player’s mind, rather than enforcing it via gameplay constraints like a Phoenix Wright saying, “You found this clue! Now a multiple choice quiz to see if you know what this clue means.” There’s nothing necessarily wrong with that hand-holding approach, but I remember Deja Vu (and Gone Home, again), which requires some great logical leaps, even after you find everything.

I did quite a bit of this, but as you show, finding it out of order hurts that experience. Fundamentally, Long Drink is about exploring and finding clues, but it also has a linear sequence of events that can change the game state, and express the passage of time. I tried to be generous about this, and I also wanted the game to be complete-able without finding literally everything I put in there… I wanted to make a mystery, not an easter egg hunt.

A friend of mine has a joke: “You know how I know (game X) is terrible? It has a great community.” I’ve had a lot of private conversations, and I don’t take or mean any of this personally. I’m thrilled to be able to get personal help and advice and programming tutorials from accomplished IF authors, but I also feel the need to bring up the state of Inform7 that makes such things necessary. You’re right Matt_W, that it’s unusual to be able to discuss these reviews directly in the context of design discussions, but I hope it wasn’t too impertinent to discuss the discussion itself without coming off as “your reviews are all wrong!!” because that’s not what I meant at all. Maybe I was able to say more about that in 300 words than I have in this thread.

I’m grateful people are interested in a post-comp release, and I have every intention of releasing one. But part of the reason I’m belaboring these points here are that after I submitted, I had a solid handle on what I needed to fix, and had started that work. However, post-review, I feel like I’m not sure what direction I should be proceeding in. As Emily said, it’s very true that any approach will resonate with some players and totally lose others. I just want to establish what I agree is broken while retaining the character of what I wanted to make in the first place. Art isn’t about giving people what they want.

There are two general cases here. I haven’t played through the game so I don’t know which you’re going for. (1) The protagonist and the player are both confused. (2) The protagonist knows more than the player. They have to be treated differently.

In (1), it’s important to reinforce that the protagonist is confused, so that the player is willing to relax and go with the “I am ignorant but it’ll all come out eventually” storyline. With (2), you have a harder task. You more or less have to mislead the player by providing strong implications of a particular set of reactions, while leaving narrative room for a “reveal” later.

The extreme form of (2), and more or less a pocket lesson in How To Do It, is “9:05”.

I don’t think this is unique to parser IF, by the way – or even game design. The above advice applies to any storytelling art form. Novels, movies, comics all struggle with the same constraints. The reader/player wants to know where they start before they get into the storyline. “Confused” is a valid answer, but they have to know it’s intended confusion.

This gets into the particular design issues of interactive storytelling. The general design strategy is, again, to reinforce the player’s reaction. If you find the body right away, the game should say “Holy crap! I just walked into this house and tripped over a body!” If you prowl around discovering lots of clues first, the response should instead be “Aha, finally, the cause of all this mess.”

I’m exaggerating the difference, of course, but that’s the approach. Obviously it’s a lot of work; that’s the price of letting the player off the rails.

Finally: there’s been a lot of back-and-forth in this thread. The discussions of specific beats and scenes in the game are useful. But the “player is always right!” “no, the author is in charge” “audience expectation!” “author’s art!” part of the thread is going in circles. Let’s lay off that bit.

Oh, the other design strategy which works really well in IF: If the player is supposed to be confused about long-term goals, provide strong short-term goals. If the player is supposed to be confused about short-term goals, provide strong long-term goals.

Thus, in Hadean Lands, you start with no clear idea what’s happened to the ship or what you should do about it – but you’ve got a chain of locked doors which absorb your attention for a good long time. Contrariwise, Enchanter drops you in a completely unknown landscape, but gives you a clear aim: get to that castle on the horizon, somehow take down the guy inside.

It sounds like your “go off the road” scene has good short-term motivations (leaving aside parser issues) but not the scenes before or after it.

FWIW, I never had the conversation with Val in the car until you just now suggested that was possible and I went back to try it. The first several times I played, I looked at her and then waited, so I immediately arrived at the house. One way to address this would be to put the game into a conversation state with Val automatically, so the player receives the conversation prompts while they’re in the car. (I do this a bunch in Counterfeit Monkey.)

At this point I don’t remember why I didn’t talk to her in the car on playthrough 1. Maybe I was busy looking at her and didn’t try; maybe I tried the usual ASK/TELL options and found they didn’t work. If I try now, I get

ask val about val
I wasn’t talking to anyone right then.

– so for a player who hasn’t been taught the TALK TO CHARACTER syntax, this may be an issue. (The intention is that, if you ask someone about something when there’s no interlocutor, TC should automatically assign an interlocutor and then re-parse the command. But it’s possible that something is broken here or that you made your own hacks; I’m not really sure.)

Generally, it looks to me as though your game benefits if the player reads the HELP right away, rather than trying to stay away from it as a source of spoilery hints: doing so right at the start might have gotten me to use TALK TO and EXITS sooner, resulting in a better experience with those first scenes. A conventional way to handle this is to have a line right at the beginning recommending that first-time players read the HELP.

I agree with this in general. The biggest issue I had with this when testing (and I only did a partial transcript–sorry about that!) was the undescribed exits–I had to stumble around trying different directions to get into the house, and then to move around in the house, and then I think when I found the EXITS command I suddenly realized that there were a lot more rooms than I thought. This is a real problem for me in a way that unimplemented scenery isn’t; if the scenery is unimplemented then at least I know I don’t have to interact with it, but if I don’t know what the exits are then I just don’t know how to interact with the game. (Analogy: when I first tried Cave Story and I didn’t know that you had to hit Z to get off the start/quit screen.)

As for the thing you said about moving away from standards of total implementation–one thing that I thought actually worked in Terminator was that I decided to implement only a very restricted set of verbs, with a flat refusal if you tried anything else, but I started things out with a tutorial that made it pretty clear what those verbs were. I didn’t even implement “examine,” but I only got about one piece of feedback complaining that I hadn’t implemented stuff (well, and some people said “We want a ‘take off’ verb!” so I put that in). Now part of the reason this was possible was that Terminator is all the way game rather than story, and it’s also in a setting where it makes sense that there would be a training mission–it’d be hard to do this while building up a sense of mystery that starts in medias res. But it shows there’s a way to get parser IF players to not expect a full suite of implemented stuff.

(And I had violated everyone’s trust by having a persistent bug, too.)

Also: I really feel what you’re saying about game jams and competitions. I often feel like “Dang, the time frames for these things are set by people who do not have small children.” For me if I don’t get involved in them I’d never make anything–it’s not that I work better with a deadline, it’s that I don’t work without one–but it seems like you know the scale of the things you want to make, they’re big and complicated, and they need a lot of time working on them and also a lot of time to get feedback and incorporate it. So maybe the competitions aren’t for you. Like lots of other people, I’d really like to see you keep working on this!

So I went and played “9:05” (It’s great) and indeed it is a situation where the protagonist knows more than the player.

What keeps me from being able to directly apply it is that the conceit of “9:05” is dependent upon two playthroughs, one where (2) is true, and one where the player knows everything the protagonist does. However, in this first playthrough, the player is expected to reach a particular ending because of this lack of knowledge, which in turn has implications as to the reason for this “illogical” behavior on the part of the protagonist. I don’t think this would work in A Long Drink unless the player could outright fail to solve the mystery and then get information that would help the next time through. I opted not to do this to avoid frustrating game overs due to the player’s lack of knowledge. My attempted approach at dealing with this was to make the game relatively easy to clear, but more difficult to fully understand.

Hmm, interesting, I assumed that players would be curious or confused at this point in the story, so talking to Val would be their initial response. From a game design perspective, this was intended to be the introduction to the “You will need to talk to people during this game” moment, so that was my reasoning behind not starting the conversation automatically, but maybe that needs to change.

It’s a fair point that making help explicit helps the experience (maybe I was too stubborn to plaster that all over a cold open), but as you say, it’s also worth thinking about who uses “help” and why. A new player might use it right away, or not know to use it in the first place. A more experienced player might assume they don’t need it, or that it would contain spoilers, is that why you didn’t?

The game says:

That ends up strongly implying that what “help” does is provide spoilery help with solving the game’s puzzles, whereas what it actually does is provide basic usability help. In fact, the game is all but unplayable without typing HELP; there are no exits listed anywhere in the game, and apparently the design expects players to rely constantly on EXITS, which is nonstandard - people are much more likely to think “oh, this is badly implemented, there are no exit listings” than to assume that for some design reason (??) they’re supposed to type EXITS in every room.

…you have to type EXITS to see exits?

May I suggest checking out one of those nifty extensions that list the exits on the status bar.