Galaxy’s Edge is a two-part text adventure game created in 1984 for the 8-bit BBC Micro computer by Graham Nelson. I believe it was this Graham Nelson, the creator of the interactive-fiction programming language Inform – at least, people seem to think it was him. [UPDATE: It definitely was.]

Loading screen for Galaxy’s Edge, part 1

Part 1 of Galaxy’s Edge is a conventional but well constructed adventure in which you roam the stars in the Scout Ship Orion and unravel an intergalactic mystery.

Screenshot of the beginning of The Discovery, the first part of Galaxy’s Edge

The second part, Escape From Solaris, is an ingenious two-player game which was designed to be run either on a single machine, in split-screen mode, or on two separate BBC Micros connected together by a special cable (the wiring diagram for which now seems to be lost, together with all other original documentation).

Screenshot of Escape From Solaris, the second part of Galaxy’s Edge

I don’t think Galaxy’s Edge was available to play or download anywhere till now. I recently grabbed a rare copy of the cassette tape that came up on eBay, and I converted the contents so that the game could be played in a BBC Micro emulator like BeebEm.

My copy of the Galaxy’s Edge cassette tape

Here’s a link to a BBC Micro disk image containing a transfer of my copy of the game.

I don’t know enough about the author’s oeuvre to be able to draw out any clever thematic connections between this early work and his subsequent legendary output. (Assuming I’ve got the right Graham Nelson, that is – I’m still not absolutely sure that I have. If you can confirm or deny the attribution, then please let me know. [UPDATE: Confirmed.])

A 1984 magazine review of Galaxy’s Edge

I’ve played the first part of Galaxy’s Edge – the single-player game The Discovery – and I’ve managed to get promoted, but I know that’s not the best possible result. Can you do better..?

In previousposts, I wrote about Wander (1974), the interactive fiction creation tool for mainframe Unix systems. But my speciality (I use the word laughably) is text adventure games for the BBC Micro, the legendary 8-bit microcomputer that helped kickstart the 1980s home-computing revolution in the UK. (The story of its creation has been immortalised on film.)

The Secret of Arendarvon Castle by Arend Rensink is a text adventure game that was written not just for the BBC Micro but also for the Sinclair Spectrum, the Apple II, the Commodore 64, and the IBM PC. The game was notable for several reasons.

Bytecode

Firstly, the fact that there were versions for so many different systems can be explained in part by the way that the game was implemented — as a sort of bytecode. The bytecode ran on a small virtual machine, and there was a different version of the virtual machine for each of the home computers that the game was released for.

If you know about Infocom’s virtual Z-machine then you’ll find the concept familiar, but, as the author Arend Rensink told me after I asked him about the similarity, his own bytecode, ALADIN, was an independent invention:

It was independent; in fact, this is the first time I’ve heard of the Z-machine at all. Yes, I agree that it looks like essentially the same idea, and clearly they [Infocom] were there before. Well, in my defense I can claim that literature research was somewhat more cumbersome back then…

The idea of portable bytecode was a good one, but, in practice, it seems not to have worked out exactly as intended:

… the encrypted [data, much of which] is … a kind of bytecode avant la lettre … is … different from one computer to the next. That’s really a pity, for it means that your work will not be reusable [on machines other than the BBC Micro]. I suspect it might have something to do with memory layout differences, but I do not remember …

A program listing from The Secret of Arendarvon Castle

Type-ins

The “work” that Arend mentions is my cue to talk about the form in which Arendarvon Castle was distributed. As wasn’t uncommon in the 1980s, the game was published in the form of a BASIC program listing in a book, which you were supposed to type in by hand.

Yes, that’s right. You were meant to spend hours painstakingly typing and checking and re-checking and cursing and crying your way through the listing till every single line — sometimes hundreds of them — and every single command, string, and colon had been entered into your computer in exactly the same way that it had been printed in the book. And even then, when you were absolutely sure you had corrected your every last typo, the program often wouldn’t work because there had been a printing or typesetting error that hadn’t been caught before the book went to press.

Checksums

Although there was no way to guarantee that a listing would be free of printing errors, Arend Rensink came up with one innovation for Arendarvon Castle that at least made it easier to spot when you yourself had made a mistake: checksums. The book included a program that would detect whether the bytecode that you’d typed in, which appears in the listing as long sequences of unintelligible numbers and letters, had an error in it. This was a godsend, which saved you a lot of time and bug-hunting eye-strain, and I can personally attest to that because I used the checksum program when I and another willing scapegoat recently sat down to input the listing into a BBC Micro emulator.

Thankfully, we weren’t typing everything in by hand. Arend had already put scans of his whole book online, including the listings, and it was those scans that we initially tried to go by. But they soon proved to be of too low a resolution to be useable. So I contacted Arend and told him of our plight, and he very kindly supplied higher-quality scans of the listings, and even OCRed them for us. The OCRing wasn’t perfect, but it was a start, and, with the help of the checksumming system, the game was soon up and running in BeebEm.

The game we typed in can now be played online. As far as I know, this is the first time The Secret of Arendarvon Castle has been put online in English. (The game and the book were also published in German and Dutch.)

