Roger Firth's IF pages

Home

Inform 6: Frequently Asked Questions

Email
Back up

Into
the Intro

Setting
the scene

Preparing
to program

Learning
the lingo

Dabbling
in data

Operating
on objects

Verbal
versatility

Bothered
by bugs

History and
hereafter

Worldly
woes

Inside
information

Tips and
techniques

These topics are about understanding what Inform does, and how best to learn about it:

So, what is Inform?
Where do I begin?
How is Inform related to Infocom?
When did Inform appear?
What's the best way to learn Inform?
    Tips on getting acquainted with the Designer's Manual
Does anybody teach Inform?
How popular is Inform?
    IF Comp statistics
    Pros and cons of the Inform system
Where are all these games you mention?
Can I play Inform games on my handheld?
I've seen Inform games played on the web... can I do that too?
I'm blind -- is there any way I can play Inform games?

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";

and the "explored ... with an interpreter program" part might be along these lines:

WinFrotz example

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.

Where do I begin?

For updates on what's new in Inform, visit Roger Firth's Informary

Inform is the creation of Graham Nelson (who by day teaches mathematics at Oxford University), and you can't do better than start at his web site. In particular, read the answers to some background questions that you may have, get details of the files that you'll need to download, and find links to other Inform web sites.

How is Inform related to Infocom?

Generating Z-code

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 favour, 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.

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.

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.

For a fascinating account of its evolution, see the final section of the Inform Technical Manual

Should you need them, the Archive holds the non-current versions of the Inform 6 Library and some versions of the Compiler. If you have source for any of the missing Compilers (6.01, 6.02, 6.04, 6.05, 6.11, 6.12), please upload it to the Archive

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
May 1996
May 1996
Sep 1996
Sep 1996
 
Dec 1996
Jan 1997
Mar 1997
Apr 1997
Aug 1997
Sep 1997
Mar 1998
 
Dec 1998
Apr 1999
Nov 1999
 
Feb 2004

6.01
6.02
6.03
6.04
6.05
 
6.10
6.11
6.12
6.13
-
6.14
6.15
 
6.20
6.21
-
 
6.30

6/1
-
-
6/2
-
 
6/3
6/4
-
6/5
6/6
6/7
-
 
6/8
6/9
6/10
 
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. Once you've mastered the basics of Inform, be sure to look at the many contributed extensions; also, if you should come across a possible bug in the compiler or the library, here's a list of well-known problems.

Inform 7

Apr 2006

6.31

6/10N

 

Version 7 marks another major leap in Inform's evolution. Rather than being a serial development of what has gone before, Inform 7 offers instead a radical new approach to IF authorship. Stories are created using a simplified form of English; this is automatically processed behind the scenes into a Version 6 game, which is then compiled and run. The Version 6 code is not intended to be read by the author, and depends on a heavily-modified version of the 6/10 library files.

What's the best way to learn Inform?

For when you need just to look up a syntax detail, Roger Firth's Inform in four minutes and InfoLib at your fingertips quick reference summaries may be helpful

You have a choice! If you're an experienced programmer, and especially if you're already familiar with other IF design systems, you can follow the seven-stage training plan:

  1. Skim the Inform Designer's Manual.
  2. Try some very simple examples of your own.
  3. Read the Inform Designer's Manual.
  4. Look at one or two tutorials.
  5. Study the Inform Designer's Manual.
  6. Write something slightly more complex.
  7. Consult the Inform Designer's Manual.

What this tells you is: the Fourth Edition of the Inform Designer's Manual -- colloquially known as the DM4 -- is far and away the best source of reliable detailed information about programming in Inform. It's well-written, well-formatted, well-indexed; it's, well, a splendid document whose pages you can't know too thoroughly. Even the "Natural Language" chapter -- aimed primarily at translating Inform into languages other than English -- is worth your while reading.

On the other hand, if this whole programming scene is new to you, then you'll probably be better off starting with the Inform Beginner's Guide. This takes a much more leisurely stroll through Inform, dwelling lovingly on the basic principles, while completely omitting much of the advanced stuff. Written as a tutorial, it introduces Inform through the design of three simple games; it's mean to be read straight through, not used as a reference manual -- for that, you'll still want to turn to the DM4.

When you first read the DM4, especially if you don't have much programming experience, it can all seem rather daunting. In your early days, the most important sections to know are:

