From: utzoo!decvax!harpo!eagle!mhuxt!mhuxa!mhb5b!mjs
Newsgroups: net.games,net.ai
Title: Re:  Could a computer play zork?
Article-I.D.: mhb5b.227
Posted: Wed Mar 23 13:28:34 1983
Received: Thu Mar 24 20:42:04 1983

One way a computer (program) could play zork is through a generic
"expert system".  We have been using such a system called "RITA" (Rand
Intelligent Terminal Agent) for a while here, and while the
specification of rules is done in a language that very closely
resembles English, the "knowledge engineer" (rules author) would have
to know (and be able to code) how to play a game like zork or
adventure.  For instance, the rules would have to be able to recognize
whether or not the current location has been visited, whether there are
any (movable) objects present, etc.  Here's a rule that might be useful
in such an agent.

rule new_room:
if there is not a room whose name is the name of the current_room
then create a room whose name is the name of the current_room
and whose objects is the objects of the current_room
and whose exits is the exits of the current_room
and whose description is the description of the current_room;

A skeleton of the data structure I would use to represent a room looks
something like this:

object room:
	name is "West of House",
	description is "You are standing west of a white house....",
	exits is ((direction, room_name), ...),
	objects is ("mailbox");

In this fragment, things inside parentheses represent members of a
list, and exits is a list of 2-element lists.

Now that it's been suggested, I may (in my copious spare time (both
seconds of it per day)) actually implement an adventure runner.

The documentation of RITA and ROSIE, its successor, are available
through NTIS, and I can dig up the reference numbers to post to the net
if there's enough interest.

		Martin Shannon, Jr.
Phone:		(201) 582-3199
Internet:	mjs@mhb5b.uucp
UUCP:		{allegra,rabbit,alice,mhb5b,mhb5c}!mjs
USPS:		600 Mountain Avenue Room 5F-120
		Murray Hill, NJ 07974