Where am I?

The game is unusual for a text adventure because the player doesn’t use compass directions to navigate her way through the locations in the game, but instead uses the commands LEFT, RIGHT, AHEAD and BACK. So you have to keep reorienting yourself whenever you enter a room.

In a conventional text adventure in which you move by going NORTH, SOUTH, EAST and WEST, you can usually go from, say, the South Chamber to the North Chamber by walking north, and then return to the South Chamber by going south. In Arendarvon Castle, you’d make the same round-trip by going AHEAD and then BACK but, on your return, all the exits from the South Chamber would effectively be “reversed”, so that whatever was RIGHT before you left the South Chamber will now be LEFT, and vice versa.

This makes for tricky gameplay, although you’d probably get used to it in time. I haven’t had the chance to find out, though, because I always seem to be on the hunt for new old games, and forever distracted from actually sitting down to play any of the ones I’ve already found!

Artwork

But perhaps Jason will add this one to his list of All The Adventures that he’s been playing his way through. If so, he’d be well advised to download the scans of the book that Arend Rensink intended the player to consult frequently while playing the game, because they contain a lot of supplementary — and in fact essential — material that you’ll need if you want to discover all the castle’s secrets.

The stories, journal entries, mock newspaper clippings and other documents in the book are the last — but not the least important — reason that The Secret of Arendarvon Castle is a noteworthy entry into the canon of classic text adventure games. The book is lavishly illustrated, by Bert Vanderveen, and the pictures, together with the detail in the accompanying text, conjure up an atmosphere full of occult intrigue that would surely have enticed many[1] a home micro user in the 1980s to take the plunge and start typing in those lines and lines of source code, one character at a time.

More details about The Secret of Arendarvon Castle, particularly its authorship, can be found here at CASA, the Classic Adventure Solutions Archive.

A disc image of the game suitable for loading into BeebEm, the BBC Micro emulator, is available here.

[1] I say “many”, but in fact it’s not clear exactly how many copies of Arendarvon were sold. In Arend’s own words, “It’s certainly never been a rainmaker ;-)”

This em-dosbox repackaging of a DOS port of Wander was created by me, using blunt instruments. (I broke the SAVE and RESTORE commands, for example.) Please contact me if you know how to improve my rather crude hack.

Which came first? Wander or ADVENT?

Some of the Wander “worlds” that were recently recovered are 1980s versions, and include features that were added in response to ADVENT. (Peter Langston was apparently a member of the “UNIX Adventure Tastefulness Committee”, which was convened to sort out “Various design questions” surrounding the conversion of ADVENT to UNIX.)

But the very first versions of Wander – which are still lost – date from 1974 or earlier, so you can’t help asking yourself (or at least I can’t) if Wander might have been an influence on the development of ADVENT, which was always thought to be the first work of interactive fiction on a computer.

Was Wander distributed widely enough for Will Crowther and/or Don Woods to have had the opportunity to see it before they wrote ADVENT?

If the answer is no, then that does that mean there’s something fishy going on? Surely two people couldn’t independently have come up with the idea of a textual game of exploration where you navigate using compass directions?

Okay, so it is possible to make a text adventure game with a different set of navigational commands, but compass directions are probably easier for the player to use and for the programmer to implement. Also, for Will Crowther, compass directions might have been the natural choice when he was writing ADVENT because he was a caver who used a compass to map out underground cave systems in real life.

Non-deterministic non-linear story experiments

But what about Peter Langston? If he started working on Wander in or before 1974, did he implement compass directions from the beginning? We may never know – unless the earliest source code is found, which seems unlikely. (But perhaps Jason Dyer’s forthcoming blogposts will dig up some interesting artefacts from the code we already have.)

So, do we know anything else at all about the origins of Wander? Well, I did ask Peter that very question (before finally realising that I ought to leave him in peace now). His reply:

As to Wander’s inspiration, as I was writing other games, I got to thinking about the non-deterministic non-linear story experiments I had heard of the French doing in the 1920s, where the reader made choices that determined how the story went. I figured that fairytales like Rapunzel or science fiction like the Retief stories would be a good basis for such stories and computers would be the perfect way to present them, but it would require a great deal of programming skills along with the storytelling skills. So Wander was an experiment to see if the programming part could be made easier by pre-coding the common kinds of actions and consequences. I had the vague idea that I could make it easy to use and then coax some real authors like Robert Sheckley into writing some wanders. I never got that far, of course.

It’s a crying shame that we never got to see the words “A wander by Robert Sheckley” flash up on a computer screen!

I’m not sure exactly who the French writers that Peter refers to are. Raymond Queneau has been suggested for Un Conte À Votre Façon (1967), but that arrived several decades after the period indicated by Peter. If you have any other suggestions, please let me know.

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.

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 Spaceportbalance
Your account holds 50 credits.
Aldebaran III Spaceportnorth
ZZZAAAAPPPP! OUCH!
Aldebaran III Spaceportsouth
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 cardkick 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 chineurDoug 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 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.