Game GUID

I want to write an IF in C and later convert it to TADS3.

  1. How do I determine the GUID for a C program?

  2. When I change to TADS but it will be the same game logic do I keep the GUID or get a new one?

for GUID you mean the Group/User ID under *nix ??

perplexed regards from Italy,
dott. Piergiorgio.

I believe he’s looking for the IFID. For instance, “BE586F0C-7411-4583-8F2C-6114B06543B5”. It’s a GUID (Globally Unique ID) that identifies a piece of IF.

You can just generate one?

IFID Generator (tads.org)

But I think the question is: if I rewrite the game in a different system, do I need a new ID? IMHO I think the answer should be yes. I have two different One King games, one written in Inform7, one written in Twine. Same game text (with some minor variation), but different implementations, and thus different IFIDs.

Actually I think you might be thinking of the TUIDs on IFDB? I believe they’re assigned automatically when you create a new listing, but I might be wrong on that.

In any case, both IFIDs and TUIDs are specific to the IF ecosystem – a C tool chain won’t know the first thing about them, and those IDs only come into play insofar a human goes through the effort of picking one (or letting a computer pick one) and associating it with the game in some way. The Treaty of Babel is the authoritative source on IDIFs, and it has this to say on when “the same” game gets a new IFID:

As with published books, where an ISBN remains the same even if the book is reprinted with corrections, the IFID should be associated with a project, not a specific story file compiled from it. A re-release with bug fixes should have the same IFID.

If a game is ported from one system to another (other than simply being moved from one version of a system to the next, e.g., by being moved from TADS 2 to TADS 3), the port receives a new IFID. Again, this is analogous to books: a different-format reissue of a book, such as a paperback of what was previously hardback, gets a new ISBN.

5 Likes

You guys understood my second question and told me the solution. New interpreter/engine means new IFID. Thanks.

But my first question remains. The first version would be in C but nontheless IF. And the link to the generator is for TADS, not for homebrew/C.

As the site says,

This page randomly generates an IFID for you to use in a new Interactive Fiction project, written in TADS or any other Babel-aware authoring system.

The “Babel-aware” part is meaningless. An ID generated there can be used for any work of IF.

1 Like

Thanks that clarifies it for me.

The IFdb site has good info about IFIDs, for example it says:

A newer game with an explicitly assigned IFID should only have one IFID for its entire life cycle, no matter how many times it’s published.

Yeah, the IFID system has a bunch of special cases for old games that predate the Treaty, but everything made post-Treaty uses the same format—it’s literally just a standard GUID.