Crowther's Original Adventure Source Code Found
drxenos writes "I don't know how many of you are fans of old-school text adventures (interactive fiction), but Will Crowther's original Fortran source code has been located in a backup of Don Woods's old student account. For fans like me, this is like finding the Holy Grail."
I looked at the various FORTRAN files and am amazed at the spaghetti GOTO maze which, although messy, was probably the only way to do things in FORTRAN at the time with no structuring capability.
A random example:
IF(K.NE.1) MASK1="177*M2(K)
IF(((A(J).XOR."201004020100).AND.MASK1).EQ.0)GOTO 3
IF(S.EQ.0) GOTO 2
Wow! Is that the opposite of self-documenting code or what?
Those interactive books came about because of Adventure.
Can we get a "-1 Wrong" moderation option?
This is why the grandmaster of 'Literate Programming', Donald Knuth, has done a translation into his CWEB Language which is totaly devoid of jumps and other 'dirty' Fortan:
http://www.literateprogramming.com/adventure.pdf
Zork was the reason I got on the ARPANET, back around 1980 or so. I was using Bruce's Northstar BBS that had an adventure game that Bruce had written in Basic, and he told me how to play Zork: first, dial up the NBS TIP, connect to MIT-AI (the command was "@L 134", because the ARPANET had 8 bit host numbers, and AI was 134), and apply for an account to learn Lisp. Once that was granted, I connected to MIT-DM ("@L 70"), and logged in as URANUS, password RINGS, used :CHUNAME to change my user name, and waited until one of the two people playing Zork quit, to take their slot. Later somebody told me the magic words to use to get an account on DM, so I applied for my own account on DM, claiming that I wanted to "Learn MDL for calculus and algebraic applications". The source code to Zork was well hidden. DM ran a weird version of ITS that had some kind of file security or cloaking, it was rumored. I was always looking for the Zork sources, but never found it on DM.
Years later I googled for a unique phrase that was only in the original DM version of Zork, and this URL popped up: http://retro.co.za/adventure/zork-mdl/
The original MDL source to Zork is really beautiful code that's almost as fun to read as it was to play. I had discovered a bug in the InfoCom version of Zork, which turned out to be in the original sources. When you're fighting the troll who's wielding an Axe, you can give anything to the troll and he will eat it. So I tried "give axe to troll" and he ate his axe, then cowered in the corner! Better yet you can go "give troll to troll" and he will eat himself and disappear, unfortunately not clearing the troll flag that is required to leave the room, so if you try to leave it prints a message saying the troll fends you off with a menacing gesture, and stops you from leaving. Sure enough, in the original sources, there is a troll flag!
-Don
Take a look and feel free: http://www.PieMenu.com
You are in a debris room filled with stuff washed in from the surface. A low wide passage with cobbles becomes plugged with mud and debris here, but an awkward canyon leads upward and west. There is a PDP-10 with a card reader and terminal here. A box of punchcards sits nearby.
> get box
You now have the box of punchcards.
> input cards
You carefully feed the cards into the card reader.
> look terminal
The terminal says:
YOU ARE STANDING AT THE END OF A ROAD BEFORE A SMALL BRICK
BUILDING. AROUND YOU IS A FOREST. A SMALL
STREAM FLOWS OUT OF THE BUILDING AND DOWN A GULLY.
- None can love freedom heartily, but good men; the rest love not freedom, but license. -- John Milton