~ubuntu-branches/ubuntu/vivid/inform/vivid

« back to all changes in this revision

Viewing changes to html/intro.html

  • Committer: Bazaar Package Importer
  • Author(s): Jan Christoph Nordholz
  • Date: 2008-05-26 22:09:44 UTC
  • mfrom: (2.1.1 lenny)
  • Revision ID: james.westby@ubuntu.com-20080526220944-ba7phz0d1k4vo7wx
Tags: 6.31.1+dfsg-1
* Remove a considerable number of files from the package
  due to unacceptable licensing terms.
* Repair library symlinks.

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<HTML><HEAD><TITLE>Introduction</TITLE></HEAD>
2
 
<BODY BGCOLOR="#FFFFFF">
3
 
<TABLE><TR><TD Valign="top"><A HREF="contents.html">Contents</A><BR><A HREF="contents.html">Back</A><BR><A HREF="chapter1.html">Forward</A><TD bgcolor="#F5DEB3"><BLOCKQUOTE><H3>Introduction</H3>
4
 
</BLOCKQUOTE><TR><TD><TD>
5
 
<P>
6
 
 
7
 
<BLOCKQUOTE>
8
 
<BR>I will build myself a copper tower
9
 
<BR>With four ways out and no way in
10
 
<BR>But mine the glory, mine the power...
11
 
<BR><P>...Louis MacNeice (<B>1907</B>--<B>1963</B>), <I>Flight of the Heart</I></BLOCKQUOTE>
12
 
<P>
13
 
 
14
 
 
15
 
Inform is a system for creating adventure games, and this is the book to
16
 
read about it.
17
 
<P>
18
 
 
19
 
Infocom format 'story files' (adventure games, that is) can be played on
20
 
almost any computer, from personal organisers to mainframes, with the aid of
21
 
'interpreter' programs.  The task of the Inform 'compiler' is to translate a
22
 
textual description of a game into a story file.  The result will play
23
 
identically on any machine of any model.
24
 
<P>
25
 
 
26
 
Inform is a suite of software, called the 'library', as well as a compiler.
27
 
Without the library, it would be a major undertaking to write a description
28
 
of even the smallest game.  The library has two ingredients: the parser, a
29
 
program for translating written English inputs into a form games can more
30
 
easily understand, and the "world model'', a complex web of rules common
31
 
to all adventure games.  Given these, the designer only needs to describe
32
 
