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 https://www.uuidgenerator.net/ 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.)

49 Likes

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.

2 Likes

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

11 Likes

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 babel.ifarchive.org. 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 ifdb.org, where, yes, they’re searchable.

1 Like

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

I realize this conversation is pretty old at this point, but I’m having issues with the command. Simply put, when I enter the command *ifid into my startup file in ChoiceScriptIDE it doesn’t recognize the command. I’m pretty inept with coding so I am totally aware that I could be screwing something very simple up.

1 Like

Looking at what Dan said above, you are going to need to use a UUID generator to come up with your own identifier such as:

Then add that identified number to your code *ifid line.

From what you wrote, generating your own number and then inserting it after the command are your missing steps.

1 Like

Ideally, there should be one IFID per game. Some games have multiple IDs across different versions, so those can be listed together, but it’s best to have only one unique identifier per game regardless of release version, specific file, etc.

So, in the case of CS, I’d put it in Startup.

2 Likes

Sorry, I should’ve been a bit more descriptive. I did use the provided site to generate a UUID. The IED tool just normally converts the text of a command to orange when it detects a command. It didn’t do this when I entered the command with the generated code, and when I ran the game to ensure it wasn’t something else, it came back not recognizing the command at all. I tried both the version 1 and version 4 generator as I frankly don’t know the difference. I know very little about this apart from the fact it’s recommended to be included in any game.

2 Likes

If I remember correctly, CSIDE has not been updated to the latest version of Choicescript, unless you are in the beta updated version.

@CJW can verify this.

Also, in the future, you might want to post an inquiry directly in the CSIDE thread when issues arise while using the IDE occur, just to cover all your bases.

3 Likes

Gotcha, thanks for the info. This is the first time I really ran into any issues with IDE and I’m pretty sure I’m not in the beta version.

UPDATE: So after going down a bit of a rabbit hole after reading the CSIDE thread, I figured I was using a slightly outdated version (1.3.1) of CSIDE. Updating to the latest version (1.3.3) has included the ifid command. thanks a bunch @Eiwynn for the help!

4 Likes