Meaningful choice and design decisions in The Cuckold’s Egg

I’ve been trying to write this for the past couple of days in the wake of the end of IntroComp and the great feedback I received from it. I wanted to talk a little bit about the design decisions I made in The Cuckold’s Egg – what I was trying to do, what succeeded, and more importantly, what failed. I also wanted to start a conversation about some of the issues the game raised for me in terms of basic IF design, on player knowledge (versus PC knowledge) and meaningful player choice.

I approached The Cuckold’s Egg intending to learn from what I saw as mistakes I’d made in the past, while trying to stick to what I thought of as my strengths. In hindsight, for example, Slouching is very much guilty of infodump – between the phonograph, the letters, the files, what the user actually spends a lot of time doing is reading, simply understanding the situation. Then they form a plan of attack, attempt to execute it, and the game (hopefully) supports them to that end.

I wanted to see if it was possible to have the same sort of decision-based gameplay without the infodump. I succeeded less than I’d hoped – given the fact that most of the reviews I’ve seen missed the Big Idea behind the setting (honestly - it was pretty well hidden). I’m actually going to try starting another thread on the question of how better to communicate that point.

In addition, I believe one of the things I’ve learned something about myself as an IF designer is I simply think I don’t have a “big” game in me. Between the combinatorial complexity and the sheer amount of “stuff” required to fill out large areas with interesting content, the thought of making a game larger than something comparable to Slouching seems overwhelming.

There was also the idea that I wanted to give the user a great deal of latitude on how to deal with the issues that face them, something akin to Floatpoint or Slouching, and a larger game feels anathama to that. I couldn’t imagine what a Floatpoint-style game (the user is confronted with a problem with a wide variety of solutions/choices/endings) the size of say, Curses would look like.

But perhaps it would be possible to construct a larger narrative out of what is basically a bunch of smaller games?

Hence the ‘day’ mechanic I attempted in Cuckold’s, similar to the way time works in Christminster. Each chapter/day has at least one major plot-point that has to be dealt with before “time passes”. Those plot points have different solutions that feed into the days that follow.

Being more ambitious, I thought, what if the previous choices affected the future choices you had to make? What if there were a Plot Manager/Game Master algorithm that ran every “night” and set up the next situation? Something akin (but more complex than) Wing Commander - where the immediate mission before the user can be solved in different ways, leading to different future scenarios?

That was the basic intention, in any case. But due to my choice of tools and time constraints the result turned out quite differently. I barely ended up with one day, in which player choices really didn’t matter all that much.

Part of the reason I wanted to do a prototype - and used IntroComp as an impetus to get one out - was that I wasn’t sure what the moment to moment gameplay would look like. I knew that conversation would be important and tried looking at the various libraries and implementations for such that are available in Inform.

SHOW/ASK/TELL (as I’d used previously) just really didn’t seem up to the task. Again, trying to learn from past mistakes, the characters in Tapestry and Slouching are basically the equivalent of information-dispensing objects, like books. You can ask them about a variety of topics and generally get the same response again and again, with a few modifications.

I needed characters that reacted. And possibly had their own agendas in conversation. When I went through the documentation on Threaded Conversation, it seemed exactly the sort of thing I was looking for.

While I still think that TC can support that kind of gameplay, the learning curve almost killed me. I still can’t claim facility with the library – the end result in the IntroComp entry has definite bugs where conversation topics vanish entirely and I’m not sure why. Also, as Ms. Short points out in the documentation, it requires a tremendous amount of material to not have NPCs that feel slight. They need to respond to a huge number of topics in a huge number of ways to seem even vaguely realistic.

Worse, the library seems intent to generalize quips - you have to go out of your way to link quips with certain characters, which seems completely backwards to me. I can’t imagine having a “generic” response from a character - because even if they were all trying to communicate the same basic information, the tone would be so different as to feel false if the same text were printed in each case.

Combining TC’s basic functionality with ‘facts’ that NPCs and the user can learn, along with emotions for the NPCs gives a huge amount of variability in responses, all of which have to be written. I tried experimenting a little bit with the first character the player interacts with - the hostler. But watching people play the game brought up all kinds of questions about how to handle this kind of gameplay, and whether putting this kind of effort into basic NPC interaction is, ultimately, worth it.

The first time you encounter the hostler, she takes control of the conversation – immediately asking you where you’re from. This single scene brought up all of the issues I’ve mentioned above: what the player knows versus the PC, meaningful choices that have consequences, complicated NPCs with agendas, etc.

