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