
Major New Release of Inform: Inform 5
=====================================

Inform, together with its games, are "fake Infocom" programs - games which
run under Infocom interpreters, and a compiler which produces them.  They
aren't shareware: they're free (but see the legal notes they contain).

The point of this is not nostalgia (or not entirely, anyway).  It's that the
Infocom game format is completely portable across a very wide range of
machines.  If you compile a game with Inform once, anybody with an Infocom
interpreter can run it.  You need not prepare versions for different
machines, you need not worry about how to save games on a TI 99/4a, and so
on.  Also, the Infocom format is quite well constructed, and makes compact
game files.


So what's new?
==============

Inform 5 is object-oriented, has classes and inheritance, and is much
more concise and elegant.  Take a look at the new example games to see the
change.  It also has better and more flexible memory allocation.

A huge new expansion of the ever-more-cult game "Curses" is now open to
the public: Release 12, in fact.

An Infocom-format port of the classic game Colossal Cave is also available,
and so is its complete Inform 5 source code.

Another (short) example game, Toyshop, is available.

The manual is heavily rewritten and improved: it contains the two chapters
released a while back (on the design of games, and on the specification for
the Infocom format) and a tutorial on writing new-look Inform games.


Where it is, and what it looks like
===================================

The directory if-archive/infocom/compilers/inform at the anonymous
FTP site FTP.GMD.DE (and its mirrors) is the main source for Inform
material.  Other sites may contain out-dated releases.

This directory contains:

  executables  A directory containing ports of Inform ready-compiled to run
               on different machines.  At present these are compilations of
               Inform 4, except for the Acorn Archimedes library file
               arch_inform5 (download in binary mode and filetype as
               "Absolute").  Porters should have no trouble compiling
               new versions, with any luck, and will hopefully post compiled
               versions of Inform 5 quite quickly.

  examples     A directory containing source code for example Inform games:
               Advent, Toyshop, Shell and HelloW.  Each consists of a single
               text file.

  library      A directory containing the three files of Inform source code
               which make up the standard library, needed by all games:
               "parser", "verblib" and "grammar".

  inform_source  A directory containing the ANSI C source of Inform.  (The
               header file contains a modification history and information
               for porters.  Note that the old "inform" block of source has
               been divided into half, so that there's a new file "express".)

  manual.txt   Text file of the fifth edition of the Inform manual

  curses.z5    Release 12 of "Curses", much expanded from earlier versions
               (a "version-5 game", which means that a few very primitive
               Infocom interpreters won't run it properly)

  old_curses.z3   Release 10 of "Curses" - kept around for anyone who can't
               run the new version

  advent.z5    An Infocom-format port of David M. Baggett's superb "Colossal
               Cave Revisited"

  toyshop.z3   The smaller Toyshop example, ready-compiled

  hellow.z3    Hello Cruel World - a trivial-sized Inform game
  shell.z3     A shell of a game to build on, ready compiled and deadly dull

(Game story files, those ending in .z3 or .z5, should not be downloaded in
ASCII mode.  They are binary files which are not compressed in any way: the
".z3" means they run under the "Z-machine version 3", for instance.)


The .z3 games can be run on any Infocom-standard interpreter: for example,
on the InfoTaskForce one (which has been very widely ported) or Mark
Howell's (usually faster) Zip.  These are also available from the
if-archive: see the directory

    if-archive/infocom/interpreters.

Both Zip and ITF can run .z5 files (though "undo" won't work under ITF,
and Zip is faster).  "Pinfocom" and "Zterp" are earlier and less completed
interpreters, won't run .z5 files (and aren't so reliable on .z3 files
either).


Fifth Edition of the Manual
===========================

The Inform manual broadly contains:

  A reference manual to Inform;

  A tutorial guide to the library, and actually writing a game;

  A full specification of the six Infocom formats;

  A short book, "The Craft of Adventure", about designing games
    (which is not specific to Inform at all);

  Some notes on the example games.


The Library
===========

Three header files contain all the routines needed to manage a parser
and basic game routines: in effect, including these in your Inform source
means you get a full implementation of Zork (without the puzzles), without
having to write any code.

It manages rooms, objects, containers, things on top of other things, light
and dark, scoring, switching things on and off, opening, closing and locking
things, entering things, travelling about in them and so forth: it
implements about 80 actions.

The parser it uses (which can be entirely invisible to the designer, or can
be altered if necessary) is about as good as anything Infocom ever had: it
has inferences, context, multiple objects, plural nouns, vagueness, asking
questions of the player to clarify things, giving instructions to other
people, multiple commands and so on.  It recognises about 140 constructions,
which are easily added to.

The library source is very heavily commented, and its algorithms (especially
the parser) may be of interest even to non-Informers.

The library has been greatly rewritten and improved in this edition, and
the parser in particular is very much more flexible and easy to customise.


Curses 12
=========

The "public" history (yes, people really do write and ask!) of "Curses" is
now:

  Release 7 / Serial number 930428   (the original and still the worst)
  Release 8 / Serial number 930603   (much enhanced, and slightly larger)
  Release 9 / Serial number 931111   (the "Director's Cut": bigger again)
  Release 10 / Serial number 940120  (tidied up a little)
  Release 12 / Serial number 940601  (at last, the version-5 edition)




All comments, bug reports and the like are welcome.  I'd be glad to hear
from anyone who has had to alter Inform in order to run it on different
machines: so that future releases can include their ports.

Finally, as always, I'd like to express my gratitude to the many people
who have written to me and contributed to these projects.


Graham Nelson
Oxford University, UK
June 11th, 1994
