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 “More on Seven Fables: Planning a Conversation Model”

Talk at GDC 2011 AI Summit

I’m going to be speaking at GDC’s AI summit again this coming year, this time about the behavior and conversation modeling on a project I’m working on with Richard Evans and Andrew Stern. (Session write-up here.)

Last year was a great time, and I’m looking forward to this a lot — thanks again to Dave Mark and Steve Rabin for organizing the summit.

GDC: Marleigh Norton, Conversation Interfaces

So, it’s the middle of IF comp, but I spent much of this week attending the game narrative summit at GDC Online.

Tuesday I went to sessions on storytelling in Rock Band; puzzle and storytelling (by Clara Fernandez-Vara, of the Boston IF crowd); exposition in games, and how to distribute it at the levels of structure and system as well as overt narrative; and a writing critique session that was largely about how to give useful, productive feedback to other writers. But inevitably the talk I was most keen to see was the one on interactive dialogue, by Marleigh Norton.

Norton’s background is in interaction design, and she had some intriguing ideas about how to use forms of interaction other than the dialogue tree. (Another write-up of that talk is here.) She started out by saying that she’s an academic and so she hopes that people will steal, use, and/or modify her ideas — so here are some of my own riffs on the things she presented.

Continue reading “GDC: Marleigh Norton, Conversation Interfaces”

Conscript conversation scripting

At GDC I picked up a copy of the latest Game Developer magazine, and then forgot about it until a couple of days ago someone mentioned that that very issue contained an article by Brent Friedman on conversation coding that mentions Inform 7 and TADS 3, as well as outlining his own system. HELLO. So I did a little luggage archaeology and had a look.

Friedman outlines (and provides code samples of) Conscript, a language he’s developed for scripting conversations.

First of all, for those curious about the IF coverage, what Friedman says is fairly brief, and potentially misleading. For both TADS 3 and Inform, he describes a way conversation might be implemented in that language, while implying that it’s the sole way possible — footnoting, for instance, just one of the numerous I7 code examples on the topic.

All the same, I was happy to see IF mentioned as a place where this work is being done, and also happy that Friedman didn’t feel the need to explain in detail what IF is. (But then, I got the impression from GDC that modern IF is a bit better known among professional developers than I would have expected.)

Second, as to Conscript itself, I had mixed feelings.

Continue reading “Conscript conversation scripting”

Moods in conversation

Question from Conrad Cook:

I’m wondering how you mesh variable tracking with conversation.
You’ve mentioned _Alabaster_ tracks a lot of variables, and I can
conceptualize how that would be reflected in, for example, the
artwork. But I’ve been wrestling for a while with how to use the
conversation to move the NPC’s variables, and how to have those
variables be reflected in the course of the conversation, and so far
I’m not winning that wrestling match.

Alabaster’s source is available, so it’s possible just to look at what’s going on there — but possibly more difficult to suss out exactly what the plan is throughout the source. A technical discussion follows.

Continue reading “Moods in conversation”