Newsgroups: rec.arts.int-fiction
Path: gmd.de!xlink.net!howland.reston.ans.net!ux1.cso.uiuc.edu!uwm.edu!cs.utexas.edu!uunet!ddsw1!chinet!jorn
From: jorn@chinet.chinet.com (Jorn Barger)
Subject: Deceptive RACTER claims, and TADS-RACTER-Eliza
Message-ID: <C95wGM.Gt8@chinet.chinet.com>
Organization: Chinet - Public Access UNIX
References: <C8zL72.9sC@chinet.chinet.com> <207220INN65t@SUNED.ZOO.CS.YALE.EDU>
Date: Fri, 25 Jun 1993 05:26:45 GMT
Lines: 54

Ron Evans writes:
>I am pretty sure the book was output by Racter. I've written a 
>couple of text-generating programs, and while producing
>_Policeman's Beard_ would not be trivial, it is far from impossible.
>One thing that confuses people when they buy the RACTER software,
>at least for the Mac, is that it seems way dumber than the software
>that wrote the book. It is. The RACTER you can buy is only a subset
>of the original RACTER.

A-HA!  Just as I suspected.  Ron, did you see my earlier posts to comp.
ai.nat-lang where I picked apart the first piece in "PBiHC"?  I'm
convinced the 'superset' in this case, and all the other sophisticated
pieces in the book, was just a bigger text template.  There's NO sign
of a level of 'syntax directives' sophisticated enough to steer the underlying
plots (or discourse semantics), and once you've undone the RACTERization
you see RACTER was only randomizing a template where *all* the structure
was preprogrammed.  And more deceptively, the templates have a degree of
designed absurdity to further hide their method, where the supposed
wacky personality of RACTER is really the very human wackiness of the
template-author.

>  [...] I am writing an IF in TADS called _Mad Venture_, 
>about my experiences with madness. Since a large part of the 
>game takes place in mental hospitals, I thought it would be really 
>cool to have an Eliza module for the doctors.

LOve the concept, yeah!  (I saved your earlier posting, actually.)

(MJR, are you listening in?  Here comes some tech questions...)

I want to leverage entirely off the existing TADS object system.
My level zero strategy is to generate sensible strings at random,
with the form:

"The %property% of %object% is %value%"  [not really %%%s though]

I think the way to begin this is to add to each class a "racterworthy
properties" property, which will be an array (implemented as a list),
with parallel arrays for prop-pointers, property *types*, and special
format strings.

Property types will have methods for printing the whole value, or (if
it's a list of objects) returning the list, or a single random list
element, or some more complex variant.

So eventually you could have a 'trance-psychic' who could stand in the
startroom and say:
"The garden is west of the bedroom.  The color of the chemistry book is
red.  You are carrying an empty bottle...."
choosing objects and properties at random, but sticking to the truth for
now.

jorn@chinet.com

