Prevent tampering with PRNG parameters in save
[open-adventure.git] / history.adoc
index a8623cf2e5d21a9242e477847f64e284fef26b91..085394462c7f300a0669a25d0a2a46d0b9c40e40 100644 (file)
@@ -23,15 +23,16 @@ 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".
+included in the BSD Games collection.  I have it from Don Woods directly
+that "[Jim Gillogly] was one of the first to request and receive a copy 
+of the source" but that Woods did not actually know of the BSD port
+until I briefed him on it in 2017.  (This contradicts some implications
+in third-party histories.)
 
 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.
+Computer in 1981; neither Crowther nor Woods nor Gillogly were paid
+royalties.
 
 The history of these non-mainline versions is complex and
 murky. Functional differences were generally marked by changes in the
@@ -40,17 +41,18 @@ 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>>.
+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 IFA's historical claims are thinly sourced and its dates for the
+earliest releases don't match either 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.
+An attempt to untangle and document a lot of the non-mainline history
+has been made by Arthur O'Dwyer at <<QUUX>>.  For our purposes, it
+will suffice to explain the chain of provenance that led from the
+original Adventure to the Open Adventure 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
@@ -64,7 +66,7 @@ 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.
+he replied on 15 May 2017 giving both permission and encouragement.
 
 Here is what Don said about differences between the original Adventure
 and 2.5:
@@ -126,53 +128,16 @@ and minicomputer-centered culture Crowther and Woods were part of
 until well after Adventure was written.
 
 (I was a developer of the Nethack roguelike early in that game's
-history; we knew of Hunt The Wumpus then from its early Unix port, but
-it didn't influence us either, nor in any apparent way the designers
-of other early roguelikes. After my time the wumpus was included as a
-monster in Nethack, but this was done in a spirit of conscious
-museumization after historians rediscovered Yob's game.)
+history, in the late 1980s; we knew nothing of PLATO dnd.  We did know
+of Hunt The Wumpus then from its early Unix port, but it didn't
+influence us either, nor in any apparent way the designers of other
+early roguelikes. After my time the wumpus was included as a monster
+in Nethack, but this was done in a spirit of conscious museumization
+after historians rediscovered Yob's game.)
 
 Neither of these games used an attempt at a natural-language parser
 even as primitive as Adventure's.
 
-== 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.
-
-We have reverted to "advent" for the binary to avoid a name collision
-with the BSD Games version.
-
-== Functional changes in Open Adventure ==
-
-By default, advent issues "> " as a command prompt.  This feature
-became common in many variants after the original 350-point version,
-but was never backported into Crowther & Woods's main line before now.
-The "-o" (oldstyle) version reverts the behavior.
-
-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]
@@ -186,3 +151,5 @@ which is then linked to the advent binary.
 - [[[DND]]] https://en.wikipedia.org/wiki/Dnd_(video_game)
 
 - [[[WUMPUS]]] https://en.wikipedia.org/wiki/Hunt_the_Wumpus
+
+- [[[QUUX]]] https://github.com/Quuxplusone/Advent