Who you are (an agent of the Apostasy) and why you’re there (to ‘quietly’ investigate a murder) are things players completely missed before they got to this scene. My intention to remove the infodump might have removed too much context in this case.

Obviously, the opening scene could be changed to try preventing this – make more of the letter perhaps? – but the problem remains that players can get to this scene without knowing exactly what’s going on. People didn’t know what choices they were making, or the consequences of them. They didn’t know if they were lying or telling the truth, or how the hostler would react, or what the consequences of her reaction would be.

The first choice you’re given is in response to the question “Where did you come from?”

You can “say only that you came from the valley” - which is what is says on the tin. You literally just came from the valley and that’s all you’re saying; “say you travelled from the capital” - not only being honest, but earnest; “ask about using the stables” - completely side-stepping the question.

I wasn’t sure how to handle this better. Would it have been more useful to use Bioware-style tagging on the responses, such that it would read “say only that you came from the valley (lie/prevaricate)”.

Worse, it was completely unclear what your actions would result in. In mechanical terms, telling the truth makes her afraid, lying to her makes her suspicious, and side-stepping makes her out-and-out angry. The later is the only one with real mechanical weight – she’ll clam up when you start asking her questions about the town and the elder. The problem there is, how does the player know you could have handled things differently?

Once the hostler’s clammed up, the only way to get real information out of her is to identify yourself as an agent of the Apostasy, which is the big choice in the first day - how you handle coming into town. Do you find your way in and a place to sleep without identifying yourself?

How many players saw that as an option? Even saw that as the central choice? People found the ‘choice’ in Slouching in various ways, but mostly it seems the general path was just reaching an ending and not realizing they’d made a choice until after the fact. I was hoping for something more clear than that with TCE.

Once you’re sleeping and talking to Silenus, he too takes control of the conversation, noting what you’ve done. There’s something like four different openings to that conversation, each of which has at least two possible responses, with further responses from Silenus. All of which was a lot of work.

Which leads to the question – was it worth it? Was the work put into Silenus and the hostler worth it in the end? Did people notice that their choices mattered, even subtly? And how would players feel if those choices had consequences further along? Surprised? Cheated? Frustrated?

Watching the ClubFloyd walkthrough, I wondered if a hybrid system might not ultimately be better for all involved - something between the simple ASK/TELL functionality I’ve used previously and the more complex Threaded Conversation implementation. Should the basic default be ask/tell and then only when conversation is clearly important - and consequential - we switch over to TC? Something like the ‘converse’ / ‘interrogate’ modes in the original Gabriel Knight?

Basically, I’d like to start a discussion about these and similar issues, trying to use the intro as a springboard. What were people’s experiences? Did the choices feel meaningful? Did people even notice there were choices being made? I feel like I need to answer questions like these before rewriting/editing the opening and deciding what the rest of the game will look like.

Thanks!

-d-

You’re kind of asking some really broad questions here, so it’s difficult to get a handle on things. (Yeah, the actual problem is a nebulous one, so it’s fair - just makes it harder to come up with easy answers.)

I read this encounter as an intentionally low-stakes establishing scene, setting the tone for the dynamic between the protagonist and the locals.

I think I was aware that identifying myself as a member of the Apostasy early on was a choice, although the stakes weren’t clearly established - you’re still figuring out what the Apostasy is, and I sort of assumed from the setup that I’d need to identify myself at some point. (Because the first place the FBI special agents go to is the local sheriff’s department, and that’s pretty much the situation here, right?) So I felt I was going to be shepherded into that decision at some point anyway, and my choice was mostly about how long to delay it.

I dunno, man. Games are hard. I’m playing the Bioshocks right now and am super-frustrated by how every theme has to be spelled out in literal gigantic statues or piles of corpses, and how every Meaningful Choice™ has to be presented as PRESS A TO RESCUE THE LITTLE GIRL, PRESS B TO HARVEST HER PRECIOUS FLUIDS. But that’s kind of the only way to ensure that everyone gets it - and this is probably more true of early game choices, when the player doesn’t yet have a complete grasp on things.

Hm: the intent of the library is to allow you to do what you want, but not particularly to force a generalization. If you want to have a quip tied to a character, then you have to specify which character that will be; which I think is inevitable. Did you have some other way you imagined that working?

