page_title: Colossal Cave Adventure
section_title: Later versions
hierarchical_section_title: Colossal Cave Adventure / Development / Later versions
caption_attribution_description: English: Colossal Cave Adventure running on a PDP-11/34 displayed on the VT100 console.
context_page_description: Colossal Cave Adventure is a text adventure game, developed between 1975 and 1977 by Will Crowther for the PDP-10 mainframe. The game was expanded upon in 1977 with help from Don Woods, and other programmers created variations on the game and ports to other systems in the following years.
  In the game, the player controls a character through simple text commands to explore a cave rumored to be filled with wealth. Players earn predetermined points for acquiring treasure and escaping the cave alive, with the goal to earn the maximum number of points offered. The concept bore out from Crowther's background as a caving enthusiast, with the game's cave structured loosely around the Mammoth Cave system in Kentucky.
  Colossal Cave Adventure is the first known work of interactive fiction and, as the first text adventure game, is considered the precursor for the adventure game genre. Colossal Cave Adventure also contributed towards the role-playing and roguelike genres.
context_section_description: Both Crowther's and Woods' version were designed to run on the PDP-10, enabling certain features unique to the platform. The PDP-10 architecture was 36-bit, with each word able to store five 7-bit ASCII characters.
  The game's FORTRAN code compared player's commands with its vocabulary but using only the first five letters of each English word.
  Unfortunately, this limitation was silently evident to the game player too, and adversely affected gameplay ("north" would be equivalent to "northeast").
  Hence, Woods added the five-letter limit notes to Crowther's original game instructions.
  The PDP-10 also implemented application checkpointing which allows saving and restoring of the state of the entire program, instead of a more traditional save file. Both these features made it difficult to directly port the code to other architectures.
  One of the first efforts to port the code was by Jim Gillogly of the RAND Corporation in 1977. Gillogly, with agreement from Crowther and Woods, spent several weeks porting the code to C to run on the more generic Unix architecture. It can be found as part of the BSD Operating Systems distributions, or as part of the "bsdgames" package under most Linux distributions, under the command name "adventure".  The game was also ported to Prime Computer's super-mini running PRIMOS in the late 1970s, utilizing FORTRAN IV, and to IBM mainframes running VM/CMS in late 1978, utilizing PL/I.  In 1978, Chris Eisnaugle and Dan Blumenfeld, both high school students at the time, replicated the entire 350-point version of the game by coding a functional equivalent in HP Time-Shared BASIC for a Hewlett-Packard 2000C minicomputer.  The gameplay and text content were identical to the original by Crowther and Woods.  In the late 1970s, a freeware Commodore PET version was produced by Jim Butterfield; some years later this version was ported to the Commodore 64. Microsoft also released versions of Adventure in 1979 for the Apple II Plus and TRS-80 computers.
  The Software Toolworks in 1981 released The Original Adventure. Endorsed by Crowther and Woods, it was the only version for which they received royalties. Microsoft released Adventure in 1981 with its initial version of MS-DOS 1.0 as a launch title for the IBM PC, making it the first game available for the new computer. It was released on a single-sided 5​¹⁄₄ inch disk, required 32K RAM, and booted directly from the disk; it could not be opened from DOS. Microsoft's Adventure contained 130 rooms, 15 treasures, 40 useful objects and 12 problems to be solved. The progress of two games could be saved on a diskette. Later versions of the game moved away from general purpose programming languages such as C or Fortran and were instead written for special interactive fiction engines, such as Infocom's Z-machine.
  In addition to strict ports of the game, variations began to appear, typically denoted by the maximum number of points one could score in the game; the original version by Crowther and Woods had a maximum of 350 points.  Russel Dalenberg's Adventure Family Tree page provides the best (though still incomplete) summary of different versions and their relationships.
  A generic version of the game was developed in 1981 by Graham Thomson for the ZX-81 as the Adventure-writing kit. This stripped-down version had space for 50 rooms and 15 objects and was designed to allow the aspiring coder to modify the game and thus personalize it. The game's code was published in April 1982.
  Dave Platt's influential 550-point version (released in 1984) was innovative in a number of ways. It broke away from coding the game directly in a programming language such as FORTRAN or C. Instead, Platt developed A-code – a language for adventure programming – and wrote his extended version in that language. The A-code source was pre-processed by a FORTRAN 77 (F77) "munger" program, which translated A-code into a text database and a tokenized pseudo-binary. These were then distributed together with a generic A-code F77 "executive", also written in F77, which effectively "ran" the tokenized pseud
caption: Colossal Cave Adventure running on a PDP-11/34 displayed on the minicomputer's VT100 serial console.
exif: {"GPS GPSImgDirection": "69", "GPS GPSImgDirectionRef": "M", "GPS GPSLatitudeRef": "N", "GPS GPSLatitude": "[40, 43, 319033/10000]", "GPS GPSLongitudeRef": "W", "GPS GPSLongitude": "[73, 59, 137091/2500]", "GPS GPSAltitudeRef": "0", "GPS GPSAltitude": "0", "GPS GPSTimeStamp": "[22, 34, 34]", "GPS GPSProcessingMethod": "ASCII", "GPS GPSDate": "2014:06:02", "Image GPSInfo": "462", "Image Model": "Nexus 5", "Image ExifOffset": "134", "Image YCbCrPositioning": "Centered", "Image YResolution": "72", "Image ResolutionUnit": "Pixels/Inch", "Image XResolution": "72", "Image Make": "LGE", "Thumbnail YResolution": "72", "Thumbnail ResolutionUnit": "Pixels/Inch", "Thumbnail XResolution": "72", "Thumbnail Compression": "JPEG (old-style)", "Thumbnail JPEGInterchangeFormat": "807", "Thumbnail JPEGInterchangeFormatLength": "14464", "EXIF ApertureValue": "63/25", "Interoperability InteroperabilityIndex": "R98", "Interoperability InteroperabilityVersion": "[48, 49, 48, 48]", "EXIF InteroperabilityOffset": "432", "EXIF DateTimeDigitized": "2014:06:02 18:34:51", "EXIF ShutterSpeedValue": "5067/1000", "EXIF ColorSpace": "sRGB", "EXIF DateTimeOriginal": "2014:06:02 18:34:51", "EXIF FlashPixVersion": "0100", "EXIF ExposureBiasValue": "0", "EXIF ExifImageLength": "2448", "EXIF ExifVersion": "0220", "EXIF ExifImageWidth": "3264", "EXIF FocalLength": "397/100", "EXIF Flash": "Flash did not fire", "EXIF ExposureTime": "1/34", "EXIF ISOSpeedRatings": "296", "EXIF ComponentsConfiguration": "YCbCr", "EXIF FNumber": "12/5"}