BackDrops  Views  Lego  Megabloks  Puzz3D  Compilers  MUDs

The Six/Fant Adventure Game System

Quest  Uncle

There have been many text adventure games over the years, and many systems for producing them. My first exposure was to the original Adventure game running on a DEC PDP-11 under RT-11 or some other DEC operating system. First, we played Adventure, and then the original Zork came out. This first version was all one game, not one split into three parts like the version from Infocom.

Unfortunately, the Zork game was written in DEC Fortran, and ran only on the RT-11(?) system. We normally ran a very early UNIX, so didn't have access to it. I *wanted* access. So, I took the binary of the game and made it run under UNIX. There were two versions of my stuff for doing that. One was fairly slow and made extensive use of the 'ptrace' debugging interface to trap and handle the foreign system calls. A later version linked support for the traps directly into the slightly modified binary, which was then run directly under UNIX. A classic hack, I think!

Later, my boss at the time told me that he had written a PDP-11 emulator for the Amdahl (IBM 370 compatible) mainframe downstairs. So, I spent a while more hacking to try to get my hacked version of Zork to run under his emulator. I eventually gave up on it - after about 3000 instructions, the version on the emulator did something different than the native one. The thought of debugging both his emulator, and my two levels of hacking, all at once, was a bit much even for me!

Eventually, a PL/I version of Adventure arrived on the mainframe, and more people had access to it. It was fairly expensive to run, however. Some of us wanted to write our own adventure games. This was when my friend Alan Covington and I decided to write our own adventure system. (The history here is very hazy, so I'm sure there are interesting things I'm forgetting completely.)

I had already written a compiler for the mainframe (QD), so we decided it would be reasonable to invent a virtual machine for adventure games, and to write a compiler for a game language and an emulator for the machine. I went off to do the compiler, and Alan went off to do the emulator. I recall that we had to make a few design changes/additions throughout the effort. Eventually, however, we were done, and the Six/Fant system was ready for use. I wrote some games, including a version of the old Adventure, my friend Douglas Martin wrote some games, and several others wrote games as well (few of which were ever finished).

Somewhere in the middle of the Six/Fant time, I managed to lose the sources and objects for the QD compiler (I was up to QC by then), so Six/Fant was frozen forever. I have paper listings, and they show that Six was 65 pages of listings, with a new page started for each routine (there are no page numbers, and the line numbers are not contiguous), and that Fant was 46 pages in a similar style.

The first "world" done in Six/Fant was just a simple example one. Several more games were produced before final documentation was. I've typed the documentation in from a listing, and it can be seen here. The "ex.6" example referenced by it appears to be lost, but I did find a listing of an even older variant, which can be found here. Please ignore the way it is indented - I don't do that anymore, honest!

Full source for 3 of the Six/Fant worlds has survived. They are:
adventure.6 (160K)
mansion.6 (167K)
this.6 (217K)
Hmm. It appears that this is the uncensored version of 'This'. Examine at your own risk!

Another setup I created for creating games with parsed text input was called "Quest". It was written using my Draco programming language, and ran on CP/M. I think there was also a later version translated into C and run on UNIX. Rather than having a programming language, this system was a set of library routines intended to be used from a regular language. Info about Quest can be found on this page.

My AmigaMUD system can be used for single-player text adventures as well as for multi-player MUD systems. Either can be with or without multimedia. Early on in that project, I started work on a text adventure that I called "Uncle". I haven't worked on it for quite a while, so it is likely not quite compilable anymore. However, there are some fun things started in it, such as an ingredient based magic system. A page containing its sources is here. Full information can be found on my MUD pages.


Up  Home