Remove conversion notes from README.
[ibg.git] / about.rst
1 ==================
2  About this guide
3 ==================
4
5 .. highlight:: inform6
6
7 .. epigraph::
8
9    | |CENTER| *If they asked me, I could write a book;*
10    | |CENTER| *About the way you TALK, and LISTEN; And LOOK.*
11
12    -- with apologies to Richard Rodgers and Lorenz Hart.
13
14 .. only:: html
15
16   .. image:: /images/picT.png
17      :align: left
18
19 .. raw:: latex
20
21     \dropcap{t}
22
23 ext adventures, otherwise known collectively as interactive fiction (IF),
24 were highly popular computer games during the 1980s.  As technology evolved
25 they faded from the market, unable to compete with increasingly
26 sophisticated graphical games; however, IF was far from dead.  The Internet
27 grew, and Usenet discussion forums offered a focal point for fans of the
28 genre.  By developing IF programming tools and systems, organising contests
29 and writing tutorials and reviews, these enthusiasts have led a revival
30 responsible for many notable works, including some whose quality arguably
31 surpasses that of the best commercial titles of the 1980s.
32
33 .. Generated by autoindex
34 .. index::
35    single: TADS
36
37 Nowadays, IF is a hobby; almost everything that you need to begin writing
38 your own text adventures is available, for free, on the Internet.  While
39 expert programmers may relish the considerable challenge of creating
40 interactive fiction using a generalised language such as BASIC or C,
41 specialist IF tools have largely solved the fundamental world-building
42 issues.  The most common systems are Graham Nelson's Inform -- our subject
43 matter -- and Mike Roberts' TADS (Text Adventure Development System).  New
44 hopefuls arrive each year, but few achieve widespread acceptance; the
45 majority of today's IF (and virtually all the works generally regarded as
46 interesting, innovative, sophisticated, etc.)  have been created with
47 either one or the other.  In our view, only TADS bears comparison with
48 Inform in popularity, in being able to handle simple and complex stories,
49 and in availability on PCs, Macs, hand-held devices and a wide variety of
50 other computers.  But, since you're reading our guide, we'll assume that
51 you've already made a choice, and decided to give Inform a try.
52
53 We aim to provide a grounding in Inform basics.  When you have learnt a
54 little about it, you'll be able to design simple games for your friends to
55 play and, as you become more accomplished, which you can share via the
56 Internet with enthusiasts worldwide.  However, if you simply want to play
57 [#play]_ games written by others -- rather than write them yourself -- then
58 you don't need to learn Inform, and this guide isn't for you.
59
60 Scope and approach
61 ==================
62
63 Because this is only an introduction to Inform, many features are treated
64 rather superficially, or ignored altogether.  The definitive text is Graham
65 Nelson's |DM4| (Fourth Edition, July 2001), commonly known as the DM4; you
66 cannot hope to use Inform successfully without having this splendid book by
67 your side.  Our guide should be seen merely as a supplement to the DM4,
68 offering step-by-step descriptions of those aspects of Inform which are
69 most important on first acquaintance.  In any matter where we seem at odds
70 with what Graham has written, you should assume that he is right and that
71 we are, well, confused.
72
73 As a tutorial, this guide is intended to be printed out and then read
74 sequentially; it isn't meant for online usage or designed as a reference
75 manual, though it does provide brief summaries of Inform's language and
76 library.  Our approach is to teach you about Inform through the creation of
77 three games: all short, all playable to completion.  "Heidi" is just about
78 as simple as an IF game can be, but still manages to introduce a range of
79 important concepts.  "William Tell", a retelling of the famous folk tale,
80 is nearly as brief but roams more widely in its use of Inform's
81 capabilities.  Finally "Captain Fate" presents a comic-book hero in urgent
82 need of a change.  By the end of the guide, we'll have touched on less than
83 half of Inform's capabilities, but we hope we'll have mentioned most of the
84 things that matter when you're starting out to design your first Inform
85 game.
86
87 One final point: Inform is a powerful system, often offering several
88 different ways of tackling a particular design requirement.  We've tried to
89 present things as simply and consistently as possible, but you shouldn't be
90 surprised to discover other approaches, maybe shorter, maybe more
91 efficient, than those shown here.
92
93 Presentation and style
94 ======================
95
96 Most of the guide's text appears in this typeface, except where we're using
97 words which are part of the Inform system (like ``print``, ``Include``,
98 ``VerbLib``) or are extracted from one of our games (like ``bird``,
99 ``nest``, ``top_of_tree``).
100
101 .. only:: html
102
103    Terms that are included in the :doc:`Glossary <appendices/g>` appear as
104    links to that glossary entry.
105
106 .. only:: latex
107
108    Terms that are included in the :doc:`Glossary <appendices/g>` appear in
109    blue italic.  In the PDF version, these are links to the glossary entry.
110
111 We switch to italic type for a placeholder: for example you should read the
112 Inform statement:
113
114    :samp:`print "{string}";`
115
116 as meaning "display on the player's screen the arbitrary character or
117 characters which are represented here by the placeholder *string*".
118 Examples might include::
119
120   print "Hello world!";
121   print "Fourscore and seven years ago our fathers brought forth on
122          this continent a new nation, [...] and that government of
123          the people, by the people, for the people shall not perish
124          from the earth.";
125
126 We place the "TYPE" symbol alongside game fragments which you can type in
127 as a part of our working examples.  This differentiates them from other
128 code snippets whose only purpose is to illustrate some particular feature.
129
130 .. todo::
131
132    The "TYPE" symbol doesn't really work here.  Think of a better way to
133    indicate typed-in fragments.
134
135 Useful Internet resources
136 =========================
137
138 One of our basic assumptions -- along with your burning desire to learn
139 Inform and your ability to work comfortably with the files and folders on
140 your computer -- is that you have access to the Internet.  This is pretty
141 well essential, since almost everything you need is available only via this
142 medium.  In particular, you'll find much helpful material at these
143 locations:
144
145 *   http://www.inform-fiction.org/
146
147     The Inform home page, maintained by Graham Nelson and a small team of
148     helpers.  Most important, this is where you can find the |DM4| in PDF
149     format.
150
151 *   http://mirror.ifarchive.org/
152
153     .. Generated by autoindex
154     .. index::
155        single: IF Archive
156
157     The IF Archive (or actually a high-speed mirror copy of it), from which
158     you can download almost anything that's free and in the public domain.
159     For a clickable map of Inform-related parts of the Archive, see
160     http://www.firthworks.com/roger/informfaq/hh.html.
161
162     .. note::
163
164        Prior to August 2001, the IF Archive was located elsewhere, at
165        ftp://ftp.gmd.de/if-archive/, and references to that location can
166        still occasionally be found.  *Do not use* the old location: any
167        information still available from there is likely to be out-of-date.
168
169 *   http://www.firthworks.com/roger/
170
171     Roger Firth's Inform pages, including the Informary (what's new in
172     Inform?), and the Inform Frequently Asked Questions (FAQ) pages.
173
174 *   http://www.plover.net/~textfire/raiffaq/
175
176     A more general list of FAQs about IF authorship, covering both Inform
177     and the other main systems.
178
179 *   :newsgroup:`rec.arts.int-fiction`
180
181     .. Generated by autoindex
182     .. index::
183        single: RAIF
184
185     The Usenet newsgroup for authors of IF, commonly known by the
186     abbreviation RAIF.  Here you'll find discussion on IF technology,
187     criticism and game design issues, and fast, friendly and knowledgeable
188     assistance with your own "how do I..." questions (but please, look in
189     the manual first).
190
191 *   :newsgroup:`rec.games.int-fiction`
192
193     .. Generated by autoindex
194     .. index::
195        single: RGIF
196
197     The complementary newsgroup for IF *players*, often known as RGIF.
198
199 .. todo::
200
201    Update these links appropriately.  The newsgroups in particular are
202    mostly unused these days.
203
204 Acknowledgements
205 ================
206
207 Becoming sufficiently conversant with Inform to be able to share it with
208 others is not something done quickly or in isolation.  In getting to where
209 we are today, we have been assisted at many times and in many ways by the
210 notably supportive and good-natured people, far too numerous to list by
211 name, who make ``rec.arts.int-fiction`` such an invaluable IF resource.  We
212 are grateful to you all.
213
214 In creating this guide, we have received specific help from a number of
215 people.  First and foremost we must mention Graham Nelson, who kindly wrote
216 the Foreword, and delighted us with long and detailed lists of helpful
217 comments and suggestions on two of our drafts; also Dennis G.  Jerz, who
218 patiently and skilfully edited the text, making innumerable improvements to
219 our often wayward and inconsistent prose.  David Cornelson supervised the
220 Second Edition's transformation into professionally printed respectability.
221 Further assistance came from Barney Firth, Christine Firth, Harry Firth,
222 Megan Firth, Jim Fisher, Rosemary Frezza, Phil Graham, Graham Holden, Paul
223 Johnson, Yoon Ha Lee, Brian Pylant, Jo Quinn, Milos Radovanovic, Muffy
224 St. Bernard, Gunther Schmidl, Emily Short, Curt Siffert, A. Sloe, Pavel
225 Soukenik, Elise Stone, Brent VanFossen and R. Cliff Young.  Thank you: it
226 is impossible to overstate the value of this freely given support and
227 assistance.
228
229 The drop capitals, and their associated poem, are from "A Picture
230 Alphabet", digitised from a collection of public domain woodcuts, circa
231 1834, by Steven J.  Lundeen of emerald city fontwerks.
232
233 All credit to the generosity of http://briefcase.yahoo.com/ for making
234 international file-sharing such a breeze.
235
236 Finally, of course, we owe an enormous debt of gratitude to Graham Nelson
237 for devising it all, thereby giving us the opportunity -- first
238 independently and later in enjoyable collaboration -- of using, and
239 eventually of presenting, the Inform text adventure development system.
240
241 | |FILL| *Roger Firth*
242 | |FILL| *Wallingford, England*
243
244 | |FILL| *Sonja Kesserich*
245 | |FILL| *Madrid, Spain*
246
247 | |FILL| *August 2004*
248
249 .. rubric:: Footnotes
250
251 .. [#play]
252    If you feel confused about IF in general or about this distinction
253    between writing and playing in particular, try glancing ahead at
254    :doc:`chapters/01` and at :doc:`appendices/a`; also, you may find the
255    Ifaq at http://www.plover.net/~textfire/raiffaq/ifaq/ helpful.