Slashdot Mirror


ESR Announces The Open Sourcing Of The World's First Text Adventure (ibiblio.org)

An anonymous reader writes: Open source guru Eric S. Raymond added something special to his GitHub page: an open source version of the world's first text adventure. "Colossal Cave Adventure" was first written in 1977, and Raymond remembers it as "the origin of many things; the text adventure game, the dungeon-crawling D&D (computer) game, the MOO, the roguelike genre. Computer gaming as we know it would not exist without ADVENT (as it was known in its original PDP-10 incarnation...because PDP-10 filenames were limited to six characters of uppercase)...

"Though there's a C port of the original 1977 game in the BSD game package, and the original FORTRAN sources could be found if you knew where to dig, Crowther & Woods's final version -- Adventure 2.5 from 1995 -- has never been packaged for modern systems and distributed under an open-source license. Until now, that is. With the approval of its authors, I bring you Open Adventure."

Calling it one of the great artifacts of hacker history, ESR writes about "what it means to be respectful of an important historical artifact when it happens to be software," ultimately concluding version control lets you preserve the original and continue improving it "as a living and functional artifact. We respect our history and the hackers of the past best by carrying on their work and their playfulness."

"Despite all the energy Crowther and Woods had to spend fighting ancient constraints, ADVENT was a tremendous imaginative leap; there had been nothing like it before, and no text adventure that followed it would be innovative to quite the same degree."

