Authoring tools for coherent characters and narration?

Hello,
I’m a game design student currently embarking on my personal project for a course in interactive narrative. I’m looking into the development of a system for the production of interactive fiction with contents beyond descriptions of rooms with which I recall at least text adventures being preoccupied. Specifically, I would like to achieve support for coherent characters and narration in the sense that the story can contain interaction with characters, character development, and narration that, when read in the transcript, will seem like a linear novel.
Do you know of any preexisting systems or authoring tools with these ambitions? My experience with IF and text adventures is limited, but from the structural perspective, it’s rather intriguing (I’m a computer scientist).
Also: are there any existing IFs that do characters and coherent narration particularly well?
Thanks!

Twine, I guess? (Try to put a bit more detail, your post is a bit too abstract.)

Does this mean that you want IF without rooms, or IF that isn’t focused on rooms and their medium-sized dry goods contents, or…

What you’re looking for here is also pretty unclear: it could mean ‘I want something with highly reactive simulationist NPCs that develop and intelligently pursue social objectives’ or it could mean ‘I want a story with people in it’, or a number of things in between.

A number of things have experimented with separating the command prompt from the main body of text. Vorple, for instance, can retroactively delete content from the transcript, so you could get rid of parser input and failure messages and so on. (But there aren’t that many games that use it yet.) My Angel attempted something similar. But that’s not really a feature of the narrative, so maybe you’re talking about something else.

In the realm of CYOA/choice-based games, Undum (examples: The Play, Living Will) and inklewriter (examples: The Musgrave Ritual, The Intercept) produce output that lends itself very well to novel-like reading.

In parser-based games a seamless narration is a bit harder to achieve, because the player/reader usually can try a lot of commands at any given time, and the author doesn’t know the exact order in which his paragraphs will be encountered. It’s up to the author to gently nudge the players in the right direction, I guess.

The two major parser-based authoring systems, Inform 7 and TADS 3, both provide various facilities for customising the output, ranging from small but useful text variations to the “scene” mechanism. (And of course, you can always introduce and set your own flags and variables in order to keep track of character and plot developments.)

Concerning characters, both systems support quite sophisticated NPCs and conversation systems: http://inform7.com/extensions/npc/, http://tads.org/t3doc/doc/techman/t3actor.htm - although, until the advent of true AI, implementing interesting characters will always be a lot of work for authors :slight_smile:.

Emily Short wrote an excellent article on conversation in IF, and she also compiled a list of games with interesting NPCs. Here are links to the XYZZY Awards winners and finalists in the relevant categories: Best NPCs, Best Individual NPC.

Try playing Alabaster and Galatea, both by Emily Short.

you guess wrong: coherent characters and plot development are up to the author rather than any specific tool.

Besides, being essentially a hypertext manager, twine lacks a true simulation rather than flags. It means characters won’t go on their own pursuing their goals and random events won’t fire up because of that.

Of course, I don’t mean we’ve seen enough of that in traditional parser-based IF either as it’s rather hard to do.

Anyway, someone points out some good games like that for our friend because I fear he’s only played Adventure and Scott Adams so far. Take a look at Hoosegow for a marvelous blend of good writing and character scripting.

Also, check out “My Angel” for an attempt at IF that “reads like a novel when finished”, or tries to.

If you want a world model that is based on something other than rooms, which is what you seem to say, then while the CYOA tools already mentioned do seem like the ideal first choice, it IS possible to construct that in Inform (probably TADS and other engines too), but for more immediate purposes, I’d suggest sticking to the CYOA tools. They’re based on passages, and those can be pretty much anything.

Find everything you can about Versu, it seems closest to what you’re looking for.

Actually given the current events an in-depth review of Versu sounds like a good academic project.

George, are you being sarcastic, or do you mean “find out all you can about how Versu worked, because it’s the best you can do now.”
(Still pretty upset about it btw :frowning: )

Bee might also be relevant, if you’re interested in choice-based things (ifdb.tads.org/viewgame?id=8pe83e92v4nvabic ).