(In an ideal world it would be possible in Inform to write dialogue with something more like Versu’s screenwriting model. But that would require compiler-level support. I occasionally have conversations with Graham about this, but it’s definitely still in the “wouldn’t that be nice at some point” area of possible implementation.)

In my experience, a lot of the design around this kind of thing has to do with a) establishing the player’s expectation that NPCs will respond to emotional manipulation, and b) consistently communicating NPC state. If NPC mood is important, say, then it often helps to put that information in a status bar or some other kind of display to keep it visible. If NPC mood is important but the player has only partial knowledge about it, then some kind of compromise status might work.

It also helps to be focused – or as focused as reasonably possible – about what kinds of things affect NPC mood. If the game is primarily about secrets and truthfulness, then I might focus on a mechanic around that, and not try to model the various other ways that an NPC’s mood can be affected. So I might have the moods be “suspicious”, “neutral”, and “trusting”, for instance, and base the dialogue options around those sorts of concerns rather than other ones.

…Yeah. This is why introductions of interactive stories are so absurdly difficult to write, especially if you’re going for a compelling opening scene of the kind found in a lot of traditional media.

For me what was missing here was a clear sense of the stakes. I did understand that it was possible to tell the truth or not, and that that might matter. But how would it matter? I know too little about the Apostasy and the relationships in town to understand their likely reactions, beyond the straight fact that those reactions might be negative. A clearer sense of what the factions were and whether they’d be likely to fear me or hate me or just avoid me might have helped. (Possibly more clues were present than I saw.)

Which - honestly - might just be the answer.

It’s quite possible I’m simply overthinking this. Maybe the way to go is to leave the sequence as-is, with only a few consequences that the user can be aware of as things go on (such as Silenus’ response) and only really draw attention to those moments that have true consequences. It’s just I’m having difficulty with how that would look. But the answer might be iterative: try it, if it works, fine, if not, keep modifying it until it does.

Ugh. And that’s precisely what I’m trying to avoid. The emotional state-machine for the hostler in the opening was purposefully simple, but I’m hoping to model something subtler and longer-term in the full game. Choosing sides, making alliances, friends, enemies, but not via a “TYPE ‘BETRAY’ TO BETRAY THE HOSTLER” sort of way.

My apologies if it seemed like I was complaining. I have to say I really appreciate all the obvious work you and Chris Conley put into the extension. I honestly couldn’t have gotten as far into TCE as I did without it.

In my head, I think I’d just like an easier way to define a single quip (“Identify yourself as a member of the Apostasy”) with a single name (identify myself) that then has a different implementation for each character - possible with a general one for those I don’t fill in. It just seemed odd to come up with a new name (identify myself to hostler, identify myself to elder) with all the same parameters (the printed name, who it quip-supplies, what it directly-follows) for each character.

And this is all excellent advice. Having a theme to player interaction (and obviously Truth and Lies are going to be big ones) might help. Also - something akin to a tutorial would be helpful. Once for the first time you interact with an NPC, just to get the subtleties of TC across, and then another time when the consequences of an NPC’s state matter?

Printing the (perceived) state of the NPC would also definitely help, if for no other reason than it’s going to be annoying to keep typing “examine X” every time you want to check/remind yourself.

And all of this assumes that I learn TC far better than I know it now – the various ways quips are made available in the current thread, generally, in response to certain quips, etc, is still opaque to me.

Which is what I’m learning, and why I’m very, very glad I went with the prototyping-in-the-open route.

Honestly, the reviews (including yours) more than anything else made it obvious that most people (if not all) completely missed the Big Idea behind the story/setting. Perhaps that works for the intro, but it’s definitely going to have to be clearer as the game goes.

What I was trying to get across (all accessible from the first room) can probably best be seen by the following actions:

[spoiler]>look at valley

look at mountain
look at crater
look up mors diahl in book
look up ibah iana in book
look up war in book
look up silenus in book
(and, honestly - requiring a leap of intuition)
look up gods in book[/spoiler]
It’s the last that’s the really important one: there are real things at stake in the opening situation. But given that I wanted a slow, non-info-dump intro to it, I found it really difficult to get that across while still having a playable game.

The way I envision the final work is something akin to the original Dark Fall, which Andrew Plotkin described as containing a “cloud of information”. What all the above might just come down to (as both of you noted – communication of the background/stakes was lacking for you both) is just making that cloud a little thicker than it currently is.

