Newsgroups: rec.games.int-fiction
Path: gmd.de!xlink.net!howland.reston.ans.net!agate!pasteur!cory.Berkeley.EDU!librik
From: librik@cory.Berkeley.EDU (David Librik)
Subject: Re: Scott Adam's Adventureland
Message-ID: <librik.739874433@cory.Berkeley.EDU>
Sender: nntp@pasteur.Berkeley.EDU (NNTP Poster)
Nntp-Posting-Host: cory.berkeley.edu
Organization: University of California, at Berkeley
References: <1993Jun3.154456.25387@nomina.lu.se> <1993Jun4.111322.8289@swan.pyr> <1v60ru$46t@agate.berkeley.edu> <1993Jun10.091648.4990@swan.pyr> <FRANK.93Jun11195629@sundance.twg.com>
Date: Sat, 12 Jun 1993 08:40:33 GMT
Lines: 59

>In article <1v60ru$46t@agate.berkeley.edu> 
>phelps@mahogany.CS.Berkeley.EDU (Tom Phelps) writes:
>>Alan Cox writes...
>>> The interpreter used for Scotts games is also documented and has been
>>> cloned before now. The biggest problem is the database of the game is
>>> compiled into the game itself on most versions.
>>Does anyone know where this documentation and clone are located?

>And in article <1993Jun10.091648.4990@swan.pyr> 
>iiitac@swan.pyr.ac.uk (Alan Cox) writes:
>>BYTE sometime in 1979.

December of 1980.  And this doesn't count as "documented" -- seven pages
of unreadable data.  It would take a tremendous amount of work to figure
this out, the sort of work only a teenaged hacker would invest.  Luckily,
I did it -- I'll see if I can find it.

Keep in mind that the interpreter given in BYTE (and in a 1980 issue of
Softside, which gave Adventureland code) is the original BASIC version of
Scott's interpreter.  After prodding from Lance Micklus, he rewrote it
in assembly language.  All further adventures were in assembly, and the
interpreter is more advanced.

The cassette releases of Scott Adams's adventures combined the interpreter
and the data, but the disk releases had the interpreter and data files
separate -- three adventures were put on one disk that way.  (This is, 
of course, for the TRS-80).  An enterprising programmer could just provide
an IBM PC interpreter and a program to convert the TRS-80 data files to the
appropriate PC format; thus people who already own the disk versions could
play them.  If you can contact Adventure International, or whoever owns the
copyrights on the Scott Adams games, you could see whether you could get
rights to release the data files, too.

By the way, a note to anyone who goes ahead and writes an interpreter:
I have seen so many awful ports of software that I feel I should say a
few words about making usable software:
(1) If you release code, document it.
    This doesn't mean big function headers or flowcharts.  It means
    explanations of how the data structures work and comments telling
    what the functions do, so a C-literate person reading the code
    doesn't need to figure it out.
(2) Don't use stupid color schemes or (worse) 44-line-modes.  80x25 is
    readable, nothing else is.  White on black, or white on blue.  If
    it worked for Infocom, and it worked for Scott Adams, it'll work for
    you too.

Anyway, if you can't get documentation about the later (assembly) versions
of the interpreter, the only solution I can think of is to trace the TRS-80
code.  Bleah.

Speaking of Adventure International, does anyone remember Jyym Pearson's
games?  "The Curse of Crowley Manor" (very terrifying bits in that), "Escape
from Traam", "Lucifer's Realm" (escape from Hell, literally), "The Paradise
Threat" (Groucho Marx meets you in Heaven).  Some of the best-plotted games,
though the interface was primitive.  (Even farther removed from the
original topic, did anyone play AI's STARFIGHTER?  A complex and clever game.)

- David Librik
librik@cs.Berkeley.edu
