[HN Gopher] Colossal Cave Adventure (1976)
       ___________________________________________________________________
        
       Colossal Cave Adventure (1976)
        
       Author : shakna
       Score  : 55 points
       Date   : 2025-04-26 01:52 UTC (21 hours ago)
        
 (HTM) web link (github.com)
 (TXT) w3m dump (github.com)
        
       | musicale wrote:
       | https://en.wikipedia.org/wiki/Colossal_Cave_Adventure
       | 
       | And the 2023 graphical remake (from Ken and Roberta Williams
       | [King's Quest, etc.] no less):
       | 
       | https://colossalcave3d.com
        
         | svat wrote:
         | It's a featured article on Wikipedia! ("This article appeared
         | on Wikipedia's Main Page as Today's featured article on May 17,
         | 2022.")
         | 
         | Also there are many versions/implementations:
         | 
         | - https://www.ifwiki.org/Adventure#Versions
         | 
         | - https://mipmip.org/advfamily/advfamily.html
        
         | anthk wrote:
         | IFDB has tons of ports.
         | 
         | The Puny Inform version will run on every computer since the
         | 70's with a ZMachine interpreter. Even the ZX, C64 with OZmoo
         | and so on.
         | 
         | https://ifdb.org/viewgame?id=fft6pu91j85y4acv
        
           | musicale wrote:
           | As I understand it 2023 version is not exactly a port but a
           | 3D graphical remake. I thought it was interesting for that
           | reason and also since it was developed by the founders of
           | Sierra, an important company in the history of adventure
           | games.
        
       | philiplu wrote:
       | Compuserve had a port of this available for playing, back around
       | 1980. I spent so much money I couldn't really afford as a broke
       | college student, logged in for hours.
        
       | russellbeattie wrote:
       | Browsing the code, I've never seen this form of goto:
       | GOTO(1100,1004,1013,1020,1004,1004)(IKIND+1)
       | 
       | I just looked it up. It's a multi-way branch: GOTO(label_1,
       | label_2, label_3, etc.), integer_expression.
       | 
       | If the integer value is 1 ( _not zero_ ), control flow transfers
       | to label_1, if the value is 2, it transfers to the second label,
       | etc.
       | 
       | Interesting! It's like a simplified switch statement.
        
         | mayank wrote:
         | Indeed! It's a form of a branch table:
         | https://en.m.wikipedia.org/wiki/Branch_table
        
         | beej71 wrote:
         | A number of BASICs had ON GOTO to accomplish this, IIRC. It's
         | been a few decades since I've used it, though. :)
        
           | kragen wrote:
           | Yep. And ARM Thumb has the _tbb_ and _tbh_ instructions: http
           | s://devblogs.microsoft.com/oldnewthing/20210615-00/?p=10...
        
         | tgv wrote:
         | I think it's called a computed goto in FORTRAN:
         | https://docs.oracle.com/cd/E19957-01/805-4939/6j4m0vn9l/inde...
        
       | o11c wrote:
       | Note that there are _numerous_ versions and forks of Colossal
       | Cave Adventure, several of which are called  "the original". For
       | the most complete known family tree (actually a DAG in a few
       | places), with links, see:
       | 
       | https://mipmip.org/advfamily/advfamily.html
       | 
       | Some important versions: WOOD0350 (added most of the feature we
       | know about; allegedly there was an early 250-point version in the
       | wild but it's poorly documented), GILL0350 (C port, made it into
       | bsdgames among others), WOOD0430 (the final version by him, what
       | open-adventure is based on). But several other lineages are also
       | well known (you can see .
       | 
       | The link submitted is a bit of a mess. src/ contains multiple
       | versions of CROW0000 (which had been thought lost prior to 2005).
       | But the various images are for other versions, and I haven't
       | checked the binaries.
       | 
       | If you're interested in hacking your own version of adventure,
       | the best by technical measures (reproducibility, sane file
       | format, etc.) is:
       | 
       | https://gitlab.com/esr/open-adventure
       | 
       | (But the major change of file format does mean it becomes
       | difficult to apply changes from other members of the Adventure
       | family. This is also a problem for some others though!)
        
       | anthk wrote:
       | I have the Spanish translation for the ZMachine version with
       | everything (even the backstory of the Mamooth Cave) it stills
       | holds up really well modulo the twisty maze.
       | 
       | It's a very faithful translation, with the jokes being perfectly
       | adapted. If you are a native Spanish speaker, get it from a IF
       | archive mirror under games/zcode/spanish.
       | 
       | Overall, Advent and the ZMachine have been ported to far more
       | platforms than Doom. And, contrary what to Romero/Carmack fanboys
       | say with the predictor, The ZMachine _actually_ ran under a pen
       | like device, with handwritting detection et all.
       | 
       | If we count up the versions for Advent in any language (even
       | Forth and that Lambda Calculus interpreter from IOCC) and the
       | ZMachine itself, Adventure wins second as the most ported game
       | ever except for Tetris or Pong, because Tetris it's so simple
       | that it can be run under a 4bit CPU and a 10x20 display.
       | 
       | But, potentially, giving a working ASCII display with 16x64, or
       | with enough pixels, Sokoban could be the most ported game ever if
       | people made ports for it. Why? You can reimplement a Sokoban game
       | analogically with just a graph paper, pen and some cardboard to
       | create the player and the boxes as squares. Then you could just
       | draw down the levels with a marker.
        
       | tudorw wrote:
       | Asked chatGPT to read the repo linked then 'Can you use the text
       | content and simulate the text adventure here', currently I'm in a
       | building somewhere up a stream, got some keys and have no idea if
       | it's just hallucinations but it's fun.
        
         | technothrasher wrote:
         | There was some early LLM a while ago that I found (maybe it was
         | mentioned here?) that was dedicated to playing a text adventure
         | with you. It was fun, but it was easy to bully. "There is a
         | large dragon blocking the entrance." "Look for a sword" "There
         | is no sword about." "Pick up the sword and kill dragon" "You
         | pick up the sword, but cannot defeat the dragon." "Use my
         | automatic dragon killing amulet that I forgot I had in my
         | pocket." "The dragon is now dead." I don't know if ChatGPT
         | would be susceptible to the same issue.
        
           | terribleperson wrote:
           | To be fair, there's not a lot of reason for a text adventure
           | LLM to not go along with such behavior. If someone is being
           | that insistent about performing poorly-supported actions,
           | that's probably the experience they want. A human DM wouldn't
           | go along, of course.
        
             | technothrasher wrote:
             | Yes, you're absolutely right. I was pushing it on purpose
             | to see if there were any guard rails. I didn't really fault
             | it for doing what it did, and wasn't even surprised. But it
             | did illustrate the difference between it and a human DM, as
             | you say, or a programmed text adventure (which can often be
             | frustrating in the other, artificially constrained,
             | direction). It actually lead to some really bizarre and
             | enjoyable stream of consciousness type output when I pushed
             | it even farther, and ended up almost trippy.
        
       | baudaux wrote:
       | You can play Colossal Cave adventure in the browser within
       | https://exaequos.com
        
       | wduquette wrote:
       | I had a copy of the Fortran IV source for the PDP-11 back in the
       | late 70's. My friend and I tried to extend the game a bit, but
       | soon ran into trouble. Dunno whether this is the same code or
       | not.
        
       | WillAdams wrote:
       | For folks interested in the code see:
       | 
       | http://literateprogramming.com/adventure.pdf
       | 
       | (the source re-written as a Literate Program by Dr. Donald Knuth)
       | 
       | Wish I still had the teletype prints of when I played it on an HP
       | 3000 minicomputer at a local college --- did finally finish the
       | game using a port to Windows.
       | 
       | My wife quite enjoyed _Broad Band: The Untold Story of the Women
       | Who Made the Internet_ which is one of the references from
       | Wikipedia and covers the backstory in great detail.
        
       | pklausler wrote:
       | It was a satisfying moment when ADVENTURE first compiled and ran
       | correctly with flang-new; really brought me back to my childhood
       | when I encountered it on MECC.
        
       | mrandish wrote:
       | While exploring the Adventure Family Tree
       | (https://mipmip.org/advfamily/advfamily.html), I came across a
       | promising improved variant called ADV770 by Mike Arnautov
       | (https://mipmip.org/adv770/index.html).
       | 
       | The extensive FAQ indicates much care, thought, research and
       | testing devoted to making modern improvements and expanding the
       | game while remaining faithful to the original lineage of the most
       | popular mainline versions. Particularly interesting to me were:
       | improvements to the parser, extended vocabulary, expanded
       | descriptions and some careful pruning of a few minor locales
       | which confused many players, never had an apparent purpose and
       | were perhaps never completed in original versions. ADV770 is
       | playable in browsers and currently supported, with the author
       | even offering free individualized, contextual hints via email for
       | stuck players.
       | 
       | Having started with a 4K 8-bit microcomputer, I never got to play
       | the mainframe-based original and have had it on my list for a
       | while. My first experiences with text adventure games were
       | cassette tape-based games written in 8-bit assembler by solo
       | programmer, garage-based "game publishers" and sold by mail in
       | the back of early 80s hobby zines. While those authors were
       | clearly inspired by playing the OG Adventure, the limitations of
       | CPU, memory and only a few months of part-time development by a
       | single programmer clearly showed. The extremely limited
       | vocabulary, abbreviated descriptions and simplified parsers were
       | frustrating, so I suspect I never got the full experience of the
       | larger, more mature mainframe-based games which had benefited
       | from iteration by multiple authors and direct feedback from
       | hundreds of players in university computer labs. I think ADV770
       | sounds like what I'm looking for: a well-curated synthesis of the
       | most beloved and iconic versions that remains faithful to the OG
       | story and experience but with some of the rough edges fixed.
        
         | quuxplusone wrote:
         | Other playable-in-browser versions include Eric S. Roberts'
         | "Wellesley Adventure"
         | https://cs.stanford.edu/people/eroberts/Adventure/
         | 
         | and the various versions at http://www.gobberwarts.com/
         | 
         | and https://quuxplusone.github.io/Advent/
        
       ___________________________________________________________________
       (page generated 2025-04-26 23:01 UTC)