-d-

I don’t have much to add to what has been said here already; just a few points.

  1. I didn’t get anywhere near the detail of research that you suggest one might do in the starting location. I did look up a few things in the book, but I have to say it would never have occurred to me to examine the valley, which is sort of the start of this, because within the “conventions” of the genre I wouldn’t assume that something so “general” was worth doing. I’m all in favour of a non-info dump approach … but one needs to present, perhaps rather crudely, the first string that is to be pulled. It’s also important maybe to reward “good behaviour” especially at first. In particular, the first obviously significant object that I encounter, to which the description specially draws attention, is the maofa at the gate, but there’s no entry for maofa in the book. Even if it doesn’t matter, this is just the point where I think the player needs to be “rewarded” for learning to look things up.

  2. With the hostler, I think the problem is more one of detail. It’s quite obvious that the “valley” or “capital” options present a clear and understandable choice between candour and dissembling. But to me at least I wouldn’t have expected the “ask about the stables” comment to have irrevocable or important effects. The sort of question (“where have you come from?”) that the hostler asks at that point is one that one might simply overlook as phatic politeness in ordinary conversation, and besides the conventions (again) allow rather unrealistic and choppy changes of subject in IF conversation. So to find out that this is actually the most “significant” choice seems a bit ball-hidey, and I think (especially at first) you want not to keep things very clear. Now that you have explained your intentions, I can see that this is all there in the text; but at the time the most I got was a sense of mild annoyance on her part that I had avoided the question.

Also, I don’t get a chance to react to her reaction. In real conversation, if I realised I’d upset someone in this way, I could/would say “Sorry, I didn’t mean to be rude: I’m just worried about the horse. I came from the Valley, yes.” The choice to press on regardless and insist on discussing stabling could, in other words, be presented as a choice, which would allow the opportunity to reinforce what has just happened. Effectively the first conversational mis-step would provide a strong hint that one has got off on the wrong foot with the hostler – and one would then have the option to press on regardless (this time with irrevocable results) making it quite clear to her that one is not going to say anything – or to acknowledge that and circle back.

When I first start playing any game, I need to learn what I think are its expectations. And for me at least it helps if the way I am taught those expectations is, if anything, rather crude and obvious. So a simple puzzle I can solve (which teaches me some technique, such as using the book a lot, if that is going to matter), or a rather obvious conversational choice with rather stark consequences is actually, at this point, helpful.

In other words, I think that maybe in the desire to avoid being to explicit (the “dump”) you may have ended up being subtler than is really desirable. Early choices, in particular, could be a bit more explicit, and have lower stakes, and have clearer results, than later ones.

Since your post was so broad, may I be allowed one other observation? My interactions with the hostler and the elder were (apart from the first question) essentially reactive: I was either ignoring them, or trying to get information from them, but they were not actively trying to get information from me. Yet as I read this scene, the key decision I had to take was how far to reveal myself and my objectives. Unless that is wrong, it would reinforce that point if I had to take positive steps to block inquisitive moves on their part (as in the first answer to the hostler). In this respect, what’s arguably wrong with that question is that it actually sets up a type of choice (dissemble or be open) which isn’t then repeated later. Put differently, should I really be able to get away with wandering around and making small talk with the elder? Shouldn’t I be forced to identify myself, truthfully or untruthfully? (Of course, I understand I may be missing something, and that the elder’s curious incuriosity might be the whole point …)

No no! I am genuinely curious; it’s a system that does take significant ramp-up to use, so I welcome feedback from people who get that far.

Ah, okay, I see. One way to do this would be to write the quip in the normal way but supply the text of the response with a rule like this one from Counterfeit Monkey, which overrides the standard output text in the case that the player asks about a location he is currently standing in:

Instead of someone discussing where lodging seems found when the location is dormitory or location is hostel: try the actor discussing you-seem-confused.

And the same principle could be applied to overriding for specific actors. So in your case you could have “instead of the hostler discussing identify yourself”, etc.; and you could add queueing within that rule as well, if need be. Of course, if the quips are really introducing totally different dialogue trees, then it might still make more sense to keep them separate.

Re. how quips become available, I’d need to know more about what was confusing you to offer useful guidance, I think.

