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