Use "adoc" extension for asciidoc, it's the GitLab convention.
authorEric S. Raymond <esr@thyrsus.com>
Sat, 3 Jun 2017 18:29:44 +0000 (14:29 -0400)
committerEric S. Raymond <esr@thyrsus.com>
Sat, 3 Jun 2017 18:29:44 +0000 (14:29 -0400)
Makefile
README.adoc
advent.adoc [new file with mode: 0644]
advent.txt [deleted file]
history.adoc [new file with mode: 0644]
history.txt [deleted file]

index 8cdf1b3fc7d41dbf21b3bac1d5b6b6695ad44004..b3500c36bd0f0cdb021936573c04de7e83f7cd8e 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -9,7 +9,7 @@ ifeq ($(UNAME_S),Linux)
 endif
 
 OBJS=main.o init.o actions1.o actions2.o score.o misc.o database.o
 endif
 
 OBJS=main.o init.o actions1.o actions2.o score.o misc.o database.o
-SOURCES=$(OBJS:.o=.c) COPYING NEWS README TODO adventure.text advent.text control advent.h funcs.h
+SOURCES=$(OBJS:.o=.c) COPYING NEWS README TODO adventure.text advent.adoc control advent.h funcs.h
 
 .c.o:
        $(CC) $(CCFLAGS) $(DBX) -c $<
 
 .c.o:
        $(CC) $(CCFLAGS) $(DBX) -c $<
@@ -48,9 +48,9 @@ check: advent
        cd tests; $(MAKE) --quiet
 
 # Requires asciidoc and xsltproc/docbook stylesheets.
        cd tests; $(MAKE) --quiet
 
 # Requires asciidoc and xsltproc/docbook stylesheets.
-.asc.6: advent.txt
+.asc.6: advent.adoc
        a2x --doctype manpage --format manpage $<
        a2x --doctype manpage --format manpage $<
-.asc.html: advent.txt
+.asc.html: advent.adoc
        a2x --doctype manpage --format xhtml -D . $<
        rm -f docbook-xsl.css
 
        a2x --doctype manpage --format xhtml -D . $<
        rm -f docbook-xsl.css
 
index 3426278d2dbed0704b0ab9ba90ef20834bcb2752..b513dc453a8f92d5da21cf78e76fc60152a4a07e 100644 (file)
@@ -5,7 +5,7 @@ This code is a forward-port of the Crowther/Woods Adventure 2.5 from
 development written by the original authors.  The authors have given
 permission and encouragement for this release.
 
 development written by the original authors.  The authors have given
 permission and encouragement for this release.
 
-The file history.txt contains a more detailed history of this game
+The file history.adoc contains a more detailed history of this game
 and its ancestors.
 
 This project is called "Open Adventure" because it's not at all clear
 and its ancestors.
 
 This project is called "Open Adventure" because it's not at all clear
diff --git a/advent.adoc b/advent.adoc
new file mode 100644 (file)
index 0000000..7280b03
--- /dev/null
@@ -0,0 +1,39 @@
+= advent(6) =
+:doctype: manpage
+
+== NAME ==
+advent - Colossal Cave Adventure
+
+== SYNOPSIS ==
+*advent* [-l logfile] [-o]
+
+== DESCRIPTION ==
+The original Colossal Cave Adventure from 1976 was the origin of all
+text adventures, dungeon-crawl (computer) games, and computer-hosted
+roleplaying games.
+
+This is the last version released by Crowther & Woods, its original
+authors, in 1995.  It has been known as "adventure 2.5" and "430-point
+adventure".  To learn more about the changes since the 350-point
+original, type 'news' at the command prompt.
+
+There is an 'adventure' in the BSD games package that is a C port by
+Jim Gillogly of the 1976 ancestor of this game.  To avoid a name
+collision, this game builds as 'advent', reflecting the fact that the
+PDP-10 on which it originally ran limited filenames to 6 characters.
+
+This version is released as open source with the permission and
+encouragement of the original authors.
+
+== OPTIONS ==
+
+-l:: Log commands to specified file.
+
+-o:: Old-style.  Restores original interface, no prompt.
+
+== REPORTING BUGS ==
+Report bugs to Eric S. Raymond <esr@thyrsus.com>.  The project page is
+at http://catb.org/~esr/advent
+
+== SEE ALSO ==
+wumpus(6), adventure(6), zork(6), rogue(6), nethack(6).
diff --git a/advent.txt b/advent.txt
deleted file mode 100644 (file)
index 7280b03..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-= advent(6) =
-:doctype: manpage
-
-== NAME ==
-advent - Colossal Cave Adventure
-
-== SYNOPSIS ==
-*advent* [-l logfile] [-o]
-
-== DESCRIPTION ==
-The original Colossal Cave Adventure from 1976 was the origin of all
-text adventures, dungeon-crawl (computer) games, and computer-hosted
-roleplaying games.
-
-This is the last version released by Crowther & Woods, its original
-authors, in 1995.  It has been known as "adventure 2.5" and "430-point
-adventure".  To learn more about the changes since the 350-point
-original, type 'news' at the command prompt.
-
-There is an 'adventure' in the BSD games package that is a C port by
-Jim Gillogly of the 1976 ancestor of this game.  To avoid a name
-collision, this game builds as 'advent', reflecting the fact that the
-PDP-10 on which it originally ran limited filenames to 6 characters.
-
-This version is released as open source with the permission and
-encouragement of the original authors.
-
-== OPTIONS ==
-
--l:: Log commands to specified file.
-
--o:: Old-style.  Restores original interface, no prompt.
-
-== REPORTING BUGS ==
-Report bugs to Eric S. Raymond <esr@thyrsus.com>.  The project page is
-at http://catb.org/~esr/advent
-
-== SEE ALSO ==
-wumpus(6), adventure(6), zork(6), rogue(6), nethack(6).
diff --git a/history.adoc b/history.adoc
new file mode 100644 (file)
index 0000000..f64fef9
--- /dev/null
@@ -0,0 +1,150 @@
+= 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
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