An interactive fiction identifier (IFID) is a specific type of UUID used for uniquely identifying both new and legacy works of interactive fiction.
An IFID may only contain digits, letters, and hyphens.
See section 2.2 of the Treaty of Babel.
The IFID refers to the game, in all its versions. Ideally, only one IFID is assigned to a game. However, if a game has more than one IFID, then all IFIDs should be listed together, in order to provide a complete representation of the game and its versions.
By adding an IFID to the game, a game can be represented and referred to by IFID alone. The following benefits include:
- Disambiguation. Members of a community can refer to the game by IFID and know that they are referring to the same body of work.
- Indexability. The game becomes searchable by IFID in databases.
Customarily, it is the author who determines whether a game is released with or without an IFID. Some authoring tools make it possible to assign an IFID to a game at the beginning of the project. However, when this feature is not available, authors can manually add an IFID to the game code as specified by the Treaty of Babel, mainly:
- To ensure that the IFID is extractable
- To lower the likelihood of potential IFID collision
Since this is not part of the Treaty of Babel, this advice can't be official, but here's what to do.
STEP ONE: Determine the IFID of your game.
- If your game was previously released to the public, use the MD5 hash of the earliest released version of the main "story file" for your game.
- If your game has never been released to the public, use any UUID generator (such as the TADS IFID Generator page) to get one.
STEP TWO: Insert the string "UUID://XXXXXXXXXXXXXXXX//" into your story file, where XXXXXXXXXXXXXXXX is the IFID you determined in step one.
For example, in a Undum, ChoiceScript, or other Web browser game, you may insert
<!-- UUID://XXXXXXXXXXXXXXXX// -->
as a comment anywhere in your HTML file.
By putting UUID:// in front of your IFID, and // after your IFID, you make it possible for automated tools like Babel to find it.
An IFID collision occurs when an IFID is assigned to more than one work.
A collision indicates that:
- the IFID is not unique or exclusive to any particular work. In other terms, the IFID is shared by at least two distinct works.
- due to sharing, these works would require additional identifiers for the community of readers to be confident that they are referring to the same body of work.
Example of an IFID Collision
- Go North (Lea Albaugh; 2010).
- Begatron (Liz Heller; 2010).
- LoveBot (Jenni Polodna; 2010).
- MMO (Jenni Polodna; 2010).
- Quack (Liz Heller; 2010).
- Category:Works by IFID
- Bibliographic Metadata in TADS Games: IFIDs.
- Online TADS IFID Generator. Use this for new TADS games. For older games, you want to use an MD5 hash; see previous link.
IFID Extraction Tools
TODO: Everything. This is a NEW topic.