I really have no right to take credit for this, because although I must have read about Wander in the Inform Designer’s Manual some years ago, it only really registered with me after I saw a list of lost mainframe games in Jason Dyer’s recent blogpost.

Wander was probably the first computer game that is recognisable as what came to be known as a “text adventure” (or “interactive fiction”) – pre-dating even ADVENT (a.k.a. Colossal Cave) by Crowther and Woods!

But Wander was more than that because it seems to have been designed to be a tool to allow users to create “non-deterministic fantasy stories”[1] of their own. So perhaps it would be more accurate to say that Wander was in fact the earliest known precursor to modern interactive-fiction development-systems like Inform 7!

Wander was thought to be lost, presumably languishing on one or more of the slowly decaying tape-reels of mainframe history. But Jason’s description of Wander on his blog was so intriguing, and the thought that there might still be a chance of finding it again was so tantalising, that I felt I just had to try to get in touch with the original author and programmer, Peter Langston – which proved to be remarkably easy to do.

A few emails later, and Peter, who is incredibly obliging, sent me a file named “Wander.tgz”, which contained source code and documentation for a 1980s release of Wander, which he had extracted from archived emails and then massaged into a form that would be usable today.

Sure enough, after a little tweaking, necessitated by the quirks of the ageing version of Mac OS X that I insist on using for some strange reason, I successfully compiled and ran the code and was thrilled to see the following text scrolling up my Terminal window:

$ ./Wander

Just Imagine … You are traveling as First Under-secretary to the Ambassador for the Corps Diplomatique Terrestrienne, (CDT). Your direct superior, Mr. Magnan, has managed to duck out of the action and leave you as sole assistant to his superior, Ambassador Pouncetrifle. (The Ambassador is a classic bungler and would, if left on his own, mess things up badly.) You have been sent to Aldebaran III where you are to avert an uprising against Terran nationals expected at the end of April. During your trip you were able to peruse the ship’s meager library and make a few notes on the history, life-forms and society of Aldebaran III, but much of Aldebaran culture is still a mystery. It is the middle of the night; the ship on which you arrived has just departed from the small spaceport which you find to be windy and deserted. wrdadd(ask, 0, 0, 0) returns 38 lastrw=38

which(“ask”) = 38

wrdadd(question, 38, 0, 0) returns 39 lastrw=38

which(“question”) = 38

I’ve omitted several more lines’ worth of diagnostic messages, which seemed to be running through the nouns and verbs in the “a3” demo game file that Peter sent to me along with the source code. The transcript now resumes (with the commands I typed in in bold):

You’re in the Aldebaran III spaceport. An electrified chain link fence surrounds the area with gates leading west and south. There is a credit card here.

take credit card

Done

Your account has 50 credits left.

(You can type balance any time to find current status).

Aldebaran III Spaceport

balance

Your account holds 50 credits.

Aldebaran III Spaceport

north

ZZZAAAAPPPP! OUCH!

Aldebaran III Spaceport

south

You are in the tiny waiting room for the spaceport. No one is around.

There is a large vending machine here with a dark window, several buttons, and a large slot marked “insert credit card here”. inventory

You are carrying some official identity papers

and some notes

and a credit card

kick machine

That would only help if the machine was broken, and it’s not!

Waiting Room

I’m no expert on C programming or indeed on interactive fiction, so I’m still trying to work my way through the code and the documentation that Peter sent me, but I think I can say without hesitation that this has all been a completely astounding and wonderful turn of events.

Many, many thanks to Peter and Jason for allowing me to be part of a rather historic moment.

[UPDATE 1: Peter Langston sent me a second version of “Wander.tgz”, derived from a 1980s release of Wander, which I had linked to here, but Peter has asked me to replace that second version with this third version “with save/restore actually working and with three more of the 1980 Wander worlds.” This third version still compiles on Mac OS X 10.6.8, and should compile on Linux too.]

[UPDATE 2: Another copy of Wander has now been found (along with the rest of Peter Langston’s 1980 PSL Games distribution, which Wander was part of). It was found by chineur Doug Merritt. This copy contains three more Wander “worlds”, in addition to the “a3” world that I’ve quoted from in the main post above. It’s now on Github.]

[UPDATE 3: favardin has compiled Wander for Windows and Linux.]

[UPDATE 4: I’ve hacked the source code to create a crude DOS port of Wander: it’s playable, but the SAVE and RESTORE commands are broken – please contact me if you know why. I then packaged up my DOS hack into an em-dosbox version which is playable online: click here to play Wander online. Again, please get in touch if you can improve either the DOS version or the web version, or if you know how to make a pure-emscripten port of Wander.]

[1] Quotation from the file “Wander.txt”, the man page for Wander, sent to me by Peter Langston with the source code.