Don't build with two -std options.
[open-adventure.git] / history.txt
index 3a38faca089beac75d5b3bed1d6e6dd596827a02..d88dc707d82c4ff434aee8db6be7e64ffd0aeb6b 100644 (file)
@@ -2,26 +2,27 @@
 by Eric S. Raymond
 
 Adventure is the fons et origo of all later dungeon-crawling games,
-the gandaddy of interacive fiction, and one of the hallowed artifacts
+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
-Kentucy, lacking the D&D-like elements now associated with the game.
+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 1976
-(some sources, apparently erroneously, say 1977). That version is
+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 1976 and 1995 Crowther and Woods themselves continued to work
+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 1976; this version was later, and still is,
+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".
@@ -39,11 +40,12 @@ 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>>. Same articles at <<DA>> are a narrative of the history of the
-game. There is some divergence of dates between these; pending
-correction from the authors, I have preferred <<IF>> because its
-chronology makes better internal sense.
+<<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
@@ -66,7 +68,7 @@ he replied on 15 May giving both permission and encouragement.
 
 == Nomenclature ==
 
-This project is called "Open Advent" because it's not at all clear
+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
@@ -74,6 +76,27 @@ best just to start a new numbering series while acknowledging the
 links back.  I have reverted to "Advent" 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]
@@ -81,3 +104,5 @@ with the BSD Games version.
 - [[[IFA]]] http://rickadams.org/adventure/
 
 - [[[[DA]]] http://www.filfre.net/sitemap/
+
+- [[[SN]]] http://www.digitalhumanities.org/dhq/vol/1/2/000009/000009.html