Versu: Conversation Implementation

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

Any platform focused on social interaction needs strong conversation handling. The following article goes into a certain amount of technical detail about what the system does and how it works, and Richard kindly agreed to write about the sections on which he had the most design influence.

Continue reading

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.

Introducing Versu

Versu is a new interactive storytelling platform Richard Evans and I have been working on at Linden Lab. Some of you may have seen lead-up presentations about it at GDC (possibly long enough ago that it was still called Cotillion).

versu_logo

Today, the first four Versu stories are available for iPad. Clients for Kindle and Google Play will follow, as well as stories in other genres and by other authors, and both character- and episode-authoring tools will be made available to the general public in the future.

whist_game01Versu focuses on character interaction as its primary form of play. The Versu platform can do rooms, objects, movement, and the “medium-sized dry goods” interaction of a typical interactive fiction engine, but it’s primarily designed for interactive stories about people: how they act, how they react to you, how they talk to you and talk about you, the relationships you form with them. The social landscape in which you act is constantly changing.

Versu uses an AI engine designed by Richard Evans, the lead AI designer for Sims 3, which allows each character in a story (and in some cases a drama manager AI) to act autonomously or be played by a human player.

Because there’s a strong social model at work in Versu, it’s possible to form relationships with characters that the story author did not explicitly create. In play, you can decide you want to pursue a romance or make an enemy, and that outcome can occur even if the author did not write an arc specific to those two characters.

Versu has a choice-based interface, but it’s very unlike standard CYOA. At any moment in the story, you can choose to act, or wait for others to act. If you choose to take action yourself, you’re offered a set of options drawn from the world model at that moment, from taking a bold stand to giving someone a significant sideways glance. Just about everything you can do affects your character’s opinion of the other characters, and theirs of you, altering the playing field for what’s to come. Inaction can be a powerful choice.

lucy_happyVersu offers moments of narrative emergence. Late in testing, one of my characters was talking to another in confidence when a third party wandered in. Because the speaker didn’t feel comfortable around that third person, he fell silent and didn’t continue the conversation — there was an awkward pause and dialogue moved on to other things. I’d never written the “awkward pause when X walks in on a private conversation” outcome — just an engine that knew when the characters would be willing to discuss those topics, and also that it was awkward for someone to stop talking about a conversation topic when others were expecting them to go on.

This can happen elsewhere too, in large and small ways. The degree to which emergent character behavior affects large story outcomes depends on how flexibly the author has written the overarching plot. “The Unwelcome Proposal” is an example of Versu being used very conservatively, capturing as much as possible of the story text from a scene in Pride and Prejudice, and allowing for few deviations from that story. “House on the Cliff” and “A Family Supper” have a much broader spectrum of possible results, depending on character choices and relationships. Even more sandbox-like experiences are in the pipeline.

brown_inspiredVersu allows for characters who act distinctly. A social model is only interesting for building fiction if it doesn’t make everyone act like identical automata. In Versu, different characters are built with different abilities and parameters — not a handful or a few dozen character traits, but a potentially infinite range of quirks and habits. It is possible to craft social behaviors that are unique to just one character — giving one guy the ability to get under people’s skin more than anyone else, say — or to make a character who hates being in a crowded room.

In addition, because characters are defined as separate entities in this way, they could be transferred from one story context to another, and even cast in stories that weren’t specifically written for them.

The stories we’re releasing today are just a taste of what is possible with this engine. I’ll post more of my usual analysis content over coming weeks — what it’s like to write for Versu, the difference between authoring characters and authoring stories, details of the conversation modeling system, and more about what we’re expecting to see in the future.

Choice-based Narrative Tools: Twine

The prevalence of Twine in the most recent IF Comp, together with some discussions with Porpentine (author of howling dogs), made me give it another try. For those who aren’t familiar with its output, it’s designed for building CYOA or hypertext; it creates a website output that the author can then choose to customize with standard HTML/CSS tools, or leave as-is.

Twine has been around for quite a while. Some time back, I tried it out and couldn’t get it to run properly on a Mac. This time, I had no difficulty installing and running it, so whatever updates have occurred have resolved at least my problems.

Continue reading

StoryNexus is Open

Trailed for some time as a new creative tool from the team at Failbetter responsible for Fallen London (aka Echo Bazaar), Cabinet Noir and the Night Circus, StoryNexus is now open for public use.

StoryNexus supports authors in building what Failbetter calls “quality-based narratives” — stories where the available nodes and choices depend on the player’s stats at that point in the narrative. The result is somewhat more fluid than the typical choose-your-own-adventure model, in that it doesn’t impose a strict order to the branch points, but allows the player to explore whichever of the available storylets happen to be open to him.

The only other tool I know of that currently supports this particular blend of world model and choice-based storytelling is Varytale — not entirely coincidentally, since Failbetter had considerable input about Varytale at the design stage. But where Varytale tends towards the more literary possibilities of the format, with long prose passages and a book-like presentation, StoryNexus aims more at RPG-like explorable worlds reminiscent of the original Echo Bazaar. The tool allows authors to select from artwork and theme options, and in the future will also allow authors to upload their own imagery to accompany their creations.

StoryNexus authors may offer their work for free, or may charge for it, as they like, using StoryNexus’s built in system for putting purchase gates on content. (This functionality is I think closed at the moment, but scheduled to open very soon, offering a 60/40 split with authors on any revenue a story may earn.)

Edited to add: there’s also some coverage at the Escapist.

Choice-based Narrative Tools: inklewriter

A little while back I did an interview with Rock Paper Shotgun which included, among other things, a question about what I thought of inklewriter, the branching narrative tool from inkle studios. That interview was published in a funky CYOA format, which was cool, but it means that it’s hard for me to point people at my answer to that question. And people ask me pretty frequently about different branching-narrative tools that might be out there.

Fortunately, Cara Ellison who did the interview was kind enough to say that I could reprint my answer here. It is attached below, along with some extra thoughts based on a little more work I did with inklewriter after the interview. (Also, if you’re here because you’re interested in checking out a variety of related tools, see the list in the interview as well as my previous thoughts on writing for Varytale.)

Continue reading