Difference between revisions of "Inform"

From IFWiki
Jump to: navigation, search
(Early History)
(Early History)
Line 14: Line 14:
 
   From: Graham Nelson
 
   From: Graham Nelson
 
   Date: Sun, 9 May 1993 18:20:53 GMT
 
   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  
 
   Infocom game story files are as near to a universal format as we have for  
Line 23: Line 24:
 
   which is public domain.  It is not a marvellously well-written program,  
 
   which is public domain.  It is not a marvellously well-written program,  
 
   but it does work, and it is documented.
 
   but it does work, and it is documented.
 +
  ...
 
   ([http://groups.google.com/group/rec.arts.int-fiction/msg/ac22ab84d5f6fd7d Usenet post via Google])
 
   ([http://groups.google.com/group/rec.arts.int-fiction/msg/ac22ab84d5f6fd7d 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.
 
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 2 was announced in June:
+
Inform release 2 was announced in June:
  
 
   Subject: Second release of Inform
 
   Subject: Second release of Inform
 
   From: Volker Blasius
 
   From: Volker Blasius
 
   Date: Fri, 11 Jun 1993 20:51:29 GMT
 
   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
 
   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
 
   picked up one more Infocom trait: the original has been superseded, after
Line 48: Line 53:
 
   help anyone porting the program to their own machines.  It should be quite
 
   help anyone porting the program to their own machines.  It should be quite
 
   feasible to run Inform on a modest PC.
 
   feasible to run Inform on a modest PC.
 +
  ...
 
   ([http://groups.google.com/group/rec.arts.int-fiction/msg/d05125b9d5744c0b Usenet post via Google])
 
   ([http://groups.google.com/group/rec.arts.int-fiction/msg/d05125b9d5744c0b 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==
 
==Summary of Inform Variations==

Revision as of 17:15, 27 September 2012

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