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 look back at previous achievements, and forward to promising futures:

Where's this Archive that's mentioned so often?
Glulx? What's that all about?
Who, or what, is Platypus?

Where's this Archive that's mentioned so often?

Inform archive map

A truly invaluable service to the whole IF community -- not just us Inform programmers -- is performed by David Kinder and Stephen Granade, the custodians of the IF Archive (and for nine years previously, by Volker Blasius at the GMD in Germany: thank you, thank you, Volker). The Archive is a hierarchy of logically-organized storage locations containing files -- games, solutions, hints, maps, compilers, interpreters, editors, and much more -- which have been created by IF enthusiasts over the past ten or so years. Whatever you're looking for, if it's non-commercial IF, then it's probably in the Archive.

The Archive is, since August 2001, held on a FTP site in America, with mirror sites in other locations around the world. You can inspect its contents by visiting ftp://ftp.ifarchive.org/if-archive/, but you'll probably find it more approachable using the HTTP interface at http://www.ifarchive.org/, since this conveniently gives a description of each file. Because of its scale, the Archive can be a bit daunting at first; here are the (clickable) locations of most immediate interest to Inform programmers and players

As you become more assured in your use of Inform, you may create something -- a game, say, or a Library package -- which belongs in the Archive. To upload your file, first get hold of a decent FTP program (for the PC I recommend WS_FTP LE which is free for non-commercial use), and then follow these steps:

  1. Start your FTP program and connect to host name "ftp.ifarchive.org". Use "Automatic detect" for the host type, "anonymous" as the User ID, and your email address as the password.
  2. When you're connected, select the host's incoming directory.
  3. Normally, select ASCII as the file type; use Binary if you're uploading a .Z5 or .Z8 game, or some other non-text file.
  4. Copy the file into the Archive's folder, and then close the connection.
  5. Send an email message to submissions@ifarchive.org, containing three items:

Glulx? What's that all about?

Compiling Inform source

(This is a very brief overview: For a readable and more detailed introduction to this topic, I highly recommend Adam Cadre's Gull pages.)

When you run an Inform interpreter like Frotz or Zip, it's actually implementing, in software, an imaginary computer called the Z-machine. As far as we know, a Z-machine has never existed as a physical pile of components bolted together, but lots and lots of them have been conjured into being using emulation by computer programs.

The Z-machine was devised by the founders of Infocom back in 1979, and it has survived the last twenty-some years pretty well. Nevertheless, its design is nowadays acknowledged to be rather old-fashioned, being short of addressable memory and lacking support for today's sound and graphic standards. In order that Inform games can become larger, louder, and more colourful, the Z-machine needs to be superseded by a reworked Virtual Machine.

Glulx is that new VM, designed to overcome the Z-machine's limitations; it's the work of Andrew Plotkin (commonly known as Zarf and often to be found around the IF newsgroups). The internal architecture of Glulx is quite different from that of the Z-machine (for example, it's based on computer words of 32 bits, not the 16 bits of the Z-machine) but that isn't too important. What does matter is that Zarf has enhanced the Inform compiler so that it knows about Glulx. This is great news! It means that you don't need to learn anything much that's new; you can just keep on writing Inform games according to the Designer's Manual, and the Inform compiler will turn them into code that runs on Glulxe, the interpreter for the Glulx system.

Remember back when explaining What is Inform?, we illustrated the phrase the "explored ... with an interpreter program" with a screenshot? Well, here's the same game running under Glulx... except that by adding one extra statement we can illustrate our location:

WinGlulxe example

Glulx archive map

Here are the Archive locations of most immediate interest to Glulx programmers and players:

When you're ready to try Glulx, you just need to use the -G compiler switch. You'll also have to download an interpreter; if you're using the layout that I suggested earlier, a suitable empty folder is already in place for you to download into. Associate the ".ulx" extension with the Glulxe interpreter, and away you go.

Who, or what, is Platypus?

You can visualise the Inform system as having four major components:

When we talk about "the library" we almost always mean the nine files provided by Graham and described in the DM4, which enable you to create objects with standard properties and attributes, to call standard routines, and to manipulate standard data structures. However, there's nothing sacred about those nine files: the Inform code which they contain, though long and complex, is freely available and can if desired be changed or even replaced.

Which is what Anson Turner has done to produce Platypus -- an alternative library which you can use instead of Graham's. Platypus offers roughly the same capabilities as the standard library, but in a manner which is not necessarily identical or interchangeable: you need to choose which library to work with. For example, Platypus replaces the twelve directional properties n_to, e_to, etc with a single dirs property, and enhances the standard before and after properties with a more flexible seven-stage process. Similarly, some attributes disappear (including lockable and scenery) while others -- including inside, under and upon -- have been added.

John Wood has published an HTML version of the Platypus documentation

You can download Platypus from the Archive. And, you might be interested in seeing Owen Muniz's version of Cloak of Darkness, modified to use Platypus rather than the standard library.

 

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