Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Chris Crawford's Erasmatron and AI

14 views
Skip to first unread message

Jorn Barger

unread,
Aug 10, 1997, 3:00:00 AM8/10/97
to

Here's the text (without the live links) of my new webpage at:
<URL:http://www.mcs.net/~jorn/html/ai/crawford.html>, which is
intended to serve as a quick'n'dirty alternate index to the Erasmatazz
website, where Chris Crawford's new story engine-- the Erasmatron-- is
explained.

I've xposted it rather widely, so please trim the newsgroups list if
your followup is not generally relevant.

My arrangement of files may not be ideal yet (not least because I
haven't ever seen the product!), but I think for those knowledgable in
AI it gives a thorough overview of important points, and saves the
reader from having to check every single file on that site.
Suggestions for improvements are welcome, though.

===
Chris Crawford's Erasmatron story engine

Abstract: Chris Crawford has spent fifteen years trying to identify
the fundamental psychological dimensions needed for interactive
fiction, and with his new (1997) story engine-- the Erasmatron--
he's spelled out his discoveries in extensive Web-based
documentation. Crawford's inventions fill a gap that even Doug
Lenat's Cyc project had left only vaguely sketched. This webpage
will offer a detailed summary of Crawford's approach, along with
alternative links to his own pages.

I've argued, in my AI pages, that real progress in AI will only occur
when we solve the puzzle of modelling human psychology in a way that
allows computers to tell stories... but that this programming
challenge requires a new sort of thinking that has more in common with
literature than with logic.

Chris Crawford's own biographical sketch makes little mention of the
earlier incarnations of the Erasmatron elements. I first heard of his
early demo (called 'Gossip', or 'Telephone'?) in Infoworld in 1983 or
so-- this offered a group of gossiping personalities who built and
destroyed allegiances by lying and telling the truth about each other.
By 1987 this had become "Trust and Betrayal", which took place on an
alien world where the characters fought psychic battles in their
dreams. But during the 90s he reworked these concepts extensively to
support a more down- to-earth model of the adulterous intrigues of
King Arthur's court, in a still- unfinished game to be called "La
Morte d'Arthur".

The Erasmatron is an advance release of the underlying mechanisms (the
'story engine') for that game. The name derives from Chris's current
hero, Desiderius Erasmus, author of "The Praise of Folly". Chris's
company is called Erasmatazz, and has a Website with lots and lots of
fascinating documentation of the Erasmatron, most of which I'll link
to, directly, below.

Included there, as well, are a series of more general essays Chris
wrote for an online forum called "Lilan" from the Sanskrit word for
play: lila. Most of these I'll index below #.

It's very easy to list hundreds of features that a story engine should
offer, but Crawford's great genius is that he's narrowed these down to
a rich 'starter set' that delivers maximal story-interest, while still
being programmable within a finite length of time! And his choices are
wise enough that they'll surely make future evolutions vastly easier
to foresee...

The fundamental innovations include: a model of human memory that
allows gossip (via the 'historybook' and the 'grapevine'), a model of
microeconomics that allows haggling, a model of human personality that
includes some thirty traits, four moods, and eight dimensions of
relationship, and a general theory of action that specifies a network
of verbs where various 'roles' are defined for each verb, and where
various options for reactions are defined for each role, and where
'inclinations to act' can be calculated for each of these options.

(Already with this single-paragraph summary we can begin to ask: How
much of human history-- of human behavior-- is covered by this model,
and what's been left out? And how much overlap is there between these
categories and Cyc's ontology? And how much with James Joyce's
psychological framework for human history, in Finnegans Wake?)

The twentyone personality traits (unchanging for a given character
during the story) are: Timidity, Dutifulness, Magnanimity,
Gullibility, Loyalty, Enviousness, Pride, LoveHunger, Insecurity,
Integrity, Lovability, Dominance, Competence, Loquacity, Initiative,
Greed, Libido, Sexiness, Nurturance, Temper, and Joviality.
[The traits differentiated]
[Short essay: What is a personality trait?]

We can expect that future releases of the Erasmatron will add new
traits and attributes, etc, based on the feedback of authors.

The thirteen personality attributes (more or less variable):
more-variable: Whereabouts, Active (alive or dead), OccupiedUntil,
SigOther, ThingOwned, SpyingOn, and DontMoveMe
less-variable: Name, Gender, Strength, Cleverness, and Agility.
[The attributes differentiated]
[Short essay: What is a Personality Attribute?]
[Short essay: What is the Personality Model?]

The four moods are: anger, sexual arousal, joy, and fear (plus one
custom)
[Short essay: What is a mood?]
[Short essay: The moods differentiated]
[Brilliant Crawford essay on the evolution of mood as a
memory-shorthand]

The eight (finely-split!) dimensions of person-person relationships
are: Affection, Trust, Submission, Commitment, Obligation, Approval,
Envy, and Kinship. These are measured on a bipolar scale from -100 to
+100 (except commitment, which is 0 to +100).
[Short essay: What is a relationship?]
[Short essay: The eight relationship factors differentiated]

_________________________________________________________________

Verbs

An author uses the Erasmatron to create a "storyworld". Storyworlds
consist mainly of webs of definitions of verbs. Verbs always have a
subject and a direct object, and may have other secondary objects. The
subject will be either a computer controlled player, or the 'human
actor', or Fate, or Nobody. The story-engine monitors the web to
identify opportunities for action for each character, which may then
become plans, and finally real 'events'.
[Short essay: What is a storyworld?]
[Long Crawford essay on building webs of verbs]
[Essay: What is an Event?]

[Short essay: What is a verb?]
[Very short essay: What is a subject?]
[Short essay: What does Actor mean? (including Nobody and Fate)]
[Very short essay: What does HumanActor mean?]
[Very short essay: What is a DirObject?
[Short essay: What is a secondary object?]

Much of the work of creating a web of verbs will be portable from one
story to another, so I'd expect future releases of the Erasmatron to
include a huge 'generic story' that moves generic characters thru a
generic world. (This was the goal of the TownSim project on
comp.ai.games.)

The most detailed peek that Crawford's site offers of verb-structure
concerns dealmaking. It turns out that any simple deal has to be
broken down into at least eighteen verbs, to make it interesting.
Crawford's example is a negotiation with a hired bully to get them to
'rough up' another character. The resulting verbs are:
* DealForRoughUp
* OfferMoneyForRoughUp
* DemandRoughUpForMoney
* AcceptOfferMFR (Money For Roughup)
* RejectOfferMFR
* HaggleMFR
* MakeItAnOfferMFR
* GooseOfferMFR ('goose' means offer a little bit more)
* GooseDemandMFR
* GiveMoneyMFR
* VerifyDealMFR
* FulfillDealMFR
* RenegeDealMFR
* AbandonDealMFR
* VerifyFulfillmentMFR
* AcknowledgeFulfillmentMFR
* DemandFulfillmentMFR
* AccuseRenegeMFR

[Long essay: How to cut a deal]

Verbs have a complex inner structure that includes the definition of
various roles people may play vis-a-vis each verb, and the options
available for each role, about how a person with that role may react
when the verb is executed. Each option has an 'inclination equation'
that allows the story engine to choose among them.
[Short essay: What is a role?]
[Crawford essay on the theory of roles]
[Very short essay: What is an option?]
[Short essay: What is an inclination?]
[Interface docs: very detailed explanation of the Decision Script
Display]
[Crawford essay on the theory of weighting]

An unexpected invention resulting from the idea of roles is the
concept of 'hijacking', which allows a character to step into another
role, eg when a hero steps in to fight a weker character's battles.
[Short essay: What is Hijacking?]

For realism's sake, verbs have to have pre-defined 'time to prepare'
and 'time to execute', implemented using the personality attribute
'OccupiedUntil'.
[Short essay: What are a Verb's TimeToPrepare and TimeToExecute?]
[Short essay: What are StoryMinutes and StoryDays?]

_________________________________________________________________

How space is handled

One of Crawford's most daring simplifications was to eliminate
continuous space, replacing it with a small network of points. From
the perspective of naturalism, this is a painful sacrifice, but for
the purpose of storytelling it's an enormous 'win', because almost any
interesting story can be told with very little reference to precise
locations.

The point-locations in the Erasmatron are called "stages". The author
can define up to eight custom attributes that differentiate stages.
And characters are expected to prefer some stages over others, as
specified by a set of territoriality values. A special 'personality
attribute' called DontMoveMe can be used when a character is
imprisoned or unconscious, to prevent the story-engine from moving the
character off that stage.
[Short essay: What is a stage? (including Nowhere and Limbo)]
[Essay: How does the engine move actors?]
[Short essay: What does DoorOpen mean?]
[Short essay: What is territoriality?]
[Short essay: What are stage attributes?]

An unusual characteristic of space is implemented via the personality
attribute "SpyingOn". When a character is declared to be spying on
another character, the story engine will guarantee that the spy
remains unobserved, while automatically following the target from
stage to stage.

_________________________________________________________________

Memory and Gossip

The data structures that require the most space, in interactive
fiction, are those that record events, and characters' knowledge of
events.

Crawford's primary solution is called the "historybook", which records
all events in chronological order, one per 'page' (including some that
happened only in the fallacious reality of lies). Each event's page
includes its time and place, and specifies a causal event and some
number of consequent events.
[Very short essay: What is a HistoryBook?]
[Very short essay: What is a PageNumber?]
[Essay: What is an Event?] (linked above under Verbs, too)
[Author how-to essay: How do I search the HistoryBook?]
[Short essay: What is an Event's Time and Location?]
[Short essay: What is the EventCount?]
[Short essay: What is a CausalEvent vs. a ConsequentEvent?]
[Interface docs: The historybook display]

Each character has a one-bit flag for each event, called "IKnow", that
remembers if they're aware of the event. Another data structure called
the "grapevine" allows lies or betrayals of secrets to be traced to
their source. (Secret events must be so specified by the actors before
the event takes place.) Various flags specify events as fallacious or
gossip-worthy, and characters as gullible or implausible. There's even
a special verb for BelieveToldEvent.
[Short essay: What is the grapevine?]
[Essay: How do actors tell each other about events?]
[Short essay: What does Secret mean?]
[Essay: What does Fallacious mean?]
[Essay: What does IKnow mean?]
[Essay: What is Implausibility?]
[Long essay: How do actors decide what to talk about?]
[Essay: What is a Verb's Import?]

_________________________________________________________________

Miscellaneous topics

Various introductory essays:
[Introduction to Interactive Storytelling]
[What can you do with the Erasmatron?]
[Onsite index to quick overviews]
[Multi-part tutorial]
[Overview of how the storyengine works]
[Reference Manual]: How to Use the Erasmatron, and What is
Erasmatronics?
[Erasmatazz Home Page]

Crawford acknowledges several important limitations in the current
implementation:
* the author can't move characters
* the characters can only act on one stage at a time
* there's no cooperative action between multiple subjects
* there's no simultaneous action on multiple objects

[Long essay: Things you can never do]

As with text adventures, the success or failure of a given storyworld
will depend on the flair with which one composes the text descriptions
of places, events and things. But Crawford has added an experimental
graphical dimension limited to displaying the facial expression of a
character, using algorithms rather than bitmaps. (This has been a pet
obsession of Crawford's since Trust and Betrayal, and seems to me
dubious.)
[Interface docs: Tinkertory Text Editor]
[Short essay: What is a thing?]
[Short essay: What are all these custom things?]
[Interface docs: Face Editor]

The interface for the Erasmatron includes many innovations that will
be widely copied, most especially the drag-n-drop programming style
(designed to eliminate the possibility of syntax errors). Another
surprising trick is what Crawford calls "poison"-- since not all
program crashes are caused by syntax errors (eg dividing by zero),
instead of crashing the program when one of these occurs, the story
engine just makes an internal note of the 'poison' type and carries on
the best it can. There are fourteen of poison, mainly:
* math: numbers out of range (divide by zero, sqrt of negative)
* can't find specified entity

[Detailed Crawford essay on the theory behind the interface]
[Short essay: What is poison?]
[Long theoretical essay on the necessity for embracing approximate
solutions]

Displays:
[General Display]
[General Interface Rules]
[Background Display]
[Keys Display]
[Linkages Display]
[ScreenTest Display]
[Rehearsal Display]

Menus:
[File Menu]
[Edit Menu]
[Roles Menu]
[JumpTo Menu]
[Labels Menu]
[FBI Menu (Funky Bunch of Investigators)]

Programming internals:
[What are data types?]
[What is a Logical?]
[What are numbers?]
[What are CustomGlobals?]

Chris's announcement of his patent has already raised some hackles on
rec.arts.int-fiction.
[Erasmatron patent announcement]
[About the company]

_________________________________________________________________

General essays by Chris Crawford

Onsite index

Fourpart essay on the evolution of the mind:
Part 1: emotion and memory
Part 2: sequential reasoning
Part 3: speech and writing
Part 4: programming as the future universal language

Crawford essay on universal interface language
Crawford essay on importance of artists learning to program (Two
Cultures)
Short Crawford essay: Can we ask artists to program?
Crawford side-essay on the counterintuitive nature of recursion
Long Crawford side-essay on the necessity for embracing approximate
solutions
Crawford peptalk on the coming revolution in game design
Crawford essay on programming for people
Crawford side-essay on the nature of play
Very general Crawford essay on interactivity
Crawford essay arguing that interactivity requires the author give up
control over the story
Crawford essay on 'interactivizing' Romeo and Juliet
Crawford essay on the complexity of the adultery theme


j

-==---
... i loved you, so i drew these tides of men into my hands... _+m"m+_"+_
lynx http://www.mcs.net/~jorn/ ! Jp Jp qh qh
best-of news:alt.music.category-freak ! O O O O
ftp://ftp.mcs.com/mcsnet.users/jorn/ Yb Yb dY dY
...and wrote my will across the sky in stars. --R.Graves "Y_ "Y5m2Y" "

Thor Alexander

unread,
Aug 15, 1997, 3:00:00 AM8/15/97
to

What are the minimum system requirements to run the Erasmatron authoring
system?

It's MAC only right?

Any release date for Windoze?

Jorn Barger

unread,
Aug 15, 1997, 3:00:00 AM8/15/97
to

In article <33F51193...@sprintmail.com>,

Thor Alexander <harb...@sprintmail.com> wrote:
>What are the minimum system requirements to run the Erasmatron authoring
>system?
>
>It's MAC only right?

so far, 800*600*16bit
16Mb i think


>Any release date for Windoze?

supposedly by year-end


0 new messages