Domain: rickadams.org
Stories and comments across the archive that link to rickadams.org.
Comments · 25
-
For me, ADVENTURE opened lots of doors...
[repost from April]
FORTRAN was -- for some still is-- the 'Perl' of scientific computing. Get it in and get it done... and it doesn't always compile down very tight, but always fast because for mainframe developers getting this language optimized for a new architecture was first priority.
At 15, the first real structured program I ever de-constructed completely while teaching myself the language, was the FORTRAN IV source for Crowther and Woods Colossal Cave Adventure, widely regarded as 'the' original interactive text adventure, a genre which would later go multi-user to become the MUD. Read about it here, or play it in Javascript.
FORTRAN IV and Dartmouth BASIC (I'll toss in RPG II also) were the 'flat' GOTO-based languages, an era of explicit rather than implicit nesting -- a time in which high level functions were available to use or define but humans needed to plan and implement the actual structure in programs mentally by using conditional statements and labels to JUMP over blocks of code. Sort of "assembly language with benefits".
Crowther's PDP-11 Adventure version was running on the 36-bit GE-600 mainframes of GEISCO (General Electric Information Services) Mark III Foreground timesharing system... this is in the golden age of timesharing and no one did it better than GE. It took HOURS at 300bps and two rolls of thermal paper to print out the source and data files, and I the Adventure code and data out on the floor and traced the program mentally, keeping a notebook of what was stored in what variable... I had far more fun doing this than playing the game itself.
Then the "real life" adventure began. I started poking around on the Mark III timesharing system, and found a way to jump out of my partitioned access and explore. What really helped was a collection of FORTRAN/77 system utilities written by an engineer working at GEISCO (this is General Electric, no relation to GEICO and the year is ~1980). Their development environment as well as the commercial systems were controlled by password protected accounts, each with file/user areas... BUT there was also this command line debugger that was able to write to memory regions beyond your own job, and if you were able to parse out memory structures (reading source for the utilities helped) you could "punch yourself in" to any user number (location), effectively changing identity to that of another user and seeing their files. Or examine the buffers containing character streams of other users' terminals in real time. It was fascinating and I soon had developed a suite of tools in F77 to assist in exploration of the system, leap-frogging onto the commercial file systems too. I kept the source encrypted by the F77 'SCRAM' function, decrypting it only to edit and compile. My cache of tools was stored "in" a user number that did not exist, you can think of it as a unpointed-to lost cluster of sorts. I was totally white hat about it, never prying into customer files (McDonald's etc.) and even wrote a summary of vulnerabilities and dropped it into one of their secure areas. I just wanted to be hired. Cat 'n mouse games ensued, even a trace and FBI phone tap. GEISCO originally thought I was a rogue employee but when they learned I was just a kid the heat was off, they were afraid of public embarrassment.
GE actually bought me a plane ticket to Rockville MD so they could pick my (now 18 year old) brain, and the matter was closed soon after. In the end I was not hired or even encouraged to apply and learned a valuable lesson about corporate culture, that it was not for me.
Some eight months after my little escapade, the 414 kids made national headlines and one of them even got his face on Newsweek magazine... and I am thinking to myself, I was there first.
Lots of peopl
-
Yet another version...
The FORTRAN source can be found here:
http://rickadams.org/adventure... -
FORTRAN, Adventure and adventures in hacking
Aside from BASIC and 8080/Z80, FORTRAN.
FORTRAN was -- for some still is-- the 'Perl' of scientific computing. Get it in and get it done... and it doesn't always compile down very tight, but always fast because for mainframe developers getting this language optimized for a new architecture was first priority.
At 15, the first real structured program I ever de-constructed completely while teaching myself the language, was the FORTRAN IV source for Crowther and Woods Colossal Cave Adventure, widely regarded as 'the' original interactive text adventure, a genre which would later go multi-user to become the MUD. Read about it here, or play it in Javascript.
FORTRAN IV and Dartmouth BASIC (I'll toss in RPG II also) were the 'flat' GOTO-based languages, an era of explicit rather than implicit nesting -- a time in which high level functions were available to use or define but humans needed to plan and implement the actual structure in programs mentally by using conditional statements and labels to JUMP over blocks of code. Sort of "assembly language with benefits".
Crowther's PDP-11 Adventure version was running on the 36-bit GE-600 mainframes of GEISCO (General Electric Information Services) Mark III Foreground timesharing system... this is in the golden age of timesharing and no one did it better than GE. It took HOURS at 300bps and two rolls of thermal paper to print out the source and data files, and I the Adventure code and data out on the floor and traced the program mentally, keeping a notebook of what was stored in what variable... I had far more fun doing this than playing the game itself.
Then the "real life" adventure began. I started poking around on the Mark III timesharing system, and found a way to jump out of my partitioned access and explore. What really helped was a collection of FORTRAN/77 system utilities written by an engineer working at GEISCO (this is General Electric, no relation to GEICO and the year is ~1980). Their development environment as well as the commercial systems were controlled by password protected accounts, each with file/user areas... BUT there was also this command line debugger that was able to write to memory regions beyond your own job, and if you were able to parse out memory structures (reading source for the utilities helped) you could "punch yourself in" to any user number (location), effectively changing identity to that of another user and seeing their files. Or examine the buffers containing character streams of other users' terminals in real time. It was fascinating and I soon had developed a suite of tools in F77 to assist in exploration of the system, leap-frogging onto the commercial file systems too. I kept the source encrypted by the F77 'SCRAM' function, decrypting it only to edit and compile. My cache of tools was stored "in" a user number that did not exist, you can think of it as a unpointed-to lost cluster of sorts. I was totally white hat about it, never prying into customer files (McDonald's etc.) and even wrote a summary of vulnerabilities and dropped it into one of their secure areas. I just wanted to be hired. Cat 'n mouse games ensued, even a trace and FBI phone tap. GEISCO originally thought I was a rogue employee but when they learned I was just a kid the heat was off, they were afraid of public embarrassment. They bought me a plane ticket to Rockville MD so they could pick my brain, and the matter was closed soon after. I was not hired.
Lots of people have played Colossal Cave Adventure over the years, but in my mind the game is synonymous with the Mark III timesharing system itself, that was the biggest cave of all.
I had write access to their entire network. What did I do with my "superpower"? Well for one thing, I scanned to find ALL copies of Colossal Cave Adventure on their system, there were about a dozen that had been
-
Data General and Apple MPWData General's AOS/VS operating system had an undocumented command named "XYZZY." In the original 16-bit version, the response was: "Nothing happens." In a later 32-bit version, this was amended to: "Twice as much happens."
http://rickadams.org/adventure...
The Apple MPW C compiler had a notorious set of error messages (does this count as an Easter egg?). http://www.netfunny.com/rhf/jo...
-
Perl of the timesharing age, a real Adventure!
FORTRAN was -- for some still is-- the 'Perl' of scientific computing. Get it in and get it done... and it doesn't always compile down very tight, but always fast because for mainframe developers getting this language optimized for a new architecture was first priority.
At 15, the first real structured program I ever de-constructed completely while teaching myself the language, was the FORTRAN IV source for Crowther and Woods Colossal Cave Adventure, widely regarded as 'the' original interactive text adventure, a genre which would later go multi-user to become the MUD. Read about it here, or play it in Javascript.
Crowther's PDP-11 version was running on the 36-bit GE-600 mainframes of GEISCO (General Electric Information Services) Mark III Foreground timesharing system... this is in the golden age of timesharing and no one did it better than GE. It took HOURS at 300bps and two rolls of thermal paper to print out the source and data files, and I laid it out on the floor and traced the program mentally, keeping a notebook of what was stored in what variable... I had far more fun doing this than playing the game itself.
FORTRAN IV and Dartmouth BASIC (I'll toss in RPG II also) were the 'flat' GOTO-based languages, an era of explicit rather than implicit nesting -- a time in which high level functions were available to use or define but humans needed to plan and implement the actual structure in programs mentally by using conditional statements and numeric labels to JUMP over blocks of code. Sort of "assembly language with benefits".
When real conditional nesting and completely symbolic labeling appeared on the scene, with good string handling, it was a walk in the park.
-
Re:First game!
Adventure, a.k.a. Colossal Cave, by Crowther and Woods (extended by others).
http://rickadams.org/adventure/e_downloads.html
This was many old-school programmers' first exposure to computers as entertainment. For example, both my wife and I recall playing it on TI SilentWriters (paper output plus an acoustic modem) when we were kids. Even more than Space Wars, which was written at least a year later and only ran on much less common hardware, this was the start of computer gaming.
There is a more compelling reason beyond pure entertainment that speaks to the original question of relevance to computer science and software engineering.
I was an early player of Adventure on a PDP-10. At that time all software, even in languages like Fortran, were specific to a single architecture thorough non-standard libraries, internal use of architectural features, etc. Adventure was the FIRST system that was valuable enough (for whatever reasons) that it was ported to practically everything out there. It was neat at the time to be at some trade show, go to the Data General or Interdata booth and find Adventure running as a demo.
Today we take portability of Linux, Android, C or python or Perl programs, or practically anything else as a given. It is difficult for those not there at the time to appreciate just how different this was in a world of universal walled gardens. But at the time Adventure was unique and, I contend, worthy of study for just that reason.
-
First game!
Adventure, a.k.a. Colossal Cave, by Crowther and Woods (extended by others).
http://rickadams.org/adventure/e_downloads.html
This was many old-school programmers' first exposure to computers as entertainment. For example, both my wife and I recall playing it on TI SilentWriters (paper output plus an acoustic modem) when we were kids. Even more than Space Wars, which was written at least a year later and only ran on much less common hardware, this was the start of computer gaming.
-
Maybe...1) Hypertext might not be ready yet.
Do you believe hypertext is done evolving? (hint: the creator of word hypertext, Ted Nelson, doesn't think so - see quote, below).
Hypertext is still very young compared to writing. Our species has been working on writing for over 5,000 years, and on hypertext for about 60 years (original memex article, 1945 (a fascinating read, btw - worth ten minutes of your time)
2) Who even likes non-linear stories?
Show me any medium where non-linear fiction is popular. Did you actually enjoy Memento? There are precious few examples of popular non-linear fiction in any medium, including hypertext. (by "precious few" I mean that percentage-wise you can round the amount of non-linear works down to zero and still be reasonably close to the actual number).
3) Non-linear may just be too much work to read? (related to 2)
Humans love stories, but they have significant processing limitations. Fiction is supposed to be entertaining (or at least interesting). (Hypothesis: reading non-linear fiction requires too much work to be fun, so nobody likes it.)
4) What if you are looking in the wrong place for non-linear "fiction".
Try here with games like Adventure, A History for your fiction.
Or possibly here: simulation games
In these cases, "fiction" has proven very popular indeed.
("But, But, that isn't serious fiction!"
*shrug* Maybe not.
But then again, maybe games and simulations are simply what non-linear fiction looks like.
Centuries from now, scholars may be studying the ground breaking work of great non-linear authors likeWilliam Crowther and John Carmack in much the same way that visionary creatives like Shakespeare and Mary Shelly are studied today.
So... about the evolution of HyperText:
Ted Nelson, the creator of the term hypertext, was unimpressed with HTML:(excerpt from here)Trying to fix HTML is like trying to graft arms and legs onto hamburger. There's got to be something better-- but XML is the same thing and worse. EMBEDDED MARKUP IS A CANCER. (See my article "Embedded Markup Considered Harmful", WWW Journal, 1997 or 1998.) The Web is a special effects race, FANFARES ON SPREADSHEETS! JUST WHAT WE NEED!. (Instead of dealing with the important structure issues-- structure, continuity, persistence of material, side-by-side intercomparison, showing what things are the same.) This is cosmetics instead of medicine. We are reliving the font madness of the eighties, a tangent which did nothing to help the structure that users need who are trying to manage content. The Xanadu® project did not "fail to invent HTML". HTML is precisely what we were trying to PREVENT-- ever-breaking links, links going outward only, quotes you can't follow to their origins, no version management, no rights management. The "Browser" is an extremely silly concept-- a window for looking sequentially at a large parallel structure. It does not show this structure in a useful way.
(emphasis added).
Ted raises some interesting points; it is hard for me to think that HTML is the be-all and end-all of information.
I don't know that his "zigzag" thing is ever going to get traction, but -
Re:When I was younger
[...] such as attacking the dragon with a broken glass bottle, rocks, coins, and other fairly harmless items.
Did you try using your bare hands?
-
Re:Find a legal loophole
and some Zork clone written in BASIC called The Adventure or something.
If you're referring to Crowther and Woods' original 'Adventure', I am going to cry.
-
So try it
Download and install a copy of the original, or read about the history of it.
-
So try it
Download and install a copy of the original, or read about the history of it.
-
Re:What are they smoking?
With EXTREMELY few exceptions, absolutely everything in WoW was pioneered with EverQuest.
Er, not really. EQ was novel because they married a text-based MUD to a graphical engine and were able to scale that environment to around 2k folks per server. I'd call that more of a logical extension than any kind of pioneering.And EQ was a commercial success too. Not the runaway cultural phenomenon that WoW has become, but with 400k active subscribers at peak (less now), it can hardly be thought of as a marginal game either way. UO might have taken this spot (it also at one time was in excess of 100k at the least, and it WAS first), but extremely few of its conventions survived to other MMOs.
Actually, UO wasn't the first. It was arguably the first really popular graphical MMORPG, but it wasn't first to market. Wikipedia has a very nice writeup on the history of MMORPGs.Virtually everything about EQ has been in successors.
I think you'd be hard-pressed to identify any sort of similarity between EQ and City of Heroes (outside of a the obvious of player-characters driving around mashing bad-guys) but that's just me being picky.And yes, I've played all 3 of the games I mentioned for significant amounts of time (and more games besides those too). WoW put everything together in a good package, and that alone is a talent, and obviously has brought success, but innovation? Very very little.
Somewhat amusingly, there are these sworn statements over on the Diku MUD homepage which stem from accusations that the EQ server software was lifted from Diku. I still remember the mudslinging which, as I recall at least, centered around some description typos which were in EQ and were identical to typos in Diku.
EQ, just like WoW, is built on ideas and concepts explored by others. I would be very tempted to say that the true origin of today's MMO is Crowther and Woods' Adventure game. It wasn't multi-player (massively or otherwise) and it isn't the number-crunching spreadsheet-esque RPG so popular now, but you did don the mantle of the nameless spelunker and go explore a cave. Spiff up the UI, add a bookstore worth of quests and allow a bunch of folks to interact in the same environment and you've got the modern MMORPG. At least that's what I think. -
Colossal cave, not Zork
Putting Zork on that list instead of the Colossal Cave is an ridiculous and myopic
mistake which I presume is due to the fact that the guys making the list did not play
games 25 years ago. Colossal Cave is not merely the antecedent of Zork, but it was
a neat game in it's time and it had a great history.
It was based on a real cave ( http://www.colossalcave.com/ ) and it was ported to
many (now obsolete) different computers using several different languages, picking up different variations and endings along the way. Tis history page is a really good read: http://www.rickadams.org/adventure/a_history.html I think knowledge of this game is a prerequisit for being a full-strength gamer, and perhaps good knowledge for anybody who claims to be "up" on computer science.
You can even play it in the web using this link http://sundae.triumf.ca/pub2/cave/node001.html -
Re:West of House
I preferred the weird humor games Infocom games like Hitchhiker's Guide to the Galaxy and the very strange Leather Goddesses of Phobos to the political ones like A Mind Forever Voyaging and Trinity, but that's probably more personal taste (especially since most of those came out when I was in my tweens to early teens)
Anyhow, it was really all downhill after Adventure ;)
Odd that they think cutscenes became popular with Ninja Gaiden (maybe on consoles?), since they were popular on computers before that game existed in games such as BC's Quest for Tires, Karateka, and Captain Goodnight and the Isles of Fear (which I think came out the same year as Gaiden).
It is dark. You are likely to be eaten by a grue. -
My first computing memory ...I was somewhere in Seattle (I think) visiting my uncle (again, I think.) I'm not sure how old I was, but I doubt I was older than 7. (I was born in 1968, if you want to do the math.)
In any event, my uncle showed me a terminal of some sort, sat me down at it, dialed a number on the phone, put the phone onto the acoustic coupler and words started appearing on the screen. I can sort of remember how fast it was, and it was 50 baud.
And he started Adventure, gave me the run-down on how to play, and let me at it. I didn't really know what I was doing, but I was in awe at it all
...I don't even remember which uncle this was, or how old I was, and I'm not even sure it was in Seattle, but whomever he is, he probably should know what an effect he had on my life in his innocent little thing that was probably done just to get me to stop annoying him
:) -
Re:games too
How about the original Colossal Cave Adventure? http://www.rickadams.org/adventure/e_downloads.ht
m l -
Colossal Cave
A hollow voice says, "xyzzy." ...what would make it to the travel itinerary of Slashdot's all-time geek-tour of North America? -
Re:local perspective
Sorry, but this sounds a bit too much like the Challenger transcript.
-
ADVENT?SET DEF [.ADVENT]
RUN ADVENT.EXE
Damn, I thought Crowther & Woods were going to get their comeuppance. I was looking forward to seeing the rod scare the bird in 3D... Stupid reality! Why must you mock me!?!
A hollow voice cries, "Plugh!"
-
Re:Actually it is from Zork...
Greetings,
Well... To get this right would take a while, and is massively off-topic, but IIRC, the original Colossal Caves (Adventure, by Crowther and Woods) was written in Fortran, and had a twisty maze of passages, which was also used in Dungeon/Zork, which was very heavily influenced by Adventure.
The commercial (Infocom) Zork series is a splitting up of the Dungeon/Zork program, which was not originally written in Fortran, it was in fact originally written in MDL by Marc Blank and Dave Lebling, and translated to Fortran by a 'somewhat paranoid DEC engineer who prefers to remain anonymous'.
Zork took the Dungeon world, split it up into three worlds, and then added a bunch more stuff to each part of it, although most additions were to Zork II and III, IIRC. Zork I was mostly identical to the early part of Dungeon.
The Adventure versions are are also known by their point values (330, 551, etc.). There are modified versions of Adventure which add large amounts of other areas, and up the points to as many as 1000 points. I've played Adventure on machines ranging from my PalmPilot to PC's of all shades, to Vaxen and even a Prime mini/mainframe which had the largest and highest point version I'd ever seen. (>1000 points, iirc).
The names Zork and Dungeon have been completely intermingled. I was under the impression it was originally named Dungeon, and then later named Zork, but many of the history pages have it the other way around.
The original Dungeon/Zork had 'GDT', a 'Grand (Game?) Debugging Tool', that let you examine objects, and rooms, in the world. Getting to it required knowing some magic way of translating a key that was printed when you typed in 'GDT'. In my case, it meant teaching myself VAX assembly language, so I could debug and patch the binary, so whatever I typed was accepted...
Some more information is available here (Colossal Caves), and here (Dungeon/Zork), and you can find out more about Interactive Fiction's history as well.
I'm a terribly long-standing fan of IF, even before it had that moniker, having learned a lot about programming by writing text adventure games, parsers, and all the database-like coding needed to make a good text adventure game.
I can still lose myself in the games, just like I can lose myself in a really good book. It's a different world, and a lot of fun as long as you're okay letting your imagination provide all the graphics.
-- CyberFOX! -
brings back memoriesPLUGH
I used to play it on a teletype my dad had in our shed. I forget what it was dialing into. Nice thing about the teletype was that you then had a printed record that you could go through offline and create a map from.
-
Re:Phew! I'm safe!
But that helps when I play Minesweeper
-
Re:NintendoIncidently, the same man managed to toast a pc I gave him for Christmas (I give away my old hardware to my family).
It was a mini-atx style pc that I put together during college. Once I finished college and got a job, I built a new PC and gave that one to him and my younger brothers.
About 1 year later he was in town so I went to meet him for coffee. He had the tower with him and told me it just quit working one day and asked if I would look at it.
I took it home, opened it up, and saw that the entire motherboard and everything in it was caked in thick yellow soot. He had been smoking while using it for over a year, all that smoke being sucked into the power supply must have slowly made it overheat.
After I cleaned it out (took 3 cans of Dust-Off!), I found that the power supply and the motherboard were dead.
(Note that my frivolous use of canned air may have contributed to the death of the mobo - static electricity and all that :)
This also reminds me of this story:
The following story is true. The names have been changed to
protect the innocent.
A computer repairman was one day called to a grade school to
repair their no longer working computer. When he opened up the
processor, he found a thick coating of white dust covering every
component within, i.e. backplane, mother board and all other PC
boards, housing walls, etc. He had never seen any coating like
this in any other computer. The repair of the processor
involved simply blowing out the dust.
A few days later he was on another service call within the
school for another computer. Walking by the room that contained
the unit he had previously fixed, he decided to peek into the
room to see how it was doing. What he saw explained the white
dust. He saw several boys beating the chalk board erasers next
to the fan in the unit, and watching the unit suck the dust
inside.
Found here. -
Yeah, simh is great
if your into that sort of thing. Having cut my teeth on a real Altair/BASIC (haha) I enjoyed getting the Z80 emulator running (on linux), mounting a floppy disk (which I never could afford then) and running old Startrek type games. Then just last Jan. got into getting the ORIGINAL Colassal Cave adventure in genuine FORTRAN running on the PDP10 emulator running TOPS10. Guess who provides a prebuilt TOPS10 bootable system disk? Paul Allen. The hardest part was figuring out how DEC handled tape mounting, and finding a utility to convert files into a tape format to get them 'into' the emulator. Not only that, but once you have the PDP10 running, you can attach the terminal server to a port and have time share terminals accessable over the network, thru firewalls, etc. It was a great insight into how medium size businesses and a great many college campus computer centers were run in the late 60's to mid 70's. You can boot up Unix v5, 6, 7 - I could only get v5 running but there's a nifty chess game in
/usr/games/ ;)