What is IF-Babel, and how does it work?

I gather it’s some kind of system for providing information about specific games, but how is this information included in a game? Is it meta-data inside the game, and if so, does this mean the compiler must support the inclusion of this meta-data? Is it an external informational file?

Anybody know?

The Treaty of Babel defines a set of meta-data, like the ID3 tags that you can fill in with MP3s. Different games include it in different ways. In Inform, it gets bundled up as part of the Blorb file. In TADS, it is a data block within the .gam file. In both of those cases, the compiler takes care of generating it and bundling it with the game, but it doesn’t have to be that way. For instance, there are ways of generating the IFID (the identifier number) for games that don’t have the IFID specifically encoded in the game.

I know of no such feature in Hugo, so something external would have to be used. Is this IFID a file of some type? Where can I find more information about its?


The “spec” is archived here:


In summary:

  1. Treaty of Babel details a method for assigning an IFID to each and every IF work that exists (past and present). There are special methods for the big formats, and a generic fallback of taking the MD5 sum of the game file. The IFID is analog of ISBN numbers for books.

  2. It also specifies a format for bibliographic information about games, as a tiny subset of XML.

  3. There is a library to get the bibliographic information for a game, that uses plugins for all the supported systems. Inform 7 embeds the XML in the blorb it generates. For TADS, the library generates XML on the fly from the GameInfo.txt resource. Other systems have similar mechanisms. As a last resort, you can have the metadata in an external iFiction file.

Spatterlight makes use of all this for its game library browser, to automatically show the title, author, genre, &c of games that are loaded.

IIRC, L. Ross Raszewski created both a Perl script and a Windows executable that will allow you to extract the IFID number for Hugo/Z-code/TADS game files.

As to how iFiction data (which contains the rest of the bibliographic data) can or will be bundled up with future Hugo games, that would be Kent’s call.