Blorb


Blorb is a package format for interactive fiction games. Many such games incorporate resources such as sound effects, music, or pictures. Blorb's purpose is to bind these together into one file. The format was devised by Andrew Plotkin and is used in both the Z-machine and Glulx virtual machines, as well as by the Glk library.

Concept

In the days when games were distributed only on disk, there was no problem in associating a game with its resources: the resources were simply shipped on the same disk. Since all Z-machine games were produced by Infocom, there was also no chance that resources would be shipped in a format which a user's interpreter program could not handle. Blorb is needed because neither of these assumptions hold true in modern times: games are typically downloaded as single files, and a user may be using any of a large number of interpreters.
A Blorb file may optionally include the executable code of the game itself. This allows authors of modern games to ship one file containing everything needed to play the game, while also allowing the creation of resource files for classic Infocom games without running the risk of copyright infringement by distributing Infocom's Z-machine executable code.
Glulx games are almost always shipped in the Blorb format. A rather smaller proportion of Z-machine games make use of it, since Z-machine games often rely only on text, and so have no need for the extra resources. As of 2004 Blorb files are supported by all Glk interactive fiction interpreters, including Nitfol and Glulxe.
The Blorb format continues the tradition of naming interactive fiction tools after spells in Infocom's Enchanter trilogy. Blorb was a spell to bind objects into boxes.
Blorb is an IFF format, with FORM IFRS. The MIME type commonly in use is "application/x-blorb", and the filename extension is ".blorb", or, for systems where filename extensions are limited to three characters, ".blb". Blorb files containing Z-code games may be named with the extension ".zblorb" or ".zlb"; or, for Glulx games, ".gblorb" or ".glb". These alternative extensions are intended to make it easier for interpreters to ascertain the type of game contained inside.

Formats supported in Blorb files