things and give any exceptional rules that apply.  ("There is a bird here,
33
 
which is a normal item except that you can't pick it up.'')
34
 
<P>
35
 
 
36
 
The library is rich in detail.  The parser recognises over 80 distinct verbs
37
 
and a vocabulary of about 300 words even before any rooms or objects are
38
 
created, and is programmable and highly flexible.  It can handle ambiguities,
39
 
clarify its input by asking questions ("Which key do you mean...?'') and can
40
 
cope properly with plurals, vagueness, conversation, pronouns and the player
41
 
becoming someone else in mid-game.  It can be configured to languages other
42
 
than English.  The world-model includes rooms, items, vehicles, duplicates,
43
 
containers, doors, things on top of other things, light and darkness,
44
 
switching things on and off, opening, closing and locking things, looking
45
 
up information in books, entering things, scoring and so forth.
46
 
<P>
47
 
 
48
 
<P>
49
 
<P>
50
 
 
51
 
Just as Inform has two strands -- compiler and library -- so this manual has
52
 
two parts: Programming and Designing.  In Book One, small computer programs
53
 
are written to perform simple calculations, never using the library.  Subsections
54
 
listed <I> in slanted text</I> on the detailed contents page become technical
55
 
but the rest is pitched at newcomers and can be skim-read by anyone with
56
 
prior experience of a programming language such as C or Pascal.  Book Two
57
 
is entirely about making games.
58
 
<P>
59
 
 
60
 
Newcomers are invited to work through <A HREF="section1.html">Section 1</A> and <A HREF="section7.html">Section 7</A>, the "getting started''
61
 
sections in Books One and Two, before reading much more of either.
62
 
<P>
63
 
 
64
 
<P>
65
 
In trying to be both a tutorial and reference work, this book aims itself
66
 
in style halfway between the two extremes of manual, Tedium and Gnawfinger's
67
 
<I> Elements of Batch Processing in COBOL-66</I>, third edition, and Mr Blobby's
68
 
<I> Blobby Book of Computer Fun</I>.  (This makes some sections both leaden
69
 
<I> and</I> patronising.)
70
 
<P>
71
 
 
72
 
<P><TR><TD Valign="top"><IMG SRC="icons/dbend.gif" ALT="/\"><TD bgcolor="#EEEEEE"><SMALL> Passages which divert the main story, usually to
73
 
tell an unexpurgated truth which may confuse or bore a newcomer, are marked
74
 
with a warning triangle <IMG SRC="icons/dbend.gif" ALT="/\"> or two, and set in smaller type.
75
 
</SMALL>
76
 
<TR><TD><TD><P>
77
 
 
78
 
 Examples of program are set in <TT>typewriter</TT> font.
79
 
Mundane or irrelevant passages in
80
 
longer examples are sometimes replaced with a line reading just "<TT>...</TT>''
81
 
<P>
82
 
 
83
 
To keep Book Two from clogging up with examples, many are set as
84
 
"exercises'', with "answers'' given in full at the back of the book.
85
 
Harder exercises are marked with triangles and some are very hard indeed.
86
 
I emphasize that the exercises are often intended as a way of presenting answers
87
 
to deliberately difficult questions, to assist experts: the curse of Adventure
88
 
design-languages is the feature which is ideal for the simple but too inflexible
89
 
to cope with the complicated.  For a list of exercises with page references to
90
 
question and answer, see under "exercises'' in the Index.
91
 
<P>
92
 
 
93
 
A better tutorial than attempting the exercises, then, is probably to make
94
 
a simple game, as demonstrated in Chapter III, and then add an example of each
95
 
new feature as you work through Chapters IV and V.
96
 
<P>
97
 
 
98
 
Many sections end with a 'References' paragraph referring to yet
99
 
more examples which can be found in Inform's demonstration games.  All of these
100
 
have publically available source code (see the Inform home page): those most
101
 
frequently referred to are 'Advent' (a full version of the original
102
 
mainframe 'Adventure', which contains a good deal of "everyday Inform''),
103
 
'Adventureland' (a version of Scott Adams's primitive classic),
104
 
'Alice Through The Looking-Glass' (a heavily annotated game, developed in
105
 
the course of Gareth Rees's WWW tutorial for Inform), 'Balances' (a short
106
 
story consisting of puzzles which stretch the parser's abilities) and
107
 
'Toyshop' (hardly a game: more an incoherent collection of unusual
108
 
objects).  In addition, the little game 'Ruins' is developed
109
 
in the course of Chapters III and IV of this manual.
110
 
<P>
111
 
 
112
 
Finally, the "game'' called 'Museum of Inform' simulates a museum whose
113
 
exhibits are solutions to the exercises in this manual.
114
 
<P>
115
 
 
116
 
<P>
117
 
Copyright on Inform, the program and its source code, its example games
118
 
and documentation (including this book) is retained by Graham Nelson, who
119
 
asserts the moral right to be identified as the author under the Copyrights,
120
 
Designs and Patents Act 1988.  Having said this, I am happy for it to be freely
121
 
distributed to anybody who wants a copy, provided that: (a) distributed copies
122
 
are not substantially different from those archived by the author, (b) this and
123
 
other copyright messages are always retained in full, and (c) no profit is
124
 
involved.  (Exceptions to these rules must be negotiated directly with the
125
 
author.)  However, a story file produced with the Inform compiler (and
126
 
libraries) then belongs to its author, and may be sold for profit if desired,
127
 
provided that its game banner contains the information that it was compiled by
128
 
Inform, and the Inform version number.
129
 
<P>
130
 
 
131
 
The Internet source for Inform material (executables of the compiler for
132
 
different machines, source code, the library files and example games)
133
 
is the German National Research Centre for Computer Science, where Volker
134
 
Blasius maintains an archive at the anonymous FTP site <TT>ftp.gmd.de</TT>.
135
 
Inform can be found at:
136
 
<BLOCKQUOTE><A HREF="ftp://ftp.gmd.de/if-archive/infocom/compilers/inform"><TT>ftp://ftp.gmd.de/if-archive/infocom/compilers/inform6</TT></A></BLOCKQUOTE>
137
 
 
138
 
Another useful resource is the Inform 6 home page on the 'World Wide Web',
139
 
which includes Gareth Rees's 'Alice' tutorial, located at:
140
 
<BLOCKQUOTE><A HREF="http://www.gnelson.demon.co.uk/inform.html"><TT>http://www.gnelson.demon.co.uk/inform.html</TT></A></BLOCKQUOTE>
141
 
This manual describes Inform release 6.13 (or later), using
142
 
library release 6/5 (or later).  Earlier Inform 6 compilers and
143
 
libraries are very similar but Inform 5.5 and 5/12 are very different.
144
 
<P>
145
 
<P>
146
 
 
147
 
This manual has evolved from seven earlier publications, once rather makeshift
148
 
and sometimes defensive ("Inform is an easel, not a painting'').  There were
149
 
specifications of the run-time code format and literary critiques of games
150
 
gone by: like an oven manual padded out with both a cookery book and a
151
 
detailed plan of the gas mains.  This book contains just the instructions
152
 
for the oven.
153
 
<P>
154
 
 
155
 
So there are four 'companion volumes'.  <I> The Craft of Adventure</I> is
156
 
an essay on the design of adventure games;  <I> The Z-Machine Standards
157
 
Document</I> minutely covers the run-time format and Inform assembly
158
 
language, its lowest level; and <I> The Inform Technical Manual</I> documents
159
 
Inform's internal working in great detail, and includes a formal context-free
160
 
grammar for the Inform language.  The <I> Inform Translator's Manual</I>
161
 
describes how to write a language definition file for games which speak
162
 
languages other than English.
163
 
<P>
164
 
 
165
 
<P>
166
 
Some of the ideas of Inform came from an incremental multi-player
167
 
game called Tera, on the Cambridge University mainframe, written by
168
 
Dilip Sequeira and the author in 1990 (whose compiler was called Teraform);
169
 
in turn, this stole a little from David Seal and Jonathan Thackray's
170
 
game assembler; which dates back to the close of the 1970s and was written for
171
 
'Acheton', perhaps the first worthwhile game written outside America.
172
 
Still, much of the Inform kernel derives ultimately from the <I> IEEE Computer</I>
173
 
article 'Zork: A Computerized Fantasy Simulation Game' by P. David Lebling,
174
 
Marc S. Blank and Timothy A. Anderson; and more was suggested by
175
 
Richard Tucker and Gareth Rees, among others.
176
 
<P>
177
 
 
178
 
The list of those who have helped the project along is legion: I should like
179
 
to thank them all, porters, users and critics alike, but especially Volker
180
 
Blasius, Paul David Doherty, Mark Howell, the ever avuncular Bob Newell, Robert
181
 
Pelak, Gareth Rees,
182
 
J&#248;rund Rian,
183
 
Dilip Sequeira, Richard Tucker,
184
 
Christopher Wichura and John Wood.
185
 
<P>
186
 
 
187
 
One final word.  I should like to dedicate this book, impertinently perhaps,
188
 
to our illustrious predecessors: Will Crowther, Don Woods and
189
 
the authors of Infocom, Inc.
190
 
<P>
191
 
<TR><TD><TD align="right"><I>Graham Nelson</I>
192
 
<TR><TD><TD align="right"><I>Oxford</I>
193
 
<TR><TD><TD align="right"><I>April 1993 -- May 1997</I>
194
 
<P>
195
 
 
196
 
<BLOCKQUOTE>
197
 
<BR>And if no piece of chronicle we prove,
198
 
<BR>We'll build in sonnets pretty rooms;
199
 
<BR>As well a well wrought urn becomes
200
 
<BR>The greatest ashes, as half-acre tombs.
201
 
<BR><P>...John Donne (<B>1571</B>?--<B>1631</B>), <I>The Canonization</I></BLOCKQUOTE>
202
 
<P>
203
 
 
204
 
 
205
 
</TABLE>
206
 
<HR><A HREF="contents.html">Contents</A> / <A HREF="contents.html">Back</A> / <A HREF="chapter1.html">Forward</A> <BR>
207
 
<A HREF="chapter1.html">Chapter I</A> / <A HREF="chapter2.html">Chapter II</A> / <A HREF="chapter3.html">Chapter III</A> / <A HREF="chapter4.html">Chapter IV</A> / <A HREF="chapter5.html">Chapter V</A> / <A HREF="chapter6.html">Chapter VI</A> / <A HREF="chapterA.html">Appendix</A><HR><SMALL><I>Mechanically translated to HTML from third edition as revised 16 May 1997. Copyright &#169; Graham Nelson 1993, 1994, 1995, 1996, 1997: all rights reserved.</I></SMALL></BODY></HTML>