Note that the first chapter of the DM4 gives a complete and detailed definition of the Inform Language, while the following four chapters focus on the Inform Library. The language itself is not very different from other programming languages; what makes Inform special is the Library, which transforms your general-purpose computer into a dedicated adventure machine. So, to start with, don't worry about understanding all 70 pages in the first chapter; skip past things which seem difficult, and come back to them later. As soon as you can, move on to Chapter II -- Introduction to Designing -- which is where the Library comes into play and adventure games begin to happen.

You can download both the DM4 (2.9Mb PDF file) and the IBG (1.4Mb PDF file) for free from the Inform website.

Does anybody teach Inform?

A few US academics have run courses. Nick Montfort at the University of Pennsylvania has sample syllabi for a semester-long Workshop in Interactive Fiction course and for a similar one-month intensive course with some different selections. Dennis Jerz runs IF classes at Seton Hill University, also in Pennsylvania (as he did in his previous position at the University of Wisconsin-Eau Claire). Ken Forbus at the Northwestern University in Illinois taught Computer Game Design in Spring 2003, Stephen Ramsay had a Fall 2003 class on Digital Narratives at the University of Georgia, and Bruce Maxim at the University of Michigan–Dearborn had a Fall 2004 class on Computer Game Design and Implementation with some Inform content. Not a vast range, maybe, but it certainly adds up to a little academic respectability.

Further afield, Inform figured on a Summer 2004 class on Computer Game Design in New Zealand, and is listed in a public course schedule for the good folks of Saugus, Massachusetts.

How popular is Inform?

It's extremely difficult to know how many people actually use the system. In very round figures, about 800 Inform games have been published, by perhaps 450 different authors. Making some allowance for those who have finished but not published a game, who have one or more unfinished games in progress, or who have dabbled in Inform without producing anything significant... and it's still hard to believe that many more than a couple of thousand people have ever seriously tried to compile an Inform file. We're not exactly a large community.

Having said that, Inform is the most popular of today's industrial-strength IF languages, at least using a few simplistic measures. There have been around 31,000 rec.arts.int-fiction postings with "Inform" in the subject line, as against some 13,000 mentioning "TADS". The Archive holds more than twice as many Inform games as those created using TADS, and the Inform games seem to be downloaded more frequently. In the annual IF Competition, Inform has always accounted for the largest batch of entries, with (usually) TADS coming second and the lesser systems battling over third place.

IF Competition entries

Although Inform games tend to fare a little better than TADS in the competition, this doesn't mean that TADS is an inferior system -- technically the new TADS 3 is certainly more powerful than Inform in many ways -- but rather that Inform has in recent years proven more popular with authors. Some of the reasons for this are probably:

Which isn't to say that Inform couldn't be improved. There are justifiable complaints about:

However, don't let such niggles put you off: you'll find -- along with those hundreds of other users -- that Inform's good points far outweight any downside.

Where are all these games you mention?

Carl Muckenhoupt's invaluable Baf's Guide to the IF Archive currently lists (and rates) hundreds of Inform games

In the 'games' section of the Archive. You'll find source games in ...games/source/inform, compiled (ready to play) games in ...games/zcode and ...games/glulx.

Michael Baum's excellent Z-code catalog, also in the Archive at ...info, stops in mid-1999. Here's a -- certainly imperfect -- list of about 500 Inform games published between then and end-2003 (thanks to XYZZYnews for the raw data).

Can I play Inform games on my handheld?

Yes! Handheld computing and text adventures seem to be especially well-suited, and there are Z-code interpreters for many small machines. Here's some information specifically for Palm OS and here's some more.

I've seen Inform games played on the web... can I do that?

Sure: all that you need is a special interpreter program, written in the Java language, which runs in a web browser. You don't have to do anything special to the game, other than upload it -- along with a copy of the Java applet -- to your web site. Here's a starter kit, comprising the applet, a template web page, and a copy of Roger Firth's demonstration game "Cloak of Darkness".

I'm blind -- is there any way I can play Inform games?

I think so. A helpful guy named Warren Scott Dillman has an ongoing IF text-to-speech project, which includes an adapted version of David Kinder's Windows Frotz 2002. If you come across other aids to blind Inform gamers, please let me know.

Into
the Intro

Setting
the scene

Preparing
to program

Learning
the lingo

Dabbling
in data

Operating
on objects

Verbal
versatility

Bothered
by bugs

History and
hereafter

Worldly
woes

Inside
information

Tips and
techniques