Slashdot Log In
Crowther's Original Adventure Source Code Found
Posted by
kdawson
on Tue Aug 14, 2007 07:08 AM
from the hollow-voice-says-plugh dept.
from the hollow-voice-says-plugh dept.
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."
Related Stories
This discussion has been archived.
No new comments can be posted.
Crowther's Original Adventure Source Code Found
|
Log In/Create an Account
| Top
| 309 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Wow.... (Score:1)
It's early. .
Re:Wow.... (Score:5, Funny)
A> "To Seek the holy grail!"
Q: "what is your favorite text base adventure game?"
A> "Colossal Cave Adventure... NO wait, blue!"
*Gets launched into the death pit*
tttttt
t t
t t
t R I P t
t t
t t
tttttttttttt
Re:Wow.... (Score:5, Funny)
Fine, fine.
For fans like me, this is like finding the Holy Grail.
Drxenos! Drxenos, King of the Nerds! Oh, don't grovel! If there's one thing I can't stand, it's people groveling!
[slightly later]
Behold! Drxenos, this is the Holy Grail of Computer Games. Look well, drxenos, for it is your sacred task to seek this Grail. That is your purpose, drxenos -- the Quest for the Holy Grail of Computer Games: Adventure. And it is written in FORTRAN.
Wait, FORTRAN? Lord, you're kidding right?
[significantly later]
He says they've already got one!
Yes, it's-a verry nice-a. It is-a coded in C.
[substantially later]
We are the Knights Who Say
Augh!!!! Stop it!
[much later]
What is the net speed of an unladen TCP/IP data packet using PPP over a 1200 baud modem?
What do you mean? With or without parity, 7 or 8 bits, with or without flow control?
What? I don't know all that! Auuuuuugh!!!
[slightly later but a little further that the previously-mentioned "slightly later"]
The Castle Stanford. Once we brave its maze of twisty little passages, all alike, our quest is at an end!
THIS IS A HOAX (Score:3, Funny)
Re:THIS IS A HOAX (Score:5, Funny)
(Last Journal: Monday April 03 2006, @07:23PM)
Well, calling it a "programming language" certainly qualifies as "fantasy"...
/ Props to HPF, though
The Fortran gods shall smite thee (Score:5, Funny)
(http://orbitaldebris.jsc.nasa.gov/ | Last Journal: Wednesday November 02 2005, @10:22AM)
c-----
IMPLICIT NONE ! Catch typos and un-initialized variables.
integer IERR_smite
character*200 ch_name
c-----
write(6,1)
1 FORMAT(/,' This is one smiting program!',/,
& ' Enter name of smitee --> ',$)
read(*,fmt='(A)') ch_name
DO while(.TRUE.) ! Endless smiting loop.
call smite(ch_name, IERR_smite)
if(IERR_smite.GT.0) goto 20
End DO ! smite loop.
20 CONTINUE
write(*,*)' Done smiting.'
if(IERR_smite.LT.0) then
write(6,2) IERR_smite
2 FORMAT(' ***Possible smiting error, IERR_smite = ',I)
endif
STOP
END
c-----
c End of Main.
c-----
Re:The Fortran gods shall smite thee (Score:4, Insightful)
rogue for me (Score:2, Insightful)
(Last Journal: Monday June 09 2003, @01:59PM)
A good example of how coding has progressed (Score:5, Interesting)
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?
Re:A good example of how coding has progressed (Score:5, Funny)
(http://www.google.com/search?q=crackhead)
Re:A good example of how coding has progressed (Score:5, Funny)
(http://stylus-toolbox.sf.net/ | Last Journal: Tuesday May 15, @11:50AM)
Re:A good example of how coding has progressed (Score:5, Interesting)
2027 is similar, there's just a lot more possible values. That rogue 1 is a continuation indicator, it would have been in column 6 on your punch card.
Re:A good example of how coding has progressed, (Score:5, Interesting)
(http://drjunge.blogspot.com/)
http://www.literateprogramming.com/adventure.pdf [literateprogramming.com]
Re:A good example of how coding has progressed (Score:4, Interesting)
(http://picknit.com/ | Last Journal: Saturday July 29 2006, @03:58PM)
Re:A good example of how coding has progressed (Score:5, Insightful)
(http://picknit.com/ | Last Journal: Saturday July 29 2006, @03:58PM)
But here's a sobering thought: Dijkstra launched his attack on the goto statement [acm.org] in 1968. Every programmer who's grown up with block structured languages would take it as a given that Dijkstra was right. But at the time, the concept was extremely controversial, and there was a lot of resistance — as evidenced by the fact that Crowther and Wood were still using computed gotos in 1976!
Re: A good example of how coding has progressed (Score:4, Funny)
(http://picknit.com/ | Last Journal: Saturday July 29 2006, @03:58PM)
Re:A good example of how coding has progressed (Score:5, Informative)
So the little snippet you posted goes to label 3 if the current character (selected by J for the integer and K for the character within the integer) is a space, and to 2 if no space has been found yet, and continues without branching if a space has been found but the current character is not a space.
If A were, more sensibly, a character array, the above would be written as
IF(A(J:J).EQ.' ')GOTO 3
IF(S.EQ.0) GOTO 2
which is no problem to read at all, despite the gotos.
The Holy Grail? (Score:1, Funny)
Found? When was it lost? (Score:5, Funny)
(http://users.rcn.com/smallpond1/ | Last Journal: Wednesday April 30 2003, @11:25PM)
Re:Found? When was it lost? (Score:4, Funny)
I've also got a programming card for an 029 and COBOL.
We were the sneaky bastards that used to put random comments and unused character strings into the code to thwart people like you. Then I graduated and became a people like you. And was constantly thwarted by people like me.
OS 360, RSX11D, RSX11M, VMS. RIP.
Re:Found? When was it lost? (Score:4, Interesting)
(http://theari.com/)
command (Score:1, Redundant)
(http://suso.suso.org/ | Last Journal: Tuesday March 09 2004, @12:03AM)
This sounds familiar (Score:1, Funny)
Re:This sounds familiar (Score:5, Funny)
Reversed causation (Score:5, Interesting)
Re:This sounds familiar (Score:4, Interesting)
xyzzy
Re:Why it was special... (Score:5, Funny)
(Last Journal: Monday September 04 2006, @10:07PM)
When I finally finished it, the screen cleared and an operator in the computer centre was typing to me and asking me to come over to the centre. I figured I'd been sprung for all the extra time I'd 'arranged', but instead they gave me printout and iducted me into the Order of Wizards!
A nerdy proud moment... (I wish I hadn't lost that printout in the intervening decades and moves.)
Re:This sounds familiar (Score:4, Insightful)
The original Zork games, as well as the rest of the Infocom games were inspired by Adventure to a large degree. It should be noted that because they were text based, some things that would be considered obvious were not necessarily obvious in those days, which added to the puzzle solving aspect of the game.
These days, everything is made almost too obvious, because too many potential customers don't like a challenge(note that many games can be beaten straight out of the box in under 24 hours of playing). Back in those days, a game could take weeks of playing to figure out what to do, beating your head against a problem for several days before a solution would present itself wasn't uncommon.
Then again, it seems that too many people never bother to pick up a book when movies are available, and never realize how horribly the film makers have screwed up a great story, so it's no wonder some people would never understand why text adventures were fun.
I must not be old enough (Score:3, Informative)
William ("Willie" or "Will") Crowther (born 1936) is a computer programmer and caver. He is best known as the co-creator of Colossal Cave Adventure, a seminal computer game that influenced the first decade of game design and created a new game genre, text adventures.
[edit] Biography
During the early 1970s Crowther worked at defense contractor and Internet pioneer Bolt, Beranek and Newman (BBN). Following his divorce from his wife Patricia, Crowther began using his spare time to develop a simple text-based adventure game in FORTRAN on BBN's PDP-10. He created it as a diversion his daughters Sandy and Laura could enjoy when they came to visit. (Montfort, 2003, pp. 85-87)
In Adventure, the player moves around an imaginary cave system by entering simple, two-word commands and reading text describing the result. Crowther used his extensive knowledge of cave exploration as a basis for the game play, and there are many similarities between the locations in the game and those in Mammoth Cave, particularly its Bedquilt section. (Montfort, 2003, p. 88) In 1975 Crowther released the game on the early ARPANET system, of which BBN was a prime contractor. (Montfort, 2003, p. 89)
In the Spring of 1976, he was contacted by Stanford researcher Don Woods, seeking his permission to enhance the game. Crowther agreed, and Woods developed several enhanced versions on a PDP-10 housed in the Stanford Artificial Intelligence Laboratory (SAIL) where he worked. (Montfort, 2003, p. 89) Over the following decade the game gained in popularity, being ported to many operating systems, including personal-computer platform CP/M.
The basic game structure invented by Crowther (and based in part on the example of the ELIZA text parser) was carried forward by the designers of later adventure games. Marc Blank and the team that created the Zork adventures cite Adventure as the title that inspired them to create their game. They later founded Infocom and published a series of popular text adventures.
The location of the game in Colossal Cave was not a coincidence. Will and his first wife Pat Crowther were active and dedicated cavers in the 1960s and early 1970s--both were part of many expeditions to connect the Mammoth and Flint Ridge cave systems. Pat played a key role in the September 9, 1972 expedition that finally made the connection. (Brucker, 1976, p. 299)
Will has also played an important role in the development of rock climbing in the Shawangunks in New York State. He began climbing there in the 1950s and continues to climb today. He made the first ascent of several classic routes including Arrow, Hawk, Moonlight, and Senté. Some of these routes sparked controversy because protection bolts were placed on rappel; a new tactic that Crowther and a several others began to use at the time. The community reaction to this technique was an important part of the evolution of climbing ethics in the Shawangunks and beyond.
Re:I must not be old enough (Score:5, Informative)
(http://www.infamous.net/)
The same thing leaving a campsite better than you found it has to do with ethics, or not littering has to do with ethics. Altering the environment and depriving others of potential experiences is an ethical issue.
A quick Googling [google.com] will reveal that "climbing ethics" is not an invention of the Wikipedia author, but is an active area of discussion among climbers.
Holy Grail (Score:2, Insightful)
(http://xmoo.com/)
This, is probably the same.
at last! (Score:4, Funny)
I was at my wit's end (Score:2, Funny)
--
phunctor
movie (Score:1)
This is very important (Score:2, Insightful)
Full source published (Score:2)
History - Looking for Scheme tarball 1986-87 era (Score:4, Interesting)
(http://www.scottmcmahan.net/)
Fight the power (Score:2, Informative)
(http://www.lazycode.info/)
Ironic (Score:1, Funny)
At Last! (Score:3, Funny)
EAMON!!!! (Score:4, Interesting)
(http://slashdot.org/journal.pl?op=list&uid=911325 | Last Journal: Monday October 29, @02:52PM)
This was fun. I remember running it on a teletype terminal in programming class (damn, thats old) BANG BANG BANG BANG BANG. You couldn't do a quick CLS to hide the evidence when the instructor came by, "Do you think paper grows on trees?" he yell. Of course all was forgiven when we showed him our course work was done. Then, he made us write our own dungeon code.
Much later, Don Brown(?) came out with EAMON [wikipedia.org], with a write your own framework. Fun fun fun.
Rel. Links (Score:2)
Original source, ported to g77 [russotto.net]
The above, compiled as a windows binary [ifarchive.org]
Does anyone remember... (Score:2)
Man, that game was just so much freaking fun; I can still see that little bird driving the snake away to this day.
XYZZY forever, baby!
Useable code (Score:1)
(http://dragonfort.net/ | Last Journal: Thursday December 23 2004, @02:21AM)
http://www.russotto.net/~russotto/ADVENT/ [russotto.net]
I just compiled and it was flawless, so cheers
C Source code in OpenBSD (Score:2)
ftp://ftp.openbsd.org/pub/OpenBSD/src/games/adven
I first played Adventure in 1979 via a TI Silent 700 [texasinstr...epairs.com] thermal paper terminal (with built in 300 baud acoustic modem) connected to a PDP-11/83 [pdp11.co.uk] running Seventh Edition UNIX [wikipedia.org] at Bell Labs. Yep, I'm that old.
Original Zork source code in MDL (Score:5, Interesting)
(http://www.donhopkins.com/ | Last Journal: Monday February 23 2004, @09:48AM)
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/ [retro.co.za]
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 [retro.co.za], there is a troll flag!
-Don
Re:Original Zork source code in MDL (Score:5, Funny)
(http://honeypot.net/ | Last Journal: Friday April 07 2006, @09:33AM)
That was a great story the last time you told it [slashdot.org], too.
ancient text-based games (Score:3, Interesting)
(Last Journal: Wednesday October 05 2005, @10:39AM)
There is a Don Woods Commemorative stamp here. (Score:1)
(http://www.donhopkins.com/ | Last Journal: Monday February 23 2004, @09:48AM)
I can't post the ASCII graphics because slashdot says "Please use fewer 'junk' characters", but you can search for "Don Woods Commemerative stamp" in the Zork source code here [retro.co.za], near the end of the file. Also check out the One Hundred Royal Zorkmids and the portrait of J. Pierpont Flathead!
One Lousy Point
GUE Postage
f.m.l.c.
Donald Woods, Editor
Spelunker Today
100 GREAT UNDERGROUND EMPIRE 100
B30332744D
IN FROBS WE TRUST
DIMWIT FLATHEAD
Series 719GUE
LD Flathead
Treasurer
One Hundred Royal Zorkmids
I had the honor of working with Don Woods on the NeWS window system at Sun Microsystems, back in 1990. He's a great guy, and a kick-ass PostScript programmer!
-Don
I played this on an IBM 360 in 1980 (Score:1)
What fun and what very fond memories.
Is it just me...? (Score:2)
(Last Journal: Tuesday September 12 2006, @03:31PM)
Re:Is it just me...? (Score:5, Insightful)
This is hard to find? (Score:2)
(http://www.5sigma.com/joseph)
Scepter/Sceptre of Goth (Score:1)
Version history? (Score:2)
I wrote my first text-based adventure game (Score:1)
(http://www.users.qwest.net/~waffleck-asch/ | Last Journal: Wednesday November 07, @04:46PM)
Well, technically, in WATFOR. And I coded it by hand on punch cards, even though I waited until the 360 operator went on a break to steal the main console and execute my runs for my players.
Selkirk College rules!
Wake me up (Score:2)
(http://www.geocities...atepower_gangsta.htm)
When Ken Thompson's 1969 Space Travel [wikipedia.org]'s source code is found.
Compiled binaries for Windows (Score:3, Informative)
Have a look:
http://www.ifarchive.org/if-archive/unprocessed/a
Not my work BTW. Credit goes to the crew on rec.arts.int-fiction.
Another classic FORTRAN game from the 70's (Score:1)
(http://www.walterbright.com/)
time to start porting! (Score:2)
Now I REALLY feel old... (Score:3, Interesting)
I worked down the hall from Willie Crowther when I was at BBN, and I asked him about why he wrote it ("I had some ideas on parsing response analysis I wanted to try"). I think I at least used to have a copy of the Fortran source code salted away on my account somewhere, though I'd probably have a problem laying my hands on it now. I just wasn't aware that anyone was looking for it.
...like finding the Holy Grail. (Score:2)
(Last Journal: Tuesday August 14, @05:41PM)
Seriously, this is a cool find (if a couple of years old). I first played Adventure in 1981, on a Xerox Sigma 7 running CP-V, in a FORTRAN implementation that had been customized a bit by the locals. (For instance, in the original game you could say "XYZZY" in the well house [or wherever] and bypass the locked grate; our version had that hole plugged.)
Later, around 1983-4, we had a Honeywell CP-6 system with an updated Adventure written in PL-6 (a pretty neat system language with customizable data structures and bit-level addressing). Somewhere, I may still have the PL-6 source for that one on 5.25" floppies. That system also included the pre-Zork Dungeon game; "the Tomb of the Implementers" and "Feel free" soon became catch-phrases around the office.
From glancing over the code, I can tell it's been a long time since I even thought seriously about writing FORTRAN (my first real language). I don't miss FORMAT statements, but I do miss the relative simplicity of most of the syntax (particularly when faced with a punctuation nightmare like LISP). In early FORTRAN, when a statement ended, it was over. You didn't have to count levels of punctuation or IF/DO/WHILE nesting across thousands of lines of code.
You only had to follow hundreds of GOTO statements....
Best (Score:1)
Twisty little mazes - not lost at all (Score:1)
I'm pretty sure I have on tape somewhere the original Fortran code - I remember trying to compile it on the Apple II - we did compile it on the MicroVAX's both Ultra and VMS. There were also flavors where people had used it as an exercise in converting to RatFOR. Anyway - I think "re-discovered" would be more appropriate - not lost and found.
Regards,
Jon
Intricate Code (Score:1)
(http://www.cryptosmith.com/)
Re:I am hoping (Score:2)
Re:Soon to be assimilated (Score:1)
Re:he was meant to say (Score:1, Offtopic)
(http://www.vanderlee.com/)
Re:he was meant to say (Score:3, Insightful)
Re:he was meant to say (Score:1)
(http://www.footballfans.tv/)
lol
funny seing peoples reaction even tho bellow the slashdot logo it says "news for nurds, stuff that matters"
Still pouting, Darl? (Score:2)
I know, you've had a bad week. Here, have a cookie.
Re:Wait for the Game... (Score:5, Interesting)
(Last Journal: Tuesday August 07, @01:18PM)
> 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.
Re:he was meant to say (Score:2)
If you're going to emphasise a word in bold, you really ought to take care to spell it correctly. Especially when it's right there in the site title at the top of every page.
Re:src listing is in a Creative Computing back iss (Score:1)
It didn't have the FORTRAN code to Adventure but did have articles such as 'How to fit a bit program into a small machine' describing Zork and ZIL (Zork Interpretive Language), a BASIC text adventure or two, and a few others.