Use "adoc" extension for asciidoc, it's the GitLab convention.
[open-adventure.git] / history.txt
diff --git a/history.txt b/history.txt
deleted file mode 100644 (file)
index f64fef9..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-= A brief history of Colossal Cave Adventure =
-by Eric S. Raymond
-
-Adventure is the fons et origo of all later dungeon-crawling games,
-the grandaddy of interactive fiction, and one of the hallowed artifacts
-of hacker folklore.
-
-The very first version was released by Crowther in 1976, in FORTRAN on
-the PDP-10 at Bolt, Beranek, and Newman. (Crowther was at the time
-writing what we could now call firmware for the earliest ARPANET
-routers.) It was a maze game based on the Colossal Cave complex in
-Kentucky, lacking most of the D&D-like elements now associated with
-the game.
-
-Adventure as we now know it, the ancestor of all later versions, was
-was released on a PDP-10 at the Stanford AI Lab by Don Woods in 1977
-(some sources, apparently erroneously, say 1976). That version is
-sometimes known as 350-point Adventure.
-
-Between 1977 and 1995 Crowther and Woods themselves continued to work
-intermittently on the game. This main line of development culminated
-in the 1995 release of Adventure 2.5, also known as 430-point Adventure
-
-The earliest port to C was by Jim Gillogly under an early Unix running
-at the Rand Corporation in 1977; this version was later, and still is,
-included in the BSD Games collection.  It was blessed by Crowther and
-Woods and briefly marketed in 1981 under the name "The Original
-Adventure".
-
-Many other people ported and extended the game in various directions.
-A notable version was the first game shipped for the IBM Personal
-Computer in 1981; this, for which neither Crowther nor Woods nor
-Gillogly were paid royalties, what "The Original" was competing
-against.
-
-The history of these non-mainline versions is complex and
-murky. Functional differences were generally marked by changes in the
-maximum score as people added puzzles and rooms; however, multiple
-ports of some versions existed - some in FORTRAN, some in C,
-some in other languages - so the maximum point score is not
-completely disambiguating.
-
-Same articles at <<DA>> are a narrative of the history of the
-game.  There is an in-depth study of its origins at <<SN>>.
-Many versions are collected at The Interactive Fiction Archive
-<<IFA>>; note however that its dates for the earliest releases
-don't match other comments in the code or the careful reconstruction
-in <<SN>>.
-
-Future versions of this document may attempt to untangle some of the
-non-mainline history. For now, it will suffice to explain the chain of
-provenance that led from the original Adventure to the version
-distributed with this document.
-
-The original 350-point ADVENT on the PDP-10 had been one of my
-formative experiences as a fledgling hacker in 1976-77. Forty years
-later, in February 2017, while doing some casual research into the
-history of text adventure games, I looked through some source code at
-<<IFA>> and was delighted to learn of Adventure 2.5, a version of the
-Crowther-Woods mainline later than I had ever played.
-
-Adventure 2.5 had been shipped long enough ago that today's conventions of
-open-source licensing were not yet fully established. The Makefile
-contained a rights reservation by Don Woods and that was it.
-
-I wrote to Don asking permission to release 2.5 under 2-clause BSD;
-he replied on 15 May giving both permission and encouragement.
-
-Here is what Don said about differences between the original Adventure
-and 2.5:
-
-> The bulk of the points come from five new 16-point treasures.  (I say "bulk"
-> because I think at least one of the scores included some padding and I may
-> have tweaked those.)  Each of the new treasures requires solving a puzzle
-> that's definitely at the tricky end of the scale for Adventure.  Much of the
-> new stuff involves trying new directions and/or finding new uses for stuff
-> that already existed; e.g. the forest outside is no longer a small number of
-> locations with partially random movement, but is a full-fledged maze, one
-> that I hope has a character different from either of the previous two.
-> 
-> As the text itself says, V2.5 is essentially the same as V2, with a few more
-> hints.  (I think I came up with a better one for the endgame, too.)  I don't
-> seem to have a copy of the similar text from V2, so I don't know whether/how
-> it described itself to new and seasoned players.
-> 
-> The other big change, as I mentioned above, was I added a way of docking
-> points at a certain number of turns.  This was my second attempt to do what
-> the batteries had been for: require being efficient to achieve top score.
-> Alas, the batteries led to players deliberately turning the lamp off/on
-> whenever they weren't moving or were in a lit area, making the game take
-> even longer!  I set the requirement at what felt like a hard but fair
-> number of turns, then applied several sneaky tricks to shave off another
-> twenty.
->
-> I hacked up a wrapper around the game (still in Fortran, most likely, but
-> I forget) that would try each initializing the RNG using each second of a
-> given day, while feeding in a script that either worked or aborted early
-> if anything went wrong (such as a dwarf blocking my path).  As I recall,
-> it took less than a day's worth of RNG seeds to find one that worked.
->
-> I verified my script could work given a favorable RNG, and stuck
-> that number in the message.
-> 
-> I like how that final puzzle, unlike the game itself, does not readily
-> succumb even given access to the game source.  You really need to fit
-> together not only the goals and the map and use of inventory space, but
-> also details like just what _can_ you do in the dark...?
-
-== Nomenclature ==
-
-This project is called "Open Adventure" because it's not at all clear
-to number Adventure past 2.5 without misleading or causing
-collisions. Various of the non-mainline versions have claimed to be
-versions 3, 4, 5, 6, 7 and for all I know higher than that.  It seems
-best just to start a new numbering series while acknowledging the
-links back.
-
-I have reverted to "Advent" for the binary to avoid a name collision
-with the BSD Games version.
-
-== Functional changes in Open Adventure ==
-
-A "seed" command has been added.  This is not intended for human use
-but as a way for game logs to set the PRNG (pseudorandom-number generator) so
-that random events (dwarf & pirate appearances, the bird's magic word)
-will be reproducible.
-
-A -l command-line option has been added. When this is given (with a
-file path argument) each command entered will be logged to the
-specified file.  Additionally, a generated "seed" command will be put
-early in the file capturing the randomized start state of the PRNG
-so that replays of the log will be reproducible.
-
-Using "seed" and -l, the distribution now includes a regression-test
-suite for the game.  Any log captured with -l (and thus containing
-a "seed" command) will replay reliably, including random events.
-
-The adventure.text file is no longer required at runtime.  Instead, it
-is compiled at build time to a source module containing C structures,
-which is then linked to the advent binary.
-
-== Sources ==
-
-[bibliography]
-
-- [[[IFA]]] http://rickadams.org/adventure/
-
-- [[[[DA]]] http://www.filfre.net/sitemap/
-
-- [[[SN]]] http://www.digitalhumanities.org/dhq/vol/1/2/000009/000009.html