Aha. Yes, I encountered almost none of that. I did grasp that something catastrophic had happened in the valley, but the battle between the multiple gods and in particular the idea that the gods were a destructible manifestation of group consciousness, really not at all. There were some things I did try to look up in the book, but they proved to be the wrong things, so I gave up poking at that, and instead turned to the definite goal I had.

This is often more easily said than done, but my standard rule is: if there is a piece of information that the player must have in order to understand your story, make them have to act on that information in some way in order to proceed. Often that takes the form of a puzzle of some kind, but it doesn’t have to.

I think – and now we’re wandering into the realm of a kind of advice you didn’t really ask for, so please feel free to ignore this – my own inclination would be to try to present the most immediate and personal aspects of this story first. Immediate: there is half a mountain defying gravity, right in my line of sight. I’d make more of that in the room description, even before the player tries X VALLEY. In fact, I might also make more of the implied danger-- perhaps start with me traveling a path just under the mountain overhang, and let the first interactions of the game be about my hesitation to traverse this physically and spiritually dangerous place, so that even if there’s not a real puzzle here, the player is forced to interact with the landscape and understand it a bit.

And personal: why does my character feel strongly about these alliances? The book is naturally impersonal, but even the narrator’s internal reflections are a bit distanced. Knowing a bit more about that would also have helped establish stakes for the hostler and elder.

Thank you so much for the replies, and my apologies for not replying sooner – things here sort of decided to a’splode all at once. :slight_smile:

That seems the general response (as Ms. Short noted in her later post) – there’s not enough attention drawn to the opening scenery. I watched it happen in both Club Floyd play-throughs. I think it has a connection to your later point – that generally, players don’t expect for the opening location (particularly one such as this - where you’re traveling and your goal is ahead of you, rather like the Long Road in Enchanter) to be that detailed/important.

I guess what I’m learning from this feedback is to (a) make the scenery more important in the opening (as Emily notes) and (b) spread clues throughout the opening sequence, possibly capped with a puzzle (as both of you note).

This is an excellent point and brings up a different issue – there needs to be something that gives you information on elements in the game that isn’t the Book. The Book is a very specific thing and I don’t imagine it’d have an entry on the maofas, but having information on it (or at least “your” thoughts on them) seems a useful thing.

I’m now toying with the idea of another “book” that gives such information, or possibly multiple, but then that brings up the annoyance of having to look up things in the right book – settings-wise accurate, but mechanically annoying. The latter could possibly be offset with a general “look up” command that just looks through the books you have until you can find something?

Agreed – there’s simply not enough communicated to the player to understand the context of their choices. I’m guessing that I’m going to have to expand this conversation much more than initially, hint at exactly what each of the responses could mean, and give some more back-and-forth to the “Where are you from” conversation. All of which are an excellent chance to train players on how conversation in the game works.

You both make this point and I’ll definitely take it to heart – if not in Day One, then soon after. Particularly with the Big Idea coming across to the player, there needs to be some way to “prove” that they understand the basic premise and assumptions of the game before proceeding.

I think part of it is I need to understand the library better. TCE was produced in about a month, and the same amount of time was simultaneously spent trying to come up to speed on Threaded Conversation, which, in hindsight, seems rather a crazy thing to attempt . :slight_smile:

Thank you very much for the code example – I think I was mostly brute-forcing my way through things and this seems a much more elegant way to handle it.

As I noted above – this is an excellent point. Bringing attention to the opening vista is definitely a good idea. There’s also the idea that the second location (another piece of the path before the gate) is the section that passes through the shadow of the mountain, and making note of it there - beforehand, as one passes through it, and as one reaches the far side?

I’ve found people’s reactions to Darius fascinating. I never really considered him any of the things that he comes across as – distant, cold, a bit of a wet blanket. I definitely need to communicate his initial emotional state better. He’s actually really scared, and I think the elements that people are picking up on are defense mechanisms. I tried making how hard the journey was for him clear in the opening (“an ache in your heart to a stone in your stomach”) but it’s clearly not coming across the way I’d hoped…

As for the alliances and Darius’ feelings – here we come to the problem of PC versus player. I want the choices to be the player’s, but I don’t imagine having Darius comment or have personal feelings about those choices. The choices should, I hope, be how we (and honestly the game) decide was Darius was feeling. That seems the premise of the kinds of games I write – you’re given the game, you make choices, and then the consequences and endings give us some context for the “kind” of Darius you were, if that makes any sense.

Thanks again for all the great feedback, I really appreciate it.

-d-