Add initial work on converting the i6 FAQ
[inform-resources.git] / informfaq / i6-faq.md
diff --git a/informfaq/i6-faq.md b/informfaq/i6-faq.md
new file mode 100644 (file)
index 0000000..3b0afe1
--- /dev/null
@@ -0,0 +1,151 @@
+Inform 6: Frequently Asked Questions
+====================================
+
+By Roger Firth <roger@firthworks.com>
+
+From <http://www.firthworks.com/roger/informfaq/>
+
+Copyright Roger Firth. Copying and distribution, with or without
+modification, are permitted in any medium without royalty provided the
+copyright notice and this notice are preserved.
+
+You're reading a set of answers to Frequently Asked Questions about
+the Inform 6 programming language, intended especially to help those
+who are novices in this arena.
+
+This FAQ aims to address topics which commonly cause confusion among
+newcomers. However, you shouldn't set your expectations too high; it
+isn't an Inform tutorial, it pre-supposes that you've got a little
+Inform knowledge already and it assumes at least a little knowledge of
+computer programming. Very rarely will these answers give you the full
+story. Generally, they're designed as introductory tasters, providing
+just enough information to illustrate the general principles.
+
+I'm deeply grateful to Sonja Kesserich for making this possible, and
+for her invaluable collaborative enthusiasm in the whole enterprise.
+
+Many people helped in the creation of this document, sometimes
+unwittingly; my thanks for all of the assistance. The Inform FAQ was
+originally maintained by Roger Firth.
+
+1. Setting the scene
+--------------------
+
+**These topics are about understanding what Inform does, and how best
+to learn about it:**
+
+### 1.1 So, what *is* Inform?
+
+From the *Introduction to the Inform Designer's Manual*: "Inform is a
+system for creating adventure games. It translates an author's textual
+description into a simulated world which can be explored by readers
+using almost any computer, with the aid of an interpreter program."
+
+In its simplest possible form, the "author's textual description"
+looks rather like this:
+
+      Constant Story "RUINS";
+      Constant Headline "^An Interactive Worked Example^
+                         Copyright (c) 2001 by Angela M. Horns.^";
+
+      Include "Parser";
+      Include "VerbLib";
+
+      Object  Forest "~Great Plaza~"
+        with  description
+             "Or so your notes call this low escarpment of limestone,
+              but the rainforest has claimed it back. Dark olive
+              trees crowd in on all sides, the air steams with the
+              mist of a warm recent rain, midges hang in the air.
+              ~Structure 10~ is a shambles of masonry which might
+              once have been a burial pyramid, and little survives
+              except stone-cut steps leading down into darkness below.",
+        has   light;
+
+      [ Initialise;
+          location = Forest;
+          "^^^Days of searching, days of thirsty hacking through the briars of
+          the forest, but at last your patience was rewarded. A discovery!^";
+      ];
+
+      Include "Grammar";
+
+Needless to say, real adventure games are much more exciting -- and
+much more complex -- than our tiny example. Nevertheless, almost all
+games look more or less like this, and behave more or less in this
+manner.
+
+### 1.2 How is Inform related to Infocom?
+
+Infocom was the company, formed in 1979 by ex-MIT students to
+capitalize on the popularity of Adventure and its imitators, which
+over the following ten years created more than thirty text adventure
+games; many of those are highly regarded, and still widely played
+today. Infocom's games were written in a specially-devised Zork
+Implementation Language (ZIL) and compiled by Zilch into Z-code. A
+Z-code game could be played using a Z-machine interpreter program, and
+many interpreters were written to run on the wide range of hobbyist
+microcomputers then in vogue.
+
+Eventually, text adventures fell from public favor, Infocom
+disappeared into Activision, and the specifications of ZIL and the
+Z-machine were lost. All that remained in general circulation were the
+Z-code games themselves. In an astonishing feat of
+reverse-engineering, a group of enthusiasts known as the Infocom Task
+Force managed in the early 1990s to deduce the architecture of the
+Z-machine by inspecting the contents of these binary (non-text) files,
+and they documented their researches in the [Z-machine Standards
+Document](http://www.inform-fiction.org/zmachine/standards/).
+
+That specification made it possible to create new Z-machine
+interpreters, and thus to play the original games on computers which
+hadn't existed when Infocom was around. There was, however, no way to
+create new games for the Z-machine until Graham devised Inform.
+Although the Inform language is, at least superficially, nothing like
+ZIL, and the Inform compiler is quite different from Zilch,
+nevertheless the outcome of compiling a source game is the same in
+both cases -- a file of Z-code which can be played on any Z-machine
+interpreter. Many Inform programmers view this, the commonality of
+Z-code between their games and the original Infocom masterpieces, as
+one of the coolest features of the system.
+
+### 1.3 When did Inform appear?
+
+The first version of Inform appeared in 1993, and the system has been
+growing steadily in capability and usage ever since.
+
+  Version    Date       Compiler     Library
+  ---------- ---------- ---------- ---------
+  Inform 1   Apr 1993              
+  Inform 2   ??? 1993              
+  Inform 3   Nov 1993              
+  Inform 4   Jan 1994              
+  Inform 5   Jun 1994              
+             ...                   
+             Jun 1995              
+  Inform 6   Apr 1996   6.01             6/1
+             May 1996   6.02              -
+             May 1996   6.03              -
+             Sep 1996   6.04             6/2
+             Sep 1996   6.05              -
+             Dec 1996   6.10             6/3
+             Jan 1997   6.11             6/4
+             Mar 1997   6.12              -
+             Apr 1997   6.13             6/5
+             Aug 1997   -                6/6
+             Sep 1997   6.14             6/7
+             Mar 1998   6.15              -
+             Dec 1998   6.20             6/8
+             Apr 1999   6.21             6/9
+             Nov 1999   -               6/10
+             Feb 2004   6.30            6/11
+
+Looking at this (slightly simplified) chart, you can see how Inform
+initially evolved quite rapidly, running through five major versions
+in its first three years. Some of those early versions were fairly
+primitive; not until VersionĀ 6 did it settle into a form closely
+resembling the system that we use today.
+
+In fact, although the core system didn't change at all between 1999
+and 2004, Inform enthusiasts continue to find ways of extending and
+enhancing that core using a wide variety of techniques.
\ No newline at end of file