As others have indicated, creating believable interactive characters is hard work. You can do it in either Inform or TADS. I’m not familiar with Twine and the other CYOA systems, but I would guess that while you can write slugs of static text in them that will indeed read like a novel, true interaction would be more difficult in a CYOA system.

I would suggest that you start by envisioning exactly what you want to have happen in the course of the story. There are several possibilities. Do you want the reader/player to be able to make meaningful choices that will change the ending? (Emily Short has written several games in which that happens.) Do you want the behavior of some other character to change based on what the player character says or does? That’s not too difficult in either TADS or Inform. Do you want the other character to engage in autonomous behavior?

Autonomous behavior can be implausible, because the most practical way to do it is to make it random. But you could easily create a character who would wander randomly from room to room and then pick up an object of a certain type if she happens to be in a room where she sees one. That would be based on randomness, but it would also be a non-random agenda. (In TADS, these actions are called AgendaItems.)

For a while we had a fellow in the TADS group who was working on a game in which one non-player character could observe and react to another. I don’t think he ever finished the game.

Character development, which you mentioned, rests on a knowledge of human psychology – and also on your conception of morality. True character development in an interactive narrative is certainly possible (my current work-in-progress, if it’s ever finished, will have a bit of character development), but making it truly interactive rather than “on rails” might be difficult.

I guess it depends on one’s definition of “true interaction” but that’s a very sweeping (and highly inaccurate) statement. For instance, much of what you talk about in your second paragraph is in fact typical CYOA fare for some of the better-developed, more-flexible systems, e.g. ChoiceScript. Even reasonably autonomous NPCs would not be completely beyond the realm of possibility with such a system, although I sincerely doubt it would add enough to the game / player’s experience to be worth the effort – that would be an awful lot of scripting and CYOA authors by and large tend to focus more on story content, narrative flow, and meaningful choices. It would make for an interesting (if extremely time-consuming!) project, though.

choiceofgames.com/

Well, I did qualify it by saying that I was guessing, and that I don’t know CYOA systems. I have a question, though. In Inform or TADS, one can very easily program an extended conversation with an NPC, covering dozens of topics, without doing any branching. That is, the player can ask about the topics in any order, and can fail to ask about them in any combination, and it’s all one scene. Yet the results of the conversation can include setting variables that will affect later scenes in arbitrary ways. Is this possible in CYOA development systems? I don’t know the answer – that’s why I’m asking.

Another thing you can do in TADS or Inform is set up an NPC to follow the player around. I would guess that in CYOA systems this would entail writing an entirely separate branch. In one branch the player is alone, in the other branch she is accompanied by the NPC. I would guess that writing a CYOA to do this would be inefficient at best. But again, I’m guessing – I don’t know the answer.

Inventory management is another area of differentiation. I’m pretty sure that in the simpler CYOA systems, the player can’t carry or use objects, because possession of an object for later use would require a whole new branch. I know the better CYOA systems can keep track of state, which can include what the player is carrying. But if the player drops the dagger in the attic and goes back to the attic later, will the dagger still be there? This is standard in your basic traditional IF authoring system, and requires essentially no coding at all, as it’s built-in, but I would guess it would be hard to manage efficiently in a CYOA.

Jim, it seems to me that your last couple questions fit better into a traditional IF model than into most CYOA paradigms. CYOA aren’t by default based on navigating around a landscape – if you’re going through story events rather than rooms, then concepts like “an NPC that follows you around” or “the dagger is there when you return to the attic” don’t quite make sense.

That said, the CYOA systems I’ve twiddled around with would allow you to do something like have an NPC that follows you around. You could set a flag for when an NPC joins you, and in every passage in which the NPC’s presence was relevant, have some text (and even extra available choices) that print if the NPC-present flag is set. This might be more writing than the usual “Anna arrives from the west” or even “Anna follows you, chattering amiably” thing that you can do with a following NPC in traditional IF, but it seems to me that part of the original poster’s goal is to avoid the repetition that happens if you don’t do customized writing for situations like this.

Fair enough. It is a common misconception that CYOA systems are generally inflexible and limiting, and simplistic systems do indeed exist - some people just want to write stories in which the reader assumes the role of the protagonist and has some input, without wanting or needing to get any more technical than that. But that is just the tip of the CYOA iceberg.

