Versu: Content Structure

This is one of several design articles about the new interactive narrative platform Versu, which Richard Evans and I have been building with a team at Linden Lab.

versu_logo

Behind the scenes of a particular gameplay experience, Versu content comes in three forms: genre files, which specify a lot of details about behavior in a particular social milieu; story files, which provide an extrinsic narrative arc; and character files, which specify individual behaviors and personal character arcs.

Genre definitions are the most low-level element of the system. They specify things like: what are the ways that people in this genre judge one another? What are their main concerns and interests? What are standard, baseline ways of reacting to simple stimuli in this genre? An Austen genre file might supply a lot of ways to react to improper behavior, while a spy-novel genre file might offer ways to evaluate the patriotism of other characters. Each character belongs to a particular genre and relies on that genre file to supply baseline interactions, even if that character is placed into a story of another genre.

Story files contain premises, situations, and provocations. They lay out locations and objects that characters might encounter, and provide narrative turning points that might depend on how characters currently relate to one another. Story files create opportunities for characters to change their views of one another, come into conflict, and have to make difficult choices, or perhaps to discover what is going on in the narrative scenario.

A story file includes a list of roles that can be played in that story, such as “a traveler on the road at night” or “a guest at a ball,” together with some restrictions about how those roles might be cast: for instance, the ball guest might need to be an upper-class character rather than a servant.

The reader of the story can then “cast” those roles from any appropriate characters to which she has access. Maybe she chooses to combine two characters she thinks will hit it off romantically, or throw a couple of natural enemies together and see the fireworks.

The reader can also choose to play any of the roles that are marked as playable. (A few roles in a story are typically excluded because they’re basically support roles, or because they have seriously restricted options available: it might not be very interesting to play a dog or the butler in a story where that character has little access to the main content of the story.)

Character files contain character descriptions, preferences, traits, habits, props unique to that particular character (does this character have a quizzing glass through which he stares at people he finds inferior? an umbrella she unfurls in the house?). Character-specific dialogue also goes here: anything that character might have to say about his backstory, amusing incidents that recently happened to him, etc. In the currently available content, for instance, the character of Lucy has certain flirtation actions that are unique to her, but that create openings for relationship change that use the standard underlying mechanisms for changing relationship state. This means that other characters who have unique strategies for responding to flirtation can react appropriately, even if the two characters have not explicitly been coded to interact with one another.

Character files contain information about what the character hopes to achieve and how he might respond to blockages or problems along the way. Some characters need to make money, or marry well. Some like to make friends, or have some long-standing self-image issue that is preventing their happiness. These arc elements can be satisfied in a variety of ways: for instance, a character who needs to increase her income might stumble across a chest of gold in an adventure plot, or marry a rich man in a high-society plot.

Upcoming creation tools will allow readers to make their own files of all types, but we’re planning to start by letting people build new characters.

Character creation will mean writing new jokes and quips, building up alternative behavior patterns and methods of resolving relationships — and then sharing these characters with friends. Using Versu’s conversation model to tag the meaning of utterances, reader-creators can add dialogue that doesn’t just re-skin existing interaction options, but offers new possibilities for character response: if you create a character with a gift for insulting people, that new, more-abrasive personality will shift the way the story can flow, perhaps creating more animosity with other characters and leading to more broken or angry relationships. (I’ll talk more about how the conversation model works in a future post.)

The aim of this system is to provide the reader with the pleasure of remixing stories, exploring their outcomes from multiple perspectives, discovering surprising juxtapositions of character and plotline, playing with crossover stories where characters from different genres meet up, and scouting out some of the creative range of fanfic, satire, roleplay, and improv theater as well as writing.

It’s an ambitious hope, and I’m looking forward to discovering new corners of the system as it comes in contact with more readers and authors.

Making of Counterfeit Monkey: Puzzles and Toys

This is the first of a couple of making-of posts about Counterfeit Monkey, in case people are interested: these are a bit like some of the making-of material I’ve published about Bronze and other games, but I’m splitting it up between story discussion and puzzle discussion.

We’ll start with puzzles. This is going to be spoilery, so if you’re still planning to play, I recommend finishing the game first.

Continue reading

More on Seven Fables: Planning a Conversation Model

The Seven Fables project I covered a week or so ago is now successfully Kickstarted and then some. With more resources available than they initially expected, the authors are thinking about how they might add conversational characters to the project, using some chatbot technology they’ve worked with in the past.

Here Mark Stephen Meadows and I talk through some of the design and tech issues involved.

ES: Why are you looking at adding chatbot technology to this piece?

MSM: Stories are almost always about people. Narrative’s core is about personalities: people, interactions, society, desire, fear, love, weakness. These are the building blocks of narrative and without people in a story it becomes more an exploration of architecture than a drama or adventure. That’s what IF is often about. Sure, it’s fun to poke around in a dungeon and discover doors that open and close. But I find that hearts that open and close are far more interesting.

Gollum? Princess Leia? Kung Fu Panda? Brothers Karamazov? Even great adventures like that are about the people, and what drives and limits them.

ES: Tell me what excites you about the chatbot technology you’re planning to use.

MSM: The problem with most chatbots these days is not the technology. Even simple systems like AIML have enough hooks and gears to work in a piece of IF as a believable character. The problem is design.

Usually chatbots lack context. They’re like abandoned people, homeless wanderers, that awkwardly roam the streets, looking for conversation. “Hi! My Name Is Bob! How Are You Today?” a chatbot might say. I dont want to talk with these chatbots. They’re drek, informational bums. Just like a person walking up to you on the street saying the same thing. “Hi! My Name Is Bob! How Are You Today?” I would do my best to politely brush him off and just keep walking down the street. But if there’s a design and narrative component to this then it starts to get interesting. If, for example, I see a small green man with dragonfly wings sitting on a post office box, asking me to open it because his faerie-wife is trapped inside, then I’m far more inclined to talk with him than the guy named Bob. Chat is not interesting simply because it is chat. It has to have a context. Chatbots are boring largely because they lack that context. NPCs / NPGs and chatbots should be given a context that allows them to serve a function. Give the bums a job.

This kind of design is, like writing, as much about psychology as anything else.

Once upon a time, in 2007, my company HeadCase had developed some technology that showed how a personality could be distilled from a conversation. We did it with Arnold Schwarzenegger. We were using ‘scrapers’ – an automated system that would traverse websites, search for first-person interviews, drag those back into a
database, snap off chunks of the interviews that were relevant to similar topics, ideas, and categories, and then rank that stuff according to frequency. Then we asked the system a question. So, for example, we asked the Arnold Schwarzenegger system, “What do you think of gay marriage?” and it answered, “Gay marriage should be between a man and a woman, and if you ask me again I’ll make you do 500 push-ups.”

It was Arnold. Like a photo, it was his likeness. This was, really, an authoring technique for NPCs. The goal was to take interviews and be able to generate NPCs from them.

Continue reading

IF Demo Fair themes: procedural generation

A couple of the submissions to the Demo Fair focused on procedural generation of content or of surface text. (There was meant, in fact, to be another demo to do with narrative generation that didn’t get finished in time; a real pity.) This wasn’t something I’d explicitly suggested as a focus for the program, but it emerged from the process a bit.

Continue reading