118 comments

  1. The best computer game ever by coastwalker · · Score: 5, Interesting

    I remember playing this with a group of friends on a teletypewriter overnight in the University of Wales Institute of Science and Technology Cardiff in 1981. We played the whole thing through from start to end in one session. I did the typing because I could touch type. I think we finished at about 5am. No computer game has really interested me since. Once you have played ADVENT you have played them all. I still have the printout somewhere, it weighs about five pounds.

    --
    Facts are history now plebs have politics for religion on social media.
    1. Re:The best computer game ever by thegreatbob · · Score: 4, Insightful

      There's no +1 Awesome mod, and my mod points expired, so I'll just leave this comment instead :D Hearing about stuff like this makes me feel as though I was born a couple decades too late to enjoy computing to its fullest, but reading other folks tales from the earlier days of computing brings me no shortage of enjoyment, so it'll have to do.

      --
      There is no XUL, only WebExtensions...
    2. Re:The best computer game ever by coastwalker · · Score: 3, Interesting

      It was a great era for computing and anyone who used it knew it was going places, so yes it was a special time. You could already see where it was going to go from things like Douglas Adams 'Hitch Hikers Guide to the Galaxy' and its talking book. And so it has come to pass, the mobile phone gives everybody on the planet access to all knowledge. Sadly a lot of them only use it to get sports scores and slag each other off on social media, people are funny like that. But it is still true that all of the amazing possibilities of computing are available for peanuts to most people now, so the promise was largely realised. Whilst you might not feel that computing itself is quite as exciting today as it was before we had today's hardware you can still get a lot more out of it.

      If you really want to get a buzz out of technology these days then you should probably be working in genetics or personalized medicine which to repeat an old joke "could be a cure for cancer". More importantly we can already see that gene therapy, the microbiome and genetically modified plants are going to be as important to humanity in thirty years as computing has become. All these worlds are there ready, waiting to be explored.

      --
      Facts are history now plebs have politics for religion on social media.
    3. Re:The best computer game ever by TheRaven64 · · Score: 3, Interesting

      I enjoyed the Zork series when I was a child and my father said I should play this game and see the original. We found an old IBM 8080 machine in the back of a store room along with the OS and ADVENT on a pair of 8" floppy disks and played it on the terminal (the entire machine was a big blue box with the backplane and various circuit boards - we had to pull a couple apart to get the full set of working ones - another big blue box containing two 8" floppy disk drives, and a blue [you might spot a theme here. Big Blue was really into branding] terminal). The entire machine was bigger than I was back then.

      A few years later I bought a Psion Series 3 (256KB of RAM, also used for persistent storage) and a 128KB flash SSD (a single cell, so you could write to it at arbitrary granularity, but erasing didn't free space and you had to back everything up, erase it, and restore the things you wanted). I bought Infozip (Infocom interpreter) and The Lost Treasures of Infocom to play on it. Most of the games fitted happily on the 128KB flash drive, with Hitchhiker's Guide to the Galaxy (a 150KB monster) being the one exception.

      Infozip came with a port of ADVENT. I think that was the first time I'd really appreciated the rate of technological advance. The old IBM monster was less powerful than a machine that I carried around in my jacket pocket.

      --
      I am TheRaven on Soylent News
    4. Re:The best computer game ever by Pikoro · · Score: 4, Funny

      All these worlds are there ready, waiting to be explored.

      Except for Europa. Fuck those guys :)

      --
      "Freedom in the USA is not the ability to do what you want. It is the ability to stop others from doing what THEY want"
    5. Re:The best computer game ever by Anonymous Coward · · Score: 0

      why are your browsing at -1,you fool

    6. Re:The best computer game ever by Layzej · · Score: 3, Informative

      Here's the original code and data for anyone interested:

      http://jerz.setonhill.edu/if/crowther/advdat.77-03-31

      http://jerz.setonhill.edu/if/crowther/advf4.77-03-31

    7. Re:The best computer game ever by Anonymous Coward · · Score: 0

      Masochism? Seriously, -1 is a cesspool, but sometimes it's the only way.

      The only way to what, you ask? Uh-uh, that'd be telling. ;)

    8. Re:The best computer game ever by Cmdln+Daco · · Score: 1

      It was a great era for computing and anyone who used it knew it was going places... so it has come to pass, the mobile phone gives everybody on the planet access to all knowledge.

      Sadly, the user interface is still very, very primitive.

    9. Re: The best computer game ever by Anonymous Coward · · Score: 0

      We're you ever on Mist?

    10. Re:The best computer game ever by Anonymous Coward · · Score: 0

      It's nice to be reminded. I was thinking just yesterday about the orbital re-entry game at U. Wisc. from ~1970. It was all specialized hardware played on an oscilioscope, but it was a computer game.

      Nils K. Hammer

    11. Re:The best computer game ever by obsess5 · · Score: 2

      Not to question your memory, but the "IBM 8080 machine" sounds more like an Intel development system. In 1977, a friend took my brother and me to his office at NASA's GSFC, where he designed 8080-based experiments which flew on high-altitude balloons (with $200-at-the-time military-hardened 8080 chips). He had an Intel 8080 development system, all blue boxes. In 1984, I worked on a project using an Intel 8086 development system, again all big blue boxes and 8" floppies. (We were using 80286 processors running in 8086 mode.)

      Does anyone know if IBM ever produced an 8080 computer? The original IBM PC appears to have been 8088-based (an 8086 with an external 8-bit data bus).

      https://en.wikipedia.org/wiki/...

      ... fondly remembering the days when a PC was any personal computer and not just an IBM PC or its derivatives ... :(

    12. Re:The best computer game ever by TheRaven64 · · Score: 1

      Not to question your memory, but the "IBM 8080 machine" sounds more like an Intel development system

      Could be. I think I was 8 or 9 at the time, so my memory is pretty hazy. The company did quite a lot of RMX work, so it seems more likely that they'd have Intel systems than IBM ones.

      --
      I am TheRaven on Soylent News
    13. Re: The best computer game ever by Anonymous Coward · · Score: 0

      Not sure if we are or not. xD

    14. Re:The best computer game ever by clovis · · Score: 1

      This was the first computer game I played on a general-purpose computer.
      I remember playing this around 1980 on a Burroughs B6900 at work.
      It was the Algol port, and I had the source code on a 9-track tape that I kept for many years.
      I swear, I used the source to cheat only once. I believe I was stuck at a dam in the power control room.

    15. Re:The best computer game ever by Quirkz · · Score: 1

      That's a nifty memory of the gaming session.

      No computer game has really interested me since. Once you have played ADVENT you have played them all.

      But seriously? "Eh, I watched the Godfather once. I figure that whole movie thing is dead to me now."

    16. Re:The best computer game ever by martinfb · · Score: 1

      Is this where trolls appear, where you can "throw axe", and where there is a Plover room, etc...?

      --


      Self-importance and self-indulgence is the root of ALL evil.
  2. The worst source code ever by Anonymous Coward · · Score: 5, Funny

    The real game is being able to navigate in the source code. The dungeon stuff is just a bonus side effect.

    1. Re:The worst source code ever by Anonymous Coward · · Score: 1

      You can download a literate programming version from Donald Knuth page here. Here is the direct link to the source file. That's much nicer.

    2. Re:The worst source code ever by K.+S.+Kyosuke · · Score: 2

      "It is pitch black. You are likely to be eaten by a gnu."

      --
      Ezekiel 23:20
    3. Re:The worst source code ever by ProzacPatient · · Score: 1

      You're not kidding; GOTO L12345;

      L12345: this thing has more goto's than your; GOTO L54321;

      L54321: typical Basic program!

    4. Re:The worst source code ever by Anonymous Coward · · Score: 1

      That was what preprocessors like Ratfor or Flecs generated. There are many old versions of Adventure in DECUS library sources, from the 1970s on. Among these you can find the Ratfor version if you like.

      Good BASIC compilers back then were hard to find; Basic was done via an interpreter and tended to be notably slower than compiled languages. If you wanted speed, you used assembly language or a compiled language, choices being Fortran or (if ytou were well equipped) Cobol.

      There were a few others but not as widespread. (Remember, for example, BCPL?)

    5. Re:The worst source code ever by RockDoctor · · Score: 1
      Somone, somewhere must have must have written a version of this in INTERCAL.

      COMEFROM ?

      --
      Birds are not dinosaur descendants;birds are dinosaurs, for all useful meanings of "birds", "are" and "dinosaurs"
  3. PLATO by tricorn · · Score: 4, Informative

    Not going to say that ADVENT didn't inspire a lot of things, and I played it in several variants (including a version that was written on PLATO, called "adventl"), but there were certainly dungeon games written before ADVENT, specifically "dnd" on PLATO was written in 1974. Oubliette was released in late 1977 (so was unlikely to have been predicated on ADVENT) and Avatar was already being written by then as well, the first version of Moria was written in 1975 ...

    1. Re:PLATO by tal_mud · · Score: 3, Informative

      Memories! I played dnd, Oubliette and Moria in 1977 on Plato. It was an amazing system for its time. MMORPG (trek) and touch panels way back in '77

      There even exists a PLATO emulation for those who really miss it: https://cyber1.org/

    2. Re:PLATO by tricorn · · Score: 2

      We even still have an Empire battle night on Sundays for a few hours on Cyber1, usually have 4-8 people show up - 6pm Pacific if you're interested.

      I made some changes to the current version, but several older versions are still available (changes such as entry in center if your team has all 5 planets; all teams start off with no armies, and can coup in any one of the four corner systems as long as it isn't already another team's home system; some fairly minor fueling and bombing changes to attempt to balance the ship types; an improved entry routine; a modified bounce when you hit the outer limit (with a visual effect, even!), etc.).

    3. Re:PLATO by yrte · · Score: 2

      Mentions of fully-formed PLATO games like Moria and a half dozen others also was the first thing to jump to mind when the parent description suggested that Adventer was the "origin" of many things. Sorry, no. Adventure was cool and it was an important and influential piece of art, but it did not precede DnD paper and pencil, nor did it precede a number of much more dungeon-crawl 'rpg's, nor was it the first adventure game. oops.

  4. Doesn't compile? by Danj2k · · Score: 3, Interesting

    I downloaded this to my Linux box and tried to run "make", but it complained about needing to be in C99 mode. Is this release only compatible with the original hardware and OS it was written on or something? I thought from the README it was supposed to be a port that works on modern computers/OSes?

    1. Re:Doesn't compile? by gnasher719 · · Score: 3, Informative

      This is by Eric Raymond. C99 _is_ modern. Not to you, not to me, but to some people.

    2. Re:Doesn't compile? by Danj2k · · Score: 2

      This is by Eric Raymond. C99 _is_ modern. Not to you, not to me, but to some people.

      I managed to get past the C99 error by compiling compile.c manually and then bodging -std=c99 everywhere in the Makefile, but now I'm getting a bunch of errors about macro DATIME.

      So yeah I'm guessing this thing needs a lot of work before people can actually run it on a current system.

    3. Re:Doesn't compile? by sTERNKERN · · Score: 5, Informative

      With GCC4.7 and with CFLAGS=-std=c99 added to the beginning of the Makefile it compiled for me just fine.

    4. Re:Doesn't compile? by religionofpeas · · Score: 1

      With gcc 4.8.4 I'm getting: misc.h:71:41: error: storage size of 'ts' isn't known

    5. Re:Doesn't compile? by Danj2k · · Score: 1

      With gcc 4.8.4 I'm getting: misc.h:71:41: error: storage size of 'ts' isn't known

      Yep, this is one of the errors I am seeing also.

    6. Re:Doesn't compile? by darthsilun · · Score: 1

      Built fine on my Mac.

      I did have to comment out the "LIBS=-lrt" line at the top of the Makefile, and there were a handful of warnings.

      (LLVM 8.1.0, clang-802.0.42)

    7. Re:Doesn't compile? by darthsilun · · Score: 1

      Also compiled fine on Fedora 25 box w/ gcc-6.3.1 and Ubuntu yakkety w/ gcc-6.2.0.

    8. Re:Doesn't compile? by geantvert · · Score: 2

      This is because clock_gettime() is POSIX but not C99. The option -std=c99 enforced a strict respect to the C99 standard and so ignores POSIX features.

      As of now, -std=c99 is only needed to compile the 'compile' program. I recommend to do it manually and to compile the rest without C99.

      If you did not change the Makefile then the following should work:

      make clean
      gcc -std=c99 -o compile compile.c
      make

    9. Re:Doesn't compile? by Zero__Kelvin · · Score: 1

      You can invoke make as follows:

      make CFLAGS="-std-c99"

      For extra credit, add the following line to the Makefile so make simply works:

      CFLAGS="-std-c99"

      ... then submit a patch :-)

      ESR may already have his environment set up to default to c99 mode and so may not have noticed this oversight.

      --
      Guns don't kill people; Physics kills people! - John Lithgow as Dick Solomon on Third Rock From The Sun
    10. Re:Doesn't compile? by tietokone-olmi · · Score: 1

      Dude. C99 is those parts of C++ that were a good idea. Not going with C11 is just backward compatibility at this point.

    11. Re:Doesn't compile? by Anonymous Coward · · Score: 0

      The makefile has been updated since then. I just got the repo, and ran make and it compile the binary with no issues.

      I'm using gcc version 5.4.0 on ubuntu.

    12. Re:Doesn't compile? by Anonymous Coward · · Score: 0

      I had to do these changes to the misc.h to get it compile on Mac:

      diff --git a/misc.h b/misc.h
      index a42a5a3..fe25535 100644
      --- a/misc.h
      +++ b/misc.h
      @@ -1,7 +1,16 @@
      +#define _XOPEN_SOURCE 700
      +
        #include
        #include
        #include

      +#include
      +
      +#ifdef __MACH__
      +#include
      +#include
      +#endif
      + /* b is not needed for POSIX but harmless */
        #define READ_MODE "rb"
        #define WRITE_MODE "wb"
      @@ -68,7 +77,16 @@ extern void fMPINIT();
        #define MPINIT() fMPINIT()
        extern void fSAVEIO(long,long,long*);
        #define SAVEIO(OP,IN,ARR) fSAVEIO(OP,IN,ARR)
      +
      +
      +#ifdef __MACH__ // OS X does not have clock_gettime, use clock_get_time
      +#define DATIME(D,T) do {struct timespec ts; clock_serv_t cclock; mach_timespec_t mts; host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); clock_get_time(cclock, &mts); mach_port_deallocate(mach_task_self(), cclock); ts.tv_sec = mts.tv_sec; ts.tv_nsec = mts.tv_nsec; D=ts.tv_sec, T=ts.tv_nsec;} while (0)
      +
      +#else
        #define DATIME(D,T) do {struct timespec ts; clock_gettime(CLOCK_REALTIME, &ts); D=ts.tv_sec, T=ts.tv_nsec;} while (0)
      +#endif
      +
      +
        extern long fIABS(long);
        #define IABS(N) fIABS(N)
        extern long fMOD(long,long);

    13. Re:Doesn't compile? by Anonymous Coward · · Score: 0

      wrong formatting, here's corrected version


      diff --git a/misc.h b/misc.h
      index a42a5a3..fe25535 100644
      --- a/misc.h
      +++ b/misc.h
      @@ -1,7 +1,16 @@
      +#define _XOPEN_SOURCE 700
      +
        #include <time.h>
        #include <stdio.h>
        #include <stdbool.h>

      +#include <sys/time.h>
      +
      +#ifdef __MACH__
      +#include <mach/clock.h>
      +#include <mach/mach.h>
      +#endif
      + /* b is not needed for POSIX but harmless */
        #define READ_MODE "rb"
        #define WRITE_MODE "wb"
      @@ -68,7 +77,16 @@ extern void fMPINIT();
        #define MPINIT() fMPINIT()
        extern void fSAVEIO(long,long,long*);
        #define SAVEIO(OP,IN,ARR) fSAVEIO(OP,IN,ARR)
      +
      +
      +#ifdef __MACH__ // OS X does not have clock_gettime, use clock_get_time
      +#define DATIME(D,T) do {struct timespec ts; clock_serv_t cclock; mach_timespec_t mts; host_get_clock_service(mach_host_self(), CALENDAR_CLOCK, &cclock); clock_get_time(cclock, &mts); mach_port_deallocate(mach_task_self(), cclock); ts.tv_sec = mts.tv_sec; ts.tv_nsec = mts.tv_nsec; D=ts.tv_sec, T=ts.tv_nsec;} while (0)
      +
      +#else
        #define DATIME(D,T) do {struct timespec ts; clock_gettime(CLOCK_REALTIME, &ts); D=ts.tv_sec, T=ts.tv_nsec;} while (0)
      +#endif
      +
      +
        extern long fIABS(long);
        #define IABS(N) fIABS(N)
        extern long fMOD(long,long);

    14. Re:Doesn't compile? by phantomfive · · Score: 1

      C99 _is_ modern. Not to you, not to me, but to some people.

      And to Microsoft, too. I still don't think they've implemented some parts.

      --
      "First they came for the slanderers and i said nothing."
    15. Re:Doesn't compile? by Eunuchswear · · Score: 1

      I run the original f4 version, ported to an ICL 1900 mainframe. The C version is for wimps.
         

      --
      Watch this Heartland Institute video
  5. Yet another version... by thogard · · Score: 5, Informative

    The FORTRAN source can be found here:
    http://rickadams.org/adventure...

    1. Re:Yet another version... by zifn4b · · Score: 1

      Awesome, thanks! It's crazy reading C code that is using goto's and labels representing line numbers to make a direct port hopefully minimizing the possibly of side effects in the port. Wow.

      --
      We'll make great pets
    2. Re:Yet another version... by Kellamity · · Score: 1
      When I saw the github files had .c extensions I was disappointed because I wanted to see FORTRAN.

      Then I looked at the actual code. Wow! It's like a developers worst nightmare. I kind of love it.

  6. I played this in high school. by Anonymous Coward · · Score: 1

    In 1980....on a teletype like the other poster..... at high school in Launceston, Tasmania, Australia. I was in Year 8.

    My math teacher (who's office was right next to the computer room) was giving me grief about using all the paper.

    The next year we got a green CRT terminal thing..... no more paper, and it "beeped" instead of ringing a bell !

    I feel old.

    1. Re:I played this in high school. by Anonymous Coward · · Score: 0

      1977 in the computer lab as a college senior, in front of an IBM 3270. After hours, in the dark, with my roommate (who knew more about computers than I did - I was into analog electronics).

      You are not old ;-)

    2. Re: I played this in high school. by Anonymous Coward · · Score: 0

      XYZZY

      Twisty dark tunnels, all alike.

      Oh man....was it that long ago ???

  7. Here you go slashdot, a CODE SAMLE! Have fun!! by Anonymous Coward · · Score: 1

    L6022: RSPEAK(128); /* 6023 */ for (J=50; J=MAXTRS; J++) {
            if(J == PYRAM && (LOC == PLAC[PYRAM] || LOC == PLAC[EMRALD])) goto L6023;
            if(AT(J) && FIXED[J] == 0)CARRY(J,LOC);
            if(TOTING(J))DROP(J,CHLOC);
    L6023: /*etc*/ ;
            } /* end loop */
    L6024: DLOC[6]=CHLOC;
            ODLOC[6]=CHLOC;
            DSEEN[6]=false;
              goto L6030;

    1. Re:Here you go slashdot, a CODE SAMLE! Have fun!! by geantvert · · Score: 2

      The FORTRAN origin of the code is obvious.

      The original code was written in 1977 and so was probably using Fortran 66 (or a derivative)
      https://en.wikipedia.org/wiki/...

      Compared to modern languages and even to K&R C, the Fortran 66 language had very of the features that we all take for granted.

      Variable names were case insensitive (so UPPER CASE in practice) and limited to 6 characters

      The IF statement was applied to a SINGLE statement so any complex behavior had to be implemented using conditional GOTOs ( no ELSE, no SWITCH-CASE, ....) .

      For example, in Fortran77 you can write structured codes such as

                  IF ( X .EQ. 42 ) THEN
                        A=1
                  ELSE
                        A=2
                ENDIF

      but in Fortran 66 you had to write something like

                  IF ( X .NE. 42 ) GOTO 666
                  A=1
                  GOTO 777
              666 A=2
              777 CONTINUE

      And of course, no stack, no recursivity, no dynamic allocation nor pointers, no function prototypes, no struct nor classes, no strings of variable length, ...
       

    2. Re:Here you go slashdot, a CODE SAMLE! Have fun!! by Wulf2k · · Score: 1

      Sounds less fun than just writing asm.

    3. Re:Here you go slashdot, a CODE SAMLE! Have fun!! by Anne+Thwacks · · Score: 2
      I am pretty sure the original would have been Fortran 4. Just cos Fortran 77 existed, did not mean people playing games would have used it. People familiar with Fortran 4 (like me) were in no hurry to upgrade anyway.

      Sure new projects MIGHT use Fortran 77.

      no stack, no recursivity, no dynamic allocation nor pointers, no function prototypes, no struct nor classes, no strings of variable length,

      Are you some kind of wimp? Real Fortran programmers don't need that kind of new fangled clap-trap!

      We did, of course, have macro pre-processors. (and you needed them to pack and unpack 6-bit chars in a machine-dependent way. Especially when porting from 24 bit ICL machines to 60-bit Crays).

      --
      Sent from my ASR33 using ASCII
    4. Re:Here you go slashdot, a CODE SAMLE! Have fun!! by Anonymous Coward · · Score: 0

      Ah line numbers, how I miss thee :).

  8. Gee, I wonder... by tlambert · · Score: 3, Interesting

    Who wrote the C version while converting the game from 32 bit to 24 bit Hollerith code on a Harris H-800 at Weber State University n the 1980's.

    P.S.: It was Open Source when I did that; it had been declared public domain.

    P.P.S.: Public domain is better than a freaking license.

    1. Re:Gee, I wonder... by TheRaven64 · · Score: 4, Informative

      Public domain is better than a freaking license

      No it isn't. In some countries, public domain as a concept doesn't exist. In some others, public domain does exist, but things can't be explicitly assigned to the public domain and only end up there once copyright expires. In any of these jurisdictions, in the absence of a license the default remains that you have no rights. Additionally, if you simply place something in the public domain without a disclaimer of warranty, then you may find yourself liable for any of bugs in the code.

      --
      I am TheRaven on Soylent News
    2. Re:Gee, I wonder... by Anonymous Coward · · Score: 0

      Are any of those objections more than theoretical? If an author places an item into the public domain, it seems highly unlikely he would then go after people as the author in jurisdictions that don't recognize the public domain. And who was ever sued for liability on public domain code?

      Licenses on the other hand, including GNU license, have actual, measurable effects on end users.

      So yes, public domain is better, and theoretical objections are not equal in weight to practical objections.

    3. Re:Gee, I wonder... by TheRaven64 · · Score: 1

      it seems highly unlikely he would then go after people as the author in jurisdictions that don't recognize the public domain

      The author might not, but with the current duration of copyright, are you sure about their heirs? If you want what people intend when they say public domain, look at the Creative Commons Zero license, which exists specifically to address these problems.

      --
      I am TheRaven on Soylent News
    4. Re:Gee, I wonder... by zifn4b · · Score: 2

      So yes, public domain is better, and theoretical objections are not equal in weight to practical objections.

      Realism vs. Idealism or Pragmatism vs. Abstract Thinking if you will. That is an argument that can't be won no matter how carefully crafted your argument is. It's been argued throughout the ages by some of the greatest minds. For example, Plato and Aristotle. I too am a realist and a pragmatist but the more you argue with a staunch idealist the more emotionally exhausting it becomes and that is because the attachment to idealism is an emotional one not a rational one. In my humble opinion, idealism is a compass whereas realism and pragmatism is how you actually take ideas and make them into a reality. Idealism is the gas that goes in the gas tank, the vehicle is how that gas is converted into something of real value. You can't have one without the other.

      --
      We'll make great pets
    5. Re:Gee, I wonder... by Anonymous Coward · · Score: 0

      The current duration of copyright where? If a country is not honouring the concept of public domain, they're probably also not honouring the "standard" copyright terms either. Once they're brought into line (which in the next 75 years is likely) they will honour both.

      Which countries are we talking about specifically?

    6. Re:Gee, I wonder... by Anonymous Coward · · Score: 0

      This is an excessively abstract analysis of a fairly simple point - I thought you were a pragmatist :) Sure, ADVENT would not have been written without a healthy dose of idealism. OTOH the decision on how to license it is predominantly a practical matter revolving around the likely consequences of each choice. I'm not even sure "idealism" itself actually equates to "non-practical, theoretical consequences" - the claim is that these are practical problems you should take heed of, and I am pointing out that they're almost certainly not, and should be weighted accordingly.

    7. Re:Gee, I wonder... by zifn4b · · Score: 1

      This is an excessively abstract analysis of a fairly simple point - I thought you were a pragmatist :) Sure, ADVENT would not have been written without a healthy dose of idealism. OTOH the decision on how to license it is predominantly a practical matter revolving around the likely consequences of each choice. I'm not even sure "idealism" itself actually equates to "non-practical, theoretical consequences" - the claim is that these are practical problems you should take heed of, and I am pointing out that they're almost certainly not, and should be weighted accordingly.

      Well by your logic we would be wise to plan for a Zombie Apocalypse then right? Because it can "theoretically" happen, therefore we ought to take that seriously as a logical possibility then right? In fact, with so many theoretical, logical possibilities of ways that things could go wrong, we better get really busy or we might get blind-sided. See the problem yet? You're welcome. It's your choice whether you want to keep your sanity or to play the "what if" game (called conjuring in psychology) and drive yourself nuts. Good luck!

      --
      We'll make great pets
  9. GitLab & GitHub by mpilsbury · · Score: 4, Informative

    The summary says that ESR put the repo on GitGub. It's actually on GitLab.

    It's nice to see not everyone slavishly uses GitHub all of the time.

  10. it's 2017... by Anonymous Coward · · Score: 1

    retro is cool and all, and thanks for making the code available.. but fuck, man...

    where's the linkable, clickable web version?

    1. Re:it's 2017... by Anonymous Coward · · Score: 0

      retro is cool and all, and thanks for making the code available.. but fuck, man...

      where's the linkable, clickable web version?

      You must be a millennial or a derivative thereof. Get your whiny snot-covered fingers back to the command line. LMAO

  11. Summary contradicts headline by mark-t · · Score: 2

    Though there's a C port of the original 1977 game in the BSD game package, and the original FORTRAN sources could be found if you knew where to dig, Crowther & Woods's final version -- Adventure 2.5 from 1995 -- has never been packaged for modern systems and distributed under an open-source license. Until now.

    What world is this where 1995 is before 1977? Or is there some new, fangled definition of "first" that I've never heard of?

    1. Re:Summary contradicts headline by Anonymous Coward · · Score: 0

      But ... but ... ESR!!!!

    2. Re:Summary contradicts headline by fisted · · Score: 1

      If you find the time, try to figure out the difference between a program and a version of a program.

    3. Re:Summary contradicts headline by mark-t · · Score: 1

      Assuming there is one, the version from 1995 does not predate the one from 1977, and if there isn't one, then the version from 1977 was already open source long ago.

  12. Poetry vs Television by aberglas · · Score: 5, Insightful

    That is the difference between ADVENT and modern games.

    Ancient technology. But the Hall of Mists that sways back and forward as if alive is far more evocative than anything a bazillion flop GPU can produce.

  13. Plugh! by EricTDuckman1414 · · Score: 3, Insightful

    Plugh!

    1. Re:Plugh! by Wargames · · Score: 1

      plover

      --
      -- Each tock of the Planck clock is a new world and here we are still life. --
  14. Not really from the '70s by aglider · · Score: 2
    Actually:

    This code is a forward-port of the Crowther/Woods Adventure 2.5 from 1995, last version in the main line of Colossal Cave Adventure development written by the original authors. The authors have given permission and encouragement for this release.

    For the sake of precision!

    --
    Sent as ripples into the electromagnetic field. No single photon has been harmed in the process.
  15. Nowhere NEAR first by spaceman375 · · Score: 2

    I was playing "Hunt the Wumpus" on IBM machines in 1974. That was a text adventure set in a maze of caves. Colossal Cave Adventure even seems like a rip-off of the Wumpus game.
          Actually, I was playing on printing terminals at Bell Labs in holmdel NJ, running the game on a big IBM box 45 miles away in Murray Hill NJ via telnet. Ah, the innocence of unencrypted sessions and clear-text passwords. They wouldn't let me play blackjack because we had to pay for our cpu cycles, but the 300 baud acoustically coupled modems were easily fast enuf for simple ascii.

    --
    On the one hand you take life too seriously, and on the other, you do not take playful existence seriously enough. Seth
    1. Re:Nowhere NEAR first by Anonymous Coward · · Score: 0

      Wumpus was NOT a text adventure.

  16. You are likely to be eaten... by Subm · · Score: 1

    You are likely to be eaten by a grue.

    1. Re:You are likely to be eaten... by Baron_Yam · · Score: 2

      I still have brain cells dedicated to 'frotz me', 'aimfiz Belboz' and remembering grue repellent.

      The Infocom games were generally quite good, but somebody needs to go back in time and bitch slap the devs for having logic in the game like 'with no hints that it's even a thing until step 500, you must perfectly perform a sequence of actions in the first 30 moves or the game cannot be completed'.

    2. Re:You are likely to be eaten... by TheRaven64 · · Score: 4, Insightful

      Let me guess: you pirated the games. This kind of logic was an early copy protection mechanism. When you bought them, you got a little pamphlet with hints and clues for the hardest puzzles.

      --
      I am TheRaven on Soylent News
    3. Re:You are likely to be eaten... by Baron_Yam · · Score: 2

      The HHGttG game came with pocket lint, a microscopic space fleet, and a pair of Joo-Janto 2000 Peril-Sensitive sunglasses. I don't remember the pamphlet, but I wouldn't have read it anyway; hints and clues are cheating.

      Regardless, bad logic, bad gameplay.

    4. Re:You are likely to be eaten... by Anonymous Coward · · Score: 1

      I believe he may be talking about Hitchhikers Guide to the Galaxy, which could make the game unwinnable even if you purchased it. There was some randomness to the game and you might fail to perform certain actions early on - I recall Douglas Adams talking about this.

    5. Re:You are likely to be eaten... by zifn4b · · Score: 1

      Let me guess: you pirated the games. This kind of logic was an early copy protection mechanism. When you bought them, you got a little pamphlet with hints and clues for the hardest puzzles.

      Oh? And I suppose that's why every computer game publication in the 80's and early 90's had a section devoted specifically to solving particularly difficult puzzles in various different games including many Infocom games?

      --
      We'll make great pets
    6. Re:You are likely to be eaten... by zifn4b · · Score: 1

      Not to mention all the hint books that were sold for $10-15 a pop.

      --
      We'll make great pets
    7. Re:You are likely to be eaten... by Anonymous Coward · · Score: 0

      A lot of the difficult puzzles were just that ... difficult puzzles, not copy perversion mechanisms.

      But some puzzles were copy perversion mechanisms. With those, woe unto you if you had misplaced the manual (or other "prove you're not a criminal" gimmick) that came in the retail box. I wonder how many people who bought legitimate second-hand copies of games got only the floppy disks, later to realize that without manuals, they might as well be Frisbees?

    8. Re:You are likely to be eaten... by Anonymous Coward · · Score: 0

      I hated when I got further along in the hitchhiker's game and realized that you had to replay nearly the whole f'n game in order to feed the sandwich to the dog so you don't get eaten by it later in the game.

    9. Re:You are likely to be eaten... by Anonymous Coward · · Score: 0

      Oh ffs, I don't know whether to laugh or cry - you just explained my complete and utter failure to get anywhere is hhgttg all those years ago (hacked copy, obviously :). The only way I ever managed to get off planet earth was to edit the code directly, and that always seemed like cheating, not to mention being a p.i.t.a. (the version on my computer had REM ^L every few lines, so LIST would clear the screen every few lines. Nothing that couldn't be creatively fixed but still a pain).

      Never did finish that game.

  17. 1977 can't be right... by BeemerBoy · · Score: 2

    I remember playing this game in high school on our time-shared PDP-10... and I graduated in 1975. How is that possible?

    --
    Buzzing the information Superhighway at Warp speed
  18. xyzzy by Anonymous Coward · · Score: 0

    plugh

  19. Old, tired magic words by LesserWeevil · · Score: 1

    XYZZY, plough and Y2 are still stuck in my brain..

    1. Re:Old, tired magic words by itsdapead · · Score: 1

      XYZZY, plough and Y2 are still stuck in my brain..

      "plugh" surely?

      Good job they didn't have autocorrect in the 1970s or the grues would have been well fed....

      --
      In a survey of 100 programmers, 111111 thought that duck-typing was a good idea.
    2. Re:Old, tired magic words by LesserWeevil · · Score: 1

      "Plugh", certainly.. I've slept since then. Ans spelchek is the debil.

  20. Don't play it with *girls*!!!! by Anonymous Coward · · Score: 0, Offtopic

    They might be trying to entrap you as a leader of the free and open source world, according to ESR.

    * http://esr.ibiblio.org/?p=6907

    The anti-feminist libel by Eric is titled "From Kafkatrap to Honeytrap". It was covered on Slashdot some time ago, and no, I could not make this stuff up.

  21. goto by orcundead · · Score: 1

    Code is extremely readable. Haven't seen a goto statement in 2 decades.

    1. Re:GOTO by thegreatbob · · Score: 1

      Should have qualified that 'additional insight', as it has been noted previously that it's a FORTRAN port, and some people are apparently allergic to GOTO.

      --
      There is no XUL, only WebExtensions...
    2. Re:GOTO by Anonymous Coward · · Score: 0

      If you read Dijkstra's original article, his objection to GOTO is rather specific, and his reasoning is slightly faulty in the case of interactive programs.

      He talks about "coordinates" in the execution of a program, such as i,j inside two nested loops, that index the progress of the program's execution. Then he says:

      "The unbridled use of the go to statement has an immediate consequence that it becomes terribly hard to find a meaningful set of coordinates in which to describe the process progress. Usually, people take into account as well the values of some well chosen variables, but this is out of the question because it is relative to the progress that the meaning of these values is to be understood!"

      Here's the rub: not all programs have "progress". Interactive text adventures are effectively "infinite loops" according to halting theory. But we know them more as state machines, and the kind of state machine that ADVENT represents does indeed have a set of "well chosen variables" (the state, plus PC) which indicate the coordinates of the program in state space with no ambiguity. In this case, then, Dijkstra's reductionist argument against GOTO no longer applies, as it can be seen with perfect clarity what state the program is in, even after a GOTO has been executed, just by looking at the current state.

      More generally, Dijkstra hasn't shown that for all variables, no interpretation can be made without knowing the progress. He has just argued that this is the case for some variables. If a large enough set of variables exists whose interpretation is independent of progress then his argument also no longer applies. This is the case, for instance, when all variables are global and no function calls are recursive.

  22. First saw this at work, in the thermal paper days by Two99Point80 · · Score: 1

    It was run in a TI portable terminal with a 300-baud acoustic coupler, dialed into the PDP-11. Caused considerable loss of productivity...

  23. You are on the edge of a breath-taking view by sizzzzlerz · · Score: 1

    I remember playing this after hours at my first job in 1978/79. We had these 3278 monitors from IBM that displayed green characters on a black background. It must of been around 9 or 10 at night when I wandered into the volcano room and the screen painted itself with this wall of glowing, green text describing what I was seeing in the room. The lights were off in my office and it glowed green from the light of the monitor. I was totally mesmerized. I eventually solved the whole game and moved on to other things but I've never forgotten that night.

  24. Workint Copy on INVENT3K: by tmjva · · Score: 2

    I have a working copy on the INVENT3K machine at INVENT3K.OPENMPE.COM (use simple telnet):

    INVENT3K2:
    INVENT3K2:HELLO PLAYER.ADVENT
    HP3000  Release: C.75.00   User Version: C.75.05   MON, MAY 29, 2017, 12:22 PM
    MPE/iX  HP31900 C.45.05  Copyright Hewlett-Packard 1987.  All rights reserved.

    (banner snipped because it does not pass the slashdot junk filter)

    OPEN FAILED
    INITIALIZING...
    TABLE SPACE USED
      9712 OF   9800 WORDS OF MESSAGES
       742 OF    750 TRAVEL OPTIONS
       297 OF    300 VOCABULARY WORDS
       140 OF    150 LOCATIONS
        53 OF    100 OBJECTS
        31 OF     35 ACTION VERBS
       201 OF    205 RTEXT MESSAGES
        10 OF     12 CLASS MESSAGES
         9 OF     20 HINTS
        32 OF     35 MAGIC MESSAGES

    ARE YOU A WIZARD?
    NO

    VERY WELL.
    INITIALIZATION COMPLETED.

    WELCOME TO ADVENTURE..  WOULD YOU LIKE INSTRUCTIONS?
    YES

    SOMEWHERE NEARBY IS COLOSSAL CAVE, WHERE OTHERS HAVE FOUND FORTUNES IN
    TREASURE AND GOLD, THOUGH IT IS RUMORED THAT SOME WHO ENTER ARE NEVER
    SEEN AGAIN.  MAGIC IS SAID TO WORK IN THE CAVE.  I WILL BE YOUR EYES
    AND HANDS.  DIRECT ME WITH COMMANDS OF 1 OR 2 WORDS.  I SHOULD WARN
    YOU THAT I LOOK AT ONLY THE FIRST FIVE LETTERS OF EACH WORD, SO YOU'LL
    HAVE TO ENTER "NORTHEAST" AS "NE" TO DISTINGUISH IT FROM "NORTH".
    (SHOULD YOU GET STUCK, TYPE "HELP" FOR SOME GENERAL HINTS.  FOR INFOR-
    MATION ON HOW TO END YOUR ADVENTURE, ETC., TYPE "INFO".)
                                  - - -
    IF YOU HAVE ANY PROBLEMS, PLEASE CONTACT THE PERSON IN CHARGE OF THIS
    PROGRAM AT YOUR MACHINE.  YOU MAY ALSO CONTACT THE DEVELOPERS
    WILLE CROWTHER (CROWTHER@PARC-MAXC), DON WOODS (DON@SU-AI), AND
    GARY PALTER (PALTER@MIT-MULTICS).
    IF YOU HAVE ANY PROBLEMS, CONTACT ANY OF US...

    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.
    QUIT

    DO YOU REALLY WANT TO QUIT NOW?
    YES

    OK

    YOU SCORED  27 OUT OF A POSSIBLE 350, USING    1 TURNS.

    YOU ARE OBVIOUSLY A RANK AMATEUR.  BETTER LUCK NEXT TIME.

    TO ACHIEVE THE NEXT HIGHER RATING, YOU NEED  9 MORE POINTS.

    END OF PROGRAM
    CPU=20. Connect=1. MON, MAY 29, 2017, 12:23 PM.

    --
    Tracy Johnson
    Old fashioned text games hosted below:
    http://empire.openmpe.com/
    BT
    1. Re:Workint Copy on INVENT3K: by tmjva · · Score: 1

      Typo on Subject line, should be "Working" vice "Workint".

      --
      Tracy Johnson
      Old fashioned text games hosted below:
      http://empire.openmpe.com/
      BT
  25. Apart from posting the source in GitLab by Anonymous Coward · · Score: 0

    What did ESR do to justify adding his Copyright to the the license?
    Our lawyers tell us we need to make substantial changes or additions to warrant adding a Copyright for our company or ourselves.

    1. Re:Apart from posting the source in GitLab by cheesybagel · · Score: 1

      He ported it from FORTRAN to C I believe?

  26. Possible Fail Safe by dmomo · · Score: 1

    I was looking through the text of the game and came across this gem:

    270 A dark fog creeps in to surround you. From somewhere in the fog you
    270 hear a stern voice. "This Adventure has been tampered with! You have
    270 been dabbling in magic, knowing not the havoc you might cause thereby.
    270 Leave at once, before you do irrevocable harm!" The fog thickens,
    270 until at last you can see nothing at all. Your vision then clears,
    270 and you find yourself back in The Real World.

  27. Look forward to the enhancements in other engines by evolutionary · · Score: 1

    Inform7 ( http://inform7.com/) , Twine (http://twinery.org/) Quest (http://textadventures.co.uk/quest/) , Adrift (http://www.adrift.co) and other text adventure programming engines may get a nice boost from this.

    --
    "Imagination is more important than knowledge" - Einstein
  28. Remember LGoP! by Bodhammer · · Score: 1

    “lots of lubricants, some plastic tubing, and a yak.”

    http://www.filfre.net/tag/leat...

    --
    "I say we take off, nuke the site from orbit. It's the only way to be sure."
  29. Re:Look forward to the enhancements in other engin by retchdog · · Score: 1

    no. no, they won't. there is absolutely no way whatsoever that inform7 could benefit from a 50 year-old relic remarkable only for the amount of effort it took to get it running on the hardware of the time. the only fortran code anyone uses anymore is for numerical analysis, and i'm not sure whether the real reason for this is that programmers are superstitious, lazy and, mathematically illiterate, or something more serious.

    from what little i know of twine, it's designed to be easy to use at the cost of expressive ability, so again, exactly the opposite of 50 year-old spaghetti fortran. i haven't heard of the others, but if they are designed to run on systems from the past 30 years or so, they also have nothing to benefit from advent.

    tl;dr: advent sucks, who gives a shit?

    --
    "They were pure niggers." – Noam Chomsky
  30. I remember by Anonymous Coward · · Score: 0

    "Look at it, the wizard looks back at you"

  31. cave photos by Anonymous Coward · · Score: 0

    For anybody who's interested, here's a page with photos of the cave the Colossal Cave cave was largely based on, located in Kentucky.

    http://digitalhumanities.org/dhq/vol/1/2/000009/000009.html

    1. Re:cave photos by thegreatbob · · Score: 1

      In some ways, I wish I hadn't already posted on this thread (+1 Colossal!)... The depth of that article is appropriate to the nature of the cave.

      --
      There is no XUL, only WebExtensions...
  32. Zork anyone ? by Archfeld · · Score: 1

    Do you eat with that mouth ?

    --
    errr....umm...*whooosh* *whoosh* Is this thing on ?
  33. Pot, meet kettle by Anonymous Coward · · Score: 0

    Raymond expects everyone else to opensource their code, but it took him 40 years to opensource his. What a douche.

    1. Re:Pot, meet kettle by Anonymous Coward · · Score: 0

      Raymond expects everyone else to opensource their code, but it took him 40 years to opensource his. What a douche.

      He's a douche for a lot more reasons than just being a hypocrite.

  34. GOTO by thegreatbob · · Score: 1

    Anyone have any insight on the use of GOTO in this code? To me, at least, it seems highly appropriate, in context. I bring it up because I was reading random '...considered harmful' stuff earlier, and have generally come to the conclusion that 'considered harmful' just means one should ponder a bit more if they're thinking about using it.

    --
    There is no XUL, only WebExtensions...
  35. I made a text adventure in C by Kellamity · · Score: 1

    for a university assignment years ago.

    I didn't have it in me to do more than 5 rooms.

  36. Crowther by Configio · · Score: 2

    Will Crowther, the original author of this game, is one of the most down-to-earth, humble tech pioneers you could ever meet. Not only was he one of the two main programmers on the original ARPANet team, not only was he one of he best rock climbers on the East Coast in the 1960's, pioneering many climbing routes at the Gunks in NY State, a regional climbing mecca, but he was also the sole original author of this game that started it all.

    I met him about twenty years ago, when he taught rock climbing in his spare time to Boston area climbers. He was smart. He loved to teach and give back, and he never talked about himself or his own accomplishments unless you knew the right questions to ask, and were aware of his impressive history.

    Will seldom gives interviews. I've met some impressive people in my life, but to me, his focus on getting amazing things done over self-promotion left a lasting impression. I'm psyched that ESR brought this little piece of history back into the public eye, and shed a little light on such a role model in the process.

  37. For me, ADVENTURE opened lots of doors... by TheRealHocusLocus · · Score: 2

    [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

    --
    <blink>down the rabbit hole</blink>
  38. MUD "innovative"? by Anonymous Coward · · Score: 0

    > no text adventure that followed it would be innovative to quite the same degree.

    I think you could make a case for MUD at Essex University, just a few years later – if you can imagine giving up w@nking and instead having sex with lots of people at the same time, well, that's how innovative MUD was.

  39. Dupe by dacaldar · · Score: 1

    I remember reading about this a few months ago, and I'm pretty sure it was linked from Slashdot. I'm too lazy to go look for it, but I was excited then, so I clearly remember it.