Inform

From IFWiki
Revision as of 17:15, 27 September 2012 by Erkyrath (Talk | contribs) (Early History)

Jump to: navigation, search
This page needs cleanup. We need a new Inform 6 page, most information about Inform 6 should be moved from this page to that one. All the links to Inform's website need updating; see the new Inform7.com site. This page should probably become more of a summary of Inform (including mention of Inform 5), but direct people to Inform 6 and Inform 7 for more detailed info about those variants.

An interactive fiction programming language, created by Graham Nelson in 1993 and now one of the most popular IF development systems. Inform is particularly notable in that it compiles to code for the Z-machine, the same virtual machine used by Infocom. More recent versions of the Inform compiler optionally produce code for the more powerful and flexible virtual machine Glulx.

Inform is portable across many hardware platforms. Interpreters for z-code exist for nearly every computer system ever designed and Glulx interpreters exist for most major operating systems currently in use.

See Inform 7 and Inform 6 for more about the two major versions of Inform.

Early History

Graham Nelson announced the first release of Inform (with no version number, but considered "Inform 1" in retrospect) on RAIF in May 1993:

 Subject: Announcement: INFORM
 From: Graham Nelson
 Date: Sun, 9 May 1993 18:20:53 GMT
 Message-ID: <1993May9.182053.25691@infodev.cam.ac.uk>
 
 Infocom game story files are as near to a universal format as we have for 
 interactive fiction games, but until now it has been very difficult to 
 construct them, and I am not aware that anyone has previously created them 
 outside of Infocom itself.
 
 I have written such a compiler, called "Inform", the ANSI C source of 
 which is public domain.  It is not a marvellously well-written program, 
 but it does work, and it is documented.
 ...
 (Usenet post via Google)

This version generated only Z-code V3 game files. Nelson also released the first version of Curses on this day, as Inform's first game.

Inform release 2 was announced in June:

 Subject: Second release of Inform
 From: Volker Blasius
 Date: Fri, 11 Jun 1993 20:51:29 GMT
 Message-ID: <blasius.739831889@gmd.de>
 
 I am posting this for Graham Nelson, who can't post to the net...
 ...
 My game "Curses", plodding along in the footsteps of the classics, has now
 picked up one more Infocom trait: the original has been superseded, after
 mere months have passed, by Release 8, serial number 930603.  The old
 Release 7 thus becomes a collector's item.  (I wouldn't hold your breath
 waiting for it to become valuable, though.)
 ...
 In addition, "Inform", the compiler which produced "Curses" and which is
 freely available to anyone who wants to write an Infocom story-file for
 themselves, has been re-released in a much more usable and efficient form. 
 Although there are only a few new features (see the manual), many little
 bugs have been corrected and the code has been made more portable (it is in
 ANSI C) and much more efficient.  It used to require about 1M of workspace,
 and now consumes 75K, for instance.  The source code contains commentary to
 help anyone porting the program to their own machines.  It should be quite
 feasible to run Inform on a modest PC.
 ...
 (Usenet post via Google)

Inform release 3 appeared in November:

 Subject: New Releases of Inform and Curses
 From: Graham Nelson
 Date: 19 Nov 93 11:03:02 GMT
 Message-ID: <1993Nov19.110302.18245@vax.oxford.ac.uk>
 
 ...
 Inform has been heavily re-written and improved.  Many bugs have been
 fixed; it is now 3 to 6 times faster; there are numerous new features.
 (See the modification history in the source code, and the new edition of the
 manual, for details.)
 
 The main problem with using Inform has always been that ANSI C is portable
 in the same way that America is crime-free, i.e., despite everyone's best
 intentions...  The code has been reorganised, and much more carefully
 written as regards size of integers, pointer arithmetic, file naming
 conventions, order of bytes and so on.  It has an option to make all its
 old huge global arrays (a problem on IBM PCs, for instance) allocate
 dynamically.

This release included source code for three demo games: dejavu.inf (toy game), hellow.inf (hello-world), and shell.inf (a minimal game template).

Summary of Inform Variations

Tips and Tutorials

See Category:Inform 6 tutorials and Category:Inform 7 tutorials as applicable.

News

Editors

There are a number of editors meant to make writing Inform code simpler and easier. They can automatically highlight or format code, generate basic code for classes, and other handy functions.

Links