All of this is certainly doable in such as ChoiceScript, the system I settled on for my own purposes (and expressly for this type of flexibility and depth when required), but it’s fair to say that some CYOA systems are too restrictive - for my tastes, at least - in this particular respect. I don’t have a detailed understanding of the various parser-based systems, but I should imagine they also vary in their capabilities / flexibility to some extent: the CYOA field is really no different in that respect.

Again, with the right system, a relatively easy thing to do - to the extent that it’s possible to have multiple, and even variable, NPCs accompanying the protagonist (e.g. in dungeon-delving ‘fellowship’ fashion). It really depends on the style of game / story the author is aiming for, and the time and effort they’re willing to put into it. But is it possible in a CYOA game? Absolutely.

All of this is also definitely possible and some games (e.g. post-apocalyptic Zombie Exodus) make very good use of such as inventory systems, as what you carry on your person - and pick up as you go - is obviously paramount to the story.

However - and this is what I would consider the main difference between parser-based and CYOA systems - there are some things (like inventory systems, objects and rooms) which the former have built-in systems to handle quickly and easily, so tend to have far more games utilizing those features. Choice games, however, tend to focus more on the actual story, and on character interaction and development, and generally speaking the actual “game system” behind the story is something each author has to build in for themselves - but certainly systems like ChoiceScript do give us the flexibility to do precisely that. Moreover, ideas, concepts and actual code are often shared: Jim Dattilo’s inventory system for Zombie Exodus is freely available to any other ChoiceScript author for use in their own games, for instance, so is much the same as being built into the system itself in terms of ease of use.

Thank you for all your (extremely useful) replies! I’m sorry I didn’t respond earlier, a combination of time spent checking out references and simply forgetting kept me.
Clearly you are right in that my initial post was much too vague, and I’m currently trying to get an overview of existing interactive fiction pieces close to what I’m imagining as well as the systems they use (again, thanks for all those references!). I’ll write back once I have gained some more insight (as I now realize I’m presently rather ignorant on the whole matter of IF).

I just finished researching the tools and playing the games you mentioned now.
What I’m interested in (rephrasing with the benefit of an improved overview) is stories, possibly linear in nature, during which the player, possibly only occasionally, navigates the world and interacts with items (text adventure style; like Hoosegow) as part of the progression of the plot. For example, imagine a detective story in which the player must move around and between crime scenes and interact with items and clues while the interaction with NPCs remains mostly linear/static, and the main plot is similarly linear. In this case (the way I envision it), the player would be presented with linear text until the point at which he must solve a crime puzzle. He does this by interacting, and the resulting output is written in a progressive way so that the text output comes to form a naturally advancing story (which would be achieved by having several possible textual outputs for each action depending on the current state and whether the action has been performed before). I think this would be comparable to video games like Half-Life 2: you interact with the world in order to progress, and the story unfolds simultaneously – but always in the same direction, regardless of the specific turns you made in the interactive sequences. Does this make sense to you? Are there any text adventures (or interactive fictions in general) like this?

Centipede comes to mind, and possibly some of J. Robinson Wheeler’s other work: he’s also a filmmaker and some of his games have a very cinematic feel, constantly moving forward. I’m not sure it quite reaches the level you’re asking about, in that I doubt the response text for actions is changed up each time you do one, but there’s a lot happening and the story is constantly moving forward, so that there is not enough time for the player’s actions to become extremely repetitive.

Also, this effect you describe is much, much harder to achieve in a text adventure with a parser (as you request) than in CYOA, where it is common. If the player can type anything he wants, you have to deal with error messages or the possibility that the player will type HIT MAN WITH ROCK fifty times in a row; if the game isn’t allowed sooner or later to repeat itself in response to these repeated inputs, the authorship burden is very significantly increased, and not necessarily to any good effect for the majority of players who are not trying to break the game.

IF with timed events such as Jigsaw or So Far comes to mind. There’s plenty more, but I doubt you’d have the time to research into these rather large games.