New in ChoiceScript: IFID command

There’s a new ChoiceScript command, *ifid. An “IFID” is an “Interactive Fiction IDentifier,” and it’s used to uniquely identify interactive fiction files for archival purposes, like an ISBN number for books.

Currently, if you want an IFID, you’ll have to randomly generate your own. Each IFID is a UUID, a “Universally Unique IDentifier,” and you can use any UUID generator to randomly generate one. I recommend When I visited it just now, it printed out a number like this: “6711c8b8-3933-443b-9b55-747564c0d4d2” That’s what an IFID looks like.

To insert your randomly generated IFID into your game, just use the *ifid command, like this:

*ifid 6711c8b8-3933-443b-9b55-747564c0d4d2

Adding an IFID won’t do anything for you today, but it will help archivists in the future, so we recommend adding one to any game you make.

(The IFID will be automatically embedded in generated HTML if you use compile.html or compile.js.)


Good idea. My question is are there any plans to add these retroactively? Because even if this takes no time at all to be adopted that’s more than a decade of un-archived works.

We’ll add them to all of the published Choice of Games and Hosted Games games, eventually.


Couple more question. How would one see an IFID? Would they be in the be in the descriptions? And would non choice-script Interactive Fiction be using this? If so would something like Little Miss Fortune be able to get one? Then when all is said and done will we able to search these up on a database of some sorts? And then search the stores by them?

IFIDs are compatible with an IFID reader; the official one is the “Babel” tool, available on They’re not visible to end users. (That’s kinda what I meant when I said that "adding an IFID won’t do anything for you today.)

They normally appear on IFDB at, where, yes, they’re searchable.

So would there be an individual one for each game, or an individual one for each file? Also does it matter where you place this in the file?
For example, unless stated otherwise I would probably put it right below my list of temp variables, or if it was in the start up file, probably below my variable list.

1 Like