Interactive Fiction Syllabus / Spring 1997

Janet H. Murray


Assignment for Week 11:

3nd Annual Interactive Character Contest

The goal of this contest is to create a character who can sustain the longest consecutive coherent interaction with interlocutors. Everyone will participate as both an author and an interlocutor. As an author the goal is to build a fictional character who can sustain an engaging and coherent conversation.As an interlocutor with other people's characters you will also be a contestant by collaborating in keeping the conversation going. The prizes (choice of Toscanini sundaes or Au Bon Pain cookies) will go to whoever creates the winning character and whoever sustains the conversation longest as an interlocutor. There will also be prizes for funniest conversations. In addition there will be a surprise "trophy" handed out this year to the winning author.

The Software: Character Maker and Conversation

The Character Maker / Conversation system is an on-going project designed by Janet Murray for use in this class, and originally programmed by Jeffrey Miller, a former 21.765 student, as a urop project in HyperCard and C for the Macintosh. Last year, Matthew Gray, then a student in 21.765, created a version of Character Maker that runs on the web, and a perl version of conversation. Thanks to Phillip Tiongson both these programs are running again this year!

To access Character Maker: go to one of these urls:

Character Maker Software/primary site

Character Maker Software/alternate site.

If you use the same site consistently, it will remember your characters from one session to the next.

To save your Character:

Choose "download character" from the main page.

Then choose "save as" in the File menu.

To run your Character

on athena do these three steps:

add 21w765j

cd /mit/21w765j/www/ELIZA/Characters

conversation2 <charactername>

Requirements:

Your character should have at least 20 key words and at least 80 responses.

Notice that you will be prompted for an opening remark, a character name and a name for the "user" (interlocutor) when you go to save the program in Character Maker II.

In addition, be sure to use the following features:

synonyms and *wild cards* :

You can extend the scope of replies to the same key word by using *'s and putting in a list of synonyms.

 

randomize check box:

The program will go through the responses associated with a particular key word in the order you list them if this is not selected.

 

repeat check box:

You can determine whether a comment is recyclable or should be struck from the list of possible responses once it has been used.

 

stay on topic check box:

will prioritize staying on this topic for the reply following the one checked off

 

@DUMMY@ key word:

This set of responses will provide "default" remarks when your character runs out of other things to say. You can make the default utterances shtick remarks ("Eat a little something!") or you can make them tell a story (as in "Salesman").

 

Hints on making the Character seem responsive

 

Unlike Eliza, this program has no echoing feature, no way to repeat the input of the user, but you can anticipate input by shaping your character's statements to elicit certain kinds of answers, and then using those anticipated answers as keywords. You will want to go through an iterative process of adding key words and testing in order to be best prepared for what your interlocutors will say.

 

Be sure to pick a character who will script the user -- that is, someone whose responses will immediately tell an interlocutor what kind of a conversation this is and what would be appropriate responses. Remember this is an anti-turing test, in which the user is asked to sustain the interaction not break the program. Therefore, you have to give the interlocutor a situation that is familiar and compelling in which to improvise.

 

Finally, be sure to motivate the inevitable unresponsiveness by making it reflect a lifelike situation (Rogerian shrink, paranoid) or some comic shtick of "flat" character in which unresponsiveness makes for a good fictional scenario.

 

WARNING: This program is still a project in progress. Some of these features may not work they way you expect them to. The only way to tell how they are working is to run the program.

 

DESIGN SUGGESTIONS: In addition to your character, hand in next week a list of what features should be added to the program to make the conversations more engaging or authoring easier.