Alan and the Babel Treaty

63 views
Skip to first unread message

Thomas Nilefalk

unread,
Sep 27, 2020, 9:02:44 AM9/27/20
to babe...@googlegroups.com
Hi all!

I'm Thomas Nilefalk (formerly Nilsson) and the author of the Alan IF system. Off and on during the last 10 years there has been a rising interest in the Alan system, and the following short passage in the treaty text was "recently" brought to my attention:
At present the design system ALAN, a living format (i.e., whose
compiler is still in use), is not a signatory to the Treaty: our
attempts to make contact have been unsuccessful. We wish to make it
easy for ALAN to join the Treaty later, if it so chooses.
I vaguely remember having some communication in the beginning of the history of the Treaty, but as my life at that time took some turns away from IF, the lack of my focus on this probably lead to the current situation. And I have not been aware of it until recently.

However, the Alan community and myself are definitely interested in becoming a signatory of the Treaty. So I'm interested in seeing what needs to be done.

At this point Alan v3 is generating IFIDs for all compiled games, retaining the same for re-compilations of the same named source code. This is available in all .a3c files generated in the last few years at least.

This is what I imagine are the next steps:

- put Alan up as a signatory of the Treaty
- update the passage quoted above
- update the source of the babel tool to recognize Alan v3 IFIDs

I also imagine, after only a brief look at the sources, that the support of Alan (esp. v3) in the babel tool can be made at different levels of ambition. I'm willing to have a stab at some basic support but would probably benefit from some helpful discussions for more advanced support.

Regards,
    Thomas (thoni56)

Andrew Plotkin

unread,
Sep 28, 2020, 11:46:43 AM9/28/20
to babe...@googlegroups.com
On Sun, 27 Sep 2020, Thomas Nilefalk wrote:

> I'm Thomas Nilefalk (formerly Nilsson) and the author of the Alan IF system.

Hi!

> I vaguely remember having some communication in the beginning of the history
> of the Treaty, but as my life at that time took some turns away from IF, the
> lack of my focus on this probably lead to the current situation. And I have
> not been aware of it until recently.
>
> However, the Alan community and myself are definitely interested in becoming
> a signatory of the Treaty. So I'm interested in seeing what needs to be done.

Okay, excellent. Let's do it.

> At this point Alan v3 is generating IFIDs for all compiled games, retaining
> the same for re-compilations of the same named source code. This is available
> in all .a3c files generated in the last few years at least.
>
> This is what I imagine are the next steps:
>
> - put Alan up as a signatory of the Treaty
> - update the passage quoted above
> - update the source of the babel tool to recognize Alan v3 IFIDs

Updating the doc is easy. The tool... geez, we should move that into a
git repository, shouldn't we.

(The tool source was last updated in 2019, but I don't remember the
reason.)

--Z

--
"And Aholibamah bare Jeush, and Jaalam, and Korah: these were the borogoves..."
*

Thomas Nilefalk

unread,
Sep 28, 2020, 1:06:15 PM9/28/20
to babe...@googlegroups.com
Andrew Plotkin skrev den 2020-09-28 kl. 17:46:
> On Sun, 27 Sep 2020, Thomas Nilefalk wrote:
>
>> I'm Thomas Nilefalk (formerly Nilsson) and the author of the Alan IF
>> system.
>
> Hi!
>
>> I vaguely remember having some communication in the beginning of the
>> history of the Treaty, but as my life at that time took some turns
>> away from IF, the lack of my focus on this probably lead to the
>> current situation. And I have not been aware of it until recently.
>>
>> However, the Alan community and myself are definitely interested in
>> becoming a signatory of the Treaty. So I'm interested in seeing what
>> needs to be done.
>
> Okay, excellent. Let's do it.
Thanks!
>
>> At this point Alan v3 is generating IFIDs for all compiled games,
>> retaining the same for re-compilations of the same named source code.
>> This is available in all .a3c files generated in the last few years
>> at least.
>>
>> This is what I imagine are the next steps:
>>
>> - put Alan up as a signatory of the Treaty
>> - update the passage quoted above
>> - update the source of the babel tool to recognize Alan v3 IFIDs
>
> Updating the doc is easy. The tool... geez, we should move that into a
> git repository, shouldn't we.
>
> (The tool source was last updated in 2019, but I don't remember the
> reason.)
>
Is the source on the website the latest? The zip-file is from 2019, but
it is declaring itself as 0.2b supporting The Babel Treaty v7 in the README.

I could definitely volunteer to create the repo (as I've already created
a local git repo of the sources). If that's acceptable, could someone
point me in the right direction? GitHub? Is there already a Babel Treaty
"organization" somewhere? Or should it be registered under the
Interactive Fiction Technology Foundation? Or is Mr. Somebody Else doing
this?

/Thomas
> --Z
>

Andrew Plotkin

unread,
Sep 28, 2020, 2:08:13 PM9/28/20
to babe...@googlegroups.com
On Mon, 28 Sep 2020, Thomas Nilefalk wrote:

>> Updating the doc is easy. The tool... geez, we should move that into a git
>> repository, shouldn't we.
>>
>> (The tool source was last updated in 2019, but I don't remember the
>> reason.)
>>
> Is the source on the website the latest? The zip-file is from 2019, but it is
> declaring itself as 0.2b supporting The Babel Treaty v7 in the README.

I don't know any later version. The *earliest* version is at
http://babel.ifarchive.org/downloads/babel-2006.zip .
It looks like the only difference is updating the Creative Commons license
version, and not any of the code. I'll have to check my email and see if
anything else was discussed at that time.

> I could definitely volunteer to create the repo (as I've already created a
> local git repo of the sources).

It should be under IFTF (https://github.com/iftechfoundation). I'll set
that up tonight.

Andrew Plotkin

unread,
Sep 28, 2020, 7:22:02 PM9/28/20
to babe...@googlegroups.com
On Mon, 28 Sep 2020, Andrew Plotkin wrote:

> I don't know any later version. The *earliest* version is at
> http://babel.ifarchive.org/downloads/babel-2006.zip .
> It looks like the only difference is updating the Creative Commons license
> version, and not any of the code.

This turns out to be correct. We got a request in August 2019 to change
the CC-BY license from version 2.5 to version 4.0. As far as I know,
that's the only change that's gone in since 2006.

My sense is that the babel tool is not very heavily used! However, we have
a binary in the IF Archive tools bin for scanning incoming files. So it's
worth updating.

> It should be under IFTF (https://github.com/iftechfoundation). I'll set
> that up tonight.

This now exists:

https://github.com/iftechfoundation/babel-tool

Thomas Nilefalk

unread,
Sep 29, 2020, 11:34:59 AM9/29/20
to babe...@googlegroups.com
Andrew Plotkin skrev den 2020-09-29 kl. 01:22:
> On Mon, 28 Sep 2020, Andrew Plotkin wrote:
>
>> I don't know any later version. The *earliest* version is at
>> http://babel.ifarchive.org/downloads/babel-2006.zip .
>> It looks like the only difference is updating the Creative Commons
>> license version, and not any of the code.
>
> This turns out to be correct. We got a request in August 2019 to
> change the CC-BY license from version 2.5 to version 4.0. As far as I
> know, that's the only change that's gone in since 2006.
>
> My sense is that the babel tool is not very heavily used! However, we
> have a binary in the IF Archive tools bin for scanning incoming files.
> So it's worth updating.
>
>> It should be under IFTF (https://github.com/iftechfoundation). I'll set
>> that up tonight.
>
> This now exists:
>
> https://github.com/iftechfoundation/babel-tool

Thanks. I'll clone that then and get back with a PR.

/Thomas
>
> --Z
>

Andrew Plotkin

unread,
Oct 5, 2020, 12:55:50 PM10/5/20
to babe...@googlegroups.com
On Tue, 29 Sep 2020, Thomas Nilefalk wrote:

>> https://github.com/iftechfoundation/babel-tool
>
> Thanks. I'll clone that then and get back with a PR.

The PR is now merged in. That is, the babel source handles Alan games now.

That leaves the Babel doc itself. This is currently not in a git
repository, but I will add it to
https://github.com/iftechfoundation/ifarchive-if-specs -- that's the
obvious place.

(Which means updating the doc from plain text to Markdown... sure, why
not.)

The doc update will be: adding Alan to the Signatories section; removing
section 2.2.3.1; and adding a new section:

> The IFID for a legacy Alan story file
>
> The IFID for an Alan story file is ALAN- followed by the MD5
> checksum of the file.

Does that make sense? Is there anything else?

Andrew Plotkin

unread,
Oct 5, 2020, 12:58:17 PM10/5/20
to babe...@googlegroups.com
By the way, while recompiling the babel tool, I noticed this warning:

ifiction.c:483:16: warning: variable 'aep' is uninitialized when used
here:
xtg->end=aep-1;

The "aep" variable is not used or initialized anywhere else in the code.
(So it doesn't make sense to initialize it to NULL; that would still be
invalid.) Does anyone remember the code well enough to figure out what
that line should be?

Dan Cox

unread,
Oct 5, 2020, 2:44:51 PM10/5/20
to babe...@googlegroups.com
That leaves the Babel doc itself. This is currently not in a git
repository, but I will add it to
https://github.com/iftechfoundation/ifarchive-if-specs -- that's the
obvious place.
(Which means updating the doc from plain text to Markdown... sure, why
not.)  

Back when I was working on drafts of the Twee 3 Specification 10 months ago, I did an initial conversion of the plain text into Markdown (https://github.com/videlais/treatyofbabel_md/blob/master/treatyofbabel.md) so that the Twine Committee could more easily reference sections. If there is interest in a conversion, my existing document would save a considerable amount of time in making a new one.

Andrew Plotkin

unread,
Oct 5, 2020, 9:49:51 PM10/5/20
to babe...@googlegroups.com
On Mon, 5 Oct 2020, Dan Cox wrote:

> Back when I was working on drafts of the Twee 3 Specification 10 months
> ago, I did an initial conversion of the plain text into Markdown (
> https://github.com/videlais/treatyofbabel_md/blob/master/treatyofbabel.md)
> so that the Twine Committee could more easily reference sections. If there
> is interest in a conversion, my existing document would save a
> considerable amount of time in making a new one.

Thanks. I was already partway into a quick conversion when I saw this
message, but I will check against it.

By the way, I see quite a few places where the 2006 text is out of date.
We should do a cleanup round while we've got the covers off.

Dan Cox

unread,
Oct 6, 2020, 9:23:29 PM10/6/20
to babe...@googlegroups.com
By the way, I see quite a few places where the 2006 text is out of date.
We should do a cleanup round while we've got the covers off. 
 
During the discussions around the Twee 3 Specification, one of the issues that arose was the use of the phrasing "universally unique, not just unique among projects created by this user or this design system" before the description of the IFID as being composed of entries that "shall be a digit, a capital letter or a hyphen." While Twine is not a signatory of the Treaty of Babel and is not therefore "bound" by it, this created complications in the implementations suggested by the Twee 3 Specification in regard to the Treaty and how Twine 2 creates IFID.

Currently, Twine 2 uses version 4 of UUID to generate a new IFID. This string is then forced into uppercase. While strictly within the rules of how an IFID could be generated, it is not "universally unique" due to the forced uppercase conversion.

I don't know how much this might affect other, existing tools, but if the wording allowed for all cases, projects could use version 4 of UUID (or something else) without forced conversion and with less fear of IFID collision. This has the potential to allow easier IFID creation, but, again, might also create more problems than the change is worth, too. I don't personally know enough about how other projects have generated IFIDs historically and what problems such a change might introduce to archives.

Andrew Plotkin

unread,
Oct 7, 2020, 7:44:36 PM10/7/20
to babe...@googlegroups.com
I've updated http://babel.ifarchive.org/ to link to an HTML version of the
document (still version 9):

https://babel.ifarchive.org/babel_rev9.html

I could generate PDF too, but I don't see a need for that. Speak up if you
do.

The Markdown version is here:

https://babel.ifarchive.org/babel_rev9.md

Note that I'm using some Markdown extensions to auto-number sections,
create a table of contents, and generate internal links.

My list of update notes is currently:

Add a section: "The IFID for an Alan story file is ALAN- followed by the
MD5 checksum of the file."

2.2.2.1.: We have more super-early zcode files now; say something about
that.

2.2.2.9.: What are executable formats these days? Mac binaries are still
labelled "Mach-O" but I don't know if that will remain true on the
upcoming ARM Macs. Is it worth distinguishing PPC/Intel/ARM executables?
(Probably not...)

5.10.1: Has a reference to "Graham" which may have been left in the
original treaty document by mistake. Remove?

4: The IF Archive's support never got built in the way described here.
Now we're thinking about improved metadata support but not according to
this spec. Mark as deprecated?

5.5.3. <bafn>: Mention that Baf's Guide is gone.

5.5.x: Add a new optional identification tag <tuid>, for IFDB index
string?

5.6.10.: Forgiveness rating: I've written about how this categorization is
somewhat dated for parser games and definitely less relevant for
non-parser games. Maybe add a note.

...: Update gendered pronouns to they/them.

On Tue, 6 Oct 2020, Dan Cox wrote:

> During the discussions around the Twee 3 Specification, one of the issues
> that arose was the use of the phrasing "universally unique, not just unique
> among projects created by this user or this design system" before the
> description of the IFID as being composed of entries that "shall be a
> digit, a capital letter or a hyphen." While Twine is not a signatory of the
> Treaty of Babel and is not therefore "bound" by it, this created
> complications in the implementations suggested by the Twee 3 Specification
> in regard to the Treaty and how Twine 2 creates IFID.
>
> Currently, Twine 2 uses version 4 of UUID to generate a new IFID. This
> string is then forced into uppercase. While strictly within the rules of
> how an IFID could be generated, it is not "universally unique" due to the
> forced uppercase conversion.

What's the context of "version 4 of UUID"? Is that a JS/Node library?

The UUID/GUID spec that I'm familiar with (e.g. described on wikipedia)
uses lower-case hex digits, but would still be unique when upper-cased.
(It doesn't use *both* cases.)

So I'm not sure what problem you're getting at.

I'm sure that the quality of UUID generators has varied, so there's never
a *guarantee* of uniqueness. We try our best.

Also, of course, this is a fine time to add Twine to the treaty document
if you want to go that way. Even if you don't want to put additional
requirements on Twine software, it would be nice to add something
descriptive to the doc.

Andrew Plotkin

unread,
Oct 13, 2020, 8:09:25 PM10/13/20
to babe...@googlegroups.com
I've made a bunch of updates at
https://github.com/iftechfoundation/ifarchive-if-specs/blob/master/Babel-Treaty.md

Please check my work. In particular, I want to know if there are any
subtleties to Alan's IFIDs that aren't covered by the basic rule:
"A design system should assign each different published work a unique ID
code."

The full list of changes:

--------

1.3. Signatories

+Current signatories now include:
+
+- the design system Alan.

---------

2.2.2.1. The IFID for a legacy Z-code story file

Rearranged the section for Z-code files so old they predate date-based
serial numbers.

+++
In every
case except three, the serial code will consist of six digits. The
exceptions are:

ZCODE-2-AS000C Zork I, Z-machine v1 release
ZCODE-15-UG3AU5 Zork I, Z-machine v2 release
ZCODE-7-UG3AU5 Zork II, Z-machine v2 release

A few other instances are known where the serial code is either non-ASCII
or a numerical string which is not a compilation date in YYMMDD format.
These appear to be either beta-test versions or copies modified by users
to alter the serial number. In these cases, non-ASCII characters should
be changed to hyphens. Some examples:

ZCODE-5------- Zork I, Z-machine v1 release
ZCODE-15------- Zork I, Z-machine v2 release
ZCODE-15-999999 Enchanter, test or modified
version
ZCODE-67-000000 Sorcerer, test or modified version
+++

Deleted the section "IFIDs for ALAN story files". Instead:

---------

2.2.2.10. The IFID for a legacy Alan story file

+ The IFID for a legacy Alan story file is ALAN- followed by the MD5
+ checksum of the file.

---------

4.3. Serving

+*Note: The IF-archive has not implemented this section. An effort is
+in progress to support metadata in a manner compatible with IFDB. This
+may result in changes to the plan proposed here.*

4.4. Contributing

+*Note: The IF-archive has not implemented this section. An effort is
+in progress to support metadata in a manner compatible with IFDB. This
+may result in changes to the plan proposed here.*

(Yes, same note twice. It's true of both sections.)

---------

Added:

5.5.3. <tuid>

+++
This is an optional tag, whose value is a string of letters and digits. If
supplied, it should be the Interactive Fiction Database identifier (TUID)
for the work: for instance, "Curses" is "plvzam05bmz3enh8".

The Interactive Fiction Database is presently found at ifdb.tads.org.
+++

Also changed the sample <bafn> line in section 5.5. to <tuid>.

---------

Replaced the section about <bafn>:

+++
This is an optional tag, whose value is a non-negative integer. If
supplied, it should be the "Baf's Guide to the IF Archive" identifying
number for the work: for instance, "Curses" is 55; "The PK Girl" is 1897.

This tag was provided solely for the convenience of people who wish to
translate existing metadata at Baf's Guide to new iFiction records,
particularly for items in obscure or long-dead formats. As Baf's Guide is
no longer extant, it is not expected that iFiction records generated for
new games will contain this tag.
+++

---------

5.6.10. <forgiveness>

Added a line:

+This scale is understood to be less clear-cut and less generally
+applicable than was believed when this Treaty was first written. It is
left
+to the author to decide what value is appropriate, or whether any value
+is appropriate.

---------

5.10.1. <zcode>

Removed a phrase:

- ***and is subject to revision by Graham***.

---------

Changed many instances of "he", "his", "he or she", "himself" to "them",
"their", "themself".

---------

Changed several references to "Baf's Guide" (as an example of a web
service" to "IFDB".

---------

Whew. Oh, and I'll update the date, and change the revision number to 10.

I've asked Chris Klimas about adding Twine to the signatory list. I would
also add the line:

+The IFID for a legacy Twine story file is TWINE- followed by the MD5
+checksum of the file.

Thomas Nilefalk

unread,
Oct 14, 2020, 2:48:31 AM10/14/20
to babe...@googlegroups.com
Andrew Plotkin skrev den 2020-10-14 kl. 02:09:
> I've made a bunch of updates at
> https://github.com/iftechfoundation/ifarchive-if-specs/blob/master/Babel-Treaty.md
>
>
> Please check my work. In particular, I want to know if there are any
> subtleties to Alan's IFIDs that aren't covered by the basic rule:
> "A design system should assign each different published work a unique
> ID code."
>
Is the term "legacy" in the section on legacy IFIDs clearly defined? For
Alan it is clearly all v2 games. For v3 the current check in babel-tool
was implemented to match what has been in use for some (many?) years,
instead of the original code that was based on a very early development
format.

Maybe what I'm asking is if there is a game created with a very early
development version of Alan v3 that does not match the current check,
that should be considered "legacy" and get the "ALAN-..." IFID.

If so, I suspect that the code I wrote in the babel-tool is not meeting
that exact criteria since it would return INVALID_STORY_FILE. It should
probably return INCOMPLETE instead, right?

Otherwise, no Alan subtleties as far as I can see ,-)

/Thomas

Andrew Plotkin

unread,
Oct 14, 2020, 1:03:05 PM10/14/20
to babe...@googlegroups.com
On Wed, 14 Oct 2020, Thomas Nilefalk wrote:

> Andrew Plotkin skrev den 2020-10-14 kl. 02:09:
>> I've made a bunch of updates at
>> https://github.com/iftechfoundation/ifarchive-if-specs/blob/master/Babel-Treaty.md
>>
>> Please check my work. In particular, I want to know if there are any
>> subtleties to Alan's IFIDs that aren't covered by the basic rule:
>> "A design system should assign each different published work a unique ID
>> code."
>
> Is the term "legacy" in the section on legacy IFIDs clearly defined? For Alan
> it is clearly all v2 games. For v3 the current check in babel-tool was
> implemented to match what has been in use for some (many?) years, instead of
> the original code that was based on a very early development format.

The text is "A design system may provide an algorithm to determine a IFID
for a "legacy" story file, i.e., one which pre-dates the present
standard."

> Maybe what I'm asking is if there is a game created with a very early
> development version of Alan v3 that does not match the current check, that
> should be considered "legacy" and get the "ALAN-..." IFID.

The easiest plan is to check for a UUID://... string in the game file. If
it's not there, follow the "legacy" procedure. I see the Alan code doesn't
do that, though. (It looks at a predefined place in the game file.)

> If so, I suspect that the code I wrote in the babel-tool is not meeting that
> exact criteria since it would return INVALID_STORY_FILE. It should probably
> return INCOMPLETE instead, right?

INCOMPLETE just means "Babel should append the MD5 to this string before
returning it to the caller." (This is really not documented, is it...)

I think the answer to your question is yes. If you have a game file which
is v3 but predates the IFID planning, return "ALAN-" and INCOMPLETE.

But if this complicates the code greatly, and you don't think any such
games exist, don't worry about it.

BTW, as to this earlier point:

> Currently, Twine 2 uses version 4 of UUID to generate a new IFID. This
> string is then forced into uppercase. While strictly within the rules of
> how an IFID could be generated, it is not "universally unique" due to
> the forced uppercase conversion.

The UUID spec defines UUIDs as using lowercase (hexadecimal). The IFID
spec defines IFIDs as being upper-case. What everybody has always done,
without discussion, is to just generate a UUID and then upcase it. As I
said, this doesn't cause any uniqueness problems. But I guess it's worth a
note in the spec.

Thomas Nilefalk

unread,
Oct 20, 2020, 4:22:21 PM10/20/20
to babe...@googlegroups.com
Andrew Plotkin skrev den 2020-10-14 kl. 19:03:
> <snip>
> The easiest plan is to check for a UUID://... string in the game file.
> If it's not there, follow the "legacy" procedure. I see the Alan code
> doesn't do that, though. (It looks at a predefined place in the game
> file.)
>
Yeah. I should probably go with that. It will find any of the legacy
Alan 3 games, if there are any...

>> If so, I suspect that the code I wrote in the babel-tool is not
>> meeting that exact criteria since it would return INVALID_STORY_FILE.
>> It should probably return INCOMPLETE instead, right?
>
> INCOMPLETE just means "Babel should append the MD5 to this string
> before returning it to the caller." (This is really not documented, is
> it...)
>
> I think the answer to your question is yes. If you have a game file
> which is v3 but predates the IFID planning, return "ALAN-" and
> INCOMPLETE.
>
> But if this complicates the code greatly, and you don't think any such
> games exist, don't worry about it.
Shouldn't be complicated. Will do another PR at some point.

/Thomas

Andrew Plotkin

unread,
Jan 11, 2021, 2:40:54 PMJan 11
to babe...@googlegroups.com
On Tue, 20 Oct 2020, Thomas Nilefalk wrote:

> Andrew Plotkin skrev den 2020-10-14 kl. 19:03:

>> I think the answer to your question is yes. If you have a game file which
>> is v3 but predates the IFID planning, return "ALAN-" and INCOMPLETE.
>>
>> But if this complicates the code greatly, and you don't think any such
>> games exist, don't worry about it.
>
> Shouldn't be complicated. Will do another PR at some point.

Did this ever happen? I have a note from October saying "Finish the Babel
spec update", and I think this is the missing piece.

Andrew Plotkin

unread,
Jan 28, 2021, 8:19:34 PMJan 28
to babe...@googlegroups.com
On Wed, 14 Oct 2020, Andrew Plotkin wrote:

> I've made a bunch of updates at
> https://github.com/iftechfoundation/ifarchive-if-specs/blob/master/Babel-Treaty.md

Remember this? It's up!

https://babel.ifarchive.org/

Revision 10 of the treaty document is posted. Also v0.3 of the Babel
tool.

The document (and tool) now include Alan and Twine. I also did a bunch of
minor updates, including:

- marking <bafn> tag (Baf's Guide) as historical legacy; adding <tuid>
tag (IFDB identifier).
- added more super-early Z-code files to the section on legacy Z-code.
- noted that the IF Archive integration plans didn't happen, and future
metadata plans will involve IFDB.
- noted that "forgiveness" is not as well-defined as we thought back in
the way.
- changing "he/his/him" to "they/their/them".

Andrew Plotkin

unread,
Feb 6, 2021, 1:46:56 PMFeb 6
to babe...@googlegroups.com
So, after all that about the update, I remembered that LRR did a couple of
updates to the babel source code back in 2010! (Labelled "0.4b".)

https://ifarchive.org/if-archive/utilities/babel.zip

The changes in that version are:

- Changing a lot of "int32" to "uint32"
- Updates to tads.c
- Adding the Perl Artistic license on a few of the source files (not the
platform-specific ones)
- A few other lines here and there

I intend to pull in the code changes, and... ignore the Perl license, I
guess. Everything is labelled Creative Commons at this point.

Ross isn't on this mailing list, I think, so I'll check with him.

Petter Sjölund

unread,
Aug 13, 2021, 5:00:19 AMAug 13
to Babel-IF
It seems that Babel currently does not recognize the following Alan 3 games:


IN-D-I-GO SOUL

The Ngah Angah School of Forbidden Wisdom

Room 206

A Very Hairy Fish-Mess

Waldo's Pie

If the current algorithm can't deal with these, perhaps we should just check the MD5 or similar against a list?

Tristano Ajmone

unread,
Aug 15, 2021, 4:11:35 PMAug 15
to Petter Sjölund



> It seems that Babel currently does not recognize the following Alan 3 games:


> The Christmas Party <https://ifdb.org/viewgame?id=dmsr5lwxofqx3pse>


> Enter the Dark <https://ifdb.org/viewgame?id=kyob0vwgrx360yl0>


> IN-D-I-GO SOUL <https://ifdb.org/viewgame?id=2rm73rof6whfmy6>


> The Ngah Angah School of Forbidden Wisdom

> <https://ifdb.org/viewgame?id=y295go9dadua28eb>


> Room 206 <https://ifdb.org/viewgame?id=bo1damdgdg4oy554>


> A Very Hairy Fish-Mess <https://ifdb.org/viewgame?id=c95zi71i86rm6etd>


> Waldo's Pie <https://ifdb.org/viewgame?id=rmdrlvclofzernfz>

Most likely, these were created with earlier versions of ALAN 3, which didn't yet
support IFIDs.

> If the current algorithm can't deal with these, perhaps we should just

> check the MD5 or similar against a list?

That seems the reasonable solution, but I'd like to ear what Thomas has to say.

Tristano Ajmone (Italy)



--
Saluti,
Tristano mailto:taj...@gmail.com

Thomas Nilefalk

unread,
Aug 16, 2021, 2:12:55 AMAug 16
to babe...@googlegroups.com

Den 2021-08-15 22:11:36 skrev Tristano Ajmone <taj...@gmail.com>:


> It seems that Babel currently does not recognize the following Alan 3 games:

> The Christmas Party

> Enter the Dark

> IN-D-I-GO SOUL

> The Ngah Angah School of Forbidden Wisdom

> Room 206

> A Very Hairy Fish-Mess

> Waldo's Pie

Most likely, these were created with earlier versions of ALAN 3, which didn't yet
support IFIDs.
Thomas Nilefalk: 
Tristano is probably correct, as that was my initial thought too. An `arun -v <game>` would indicate which version the game was created with.

> If the current algorithm can't deal with these, perhaps we should just
> check the MD5 or similar against a list?

That seems the reasonable solution, but I'd like to ear what Thomas has to say.
Thomas Nilefalk: 
I thought returning "INCOMPLETE_REPLY_RV" from get_story_file_IFID() would automatically do that?

But, yes, that is the reasonable action.

/Thomas

/Thomas



Tristano Ajmone (Italy)



--
Saluti,
Tristano mailto:taj...@gmail.com

--
You received this message because you are subscribed to the Google Groups "Babel-IF" group.
To unsubscribe from this group and stop receiving emails from it, send an email to babel-if+u...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/babel-if/1904111162.20210815221131%40gmail.com.

Petter Sjölund

unread,
Aug 28, 2021, 5:53:45 AMAug 28
to Babel-IF
Sorry about the late reply. Apparently replies here won't be forwarded to my mail.

The problem is not with get_story_file_IFID() but with claim_story_file(), which will return INVALID_STORY_FILE_RV for these games.

But there seems to be another problem as well: if I hack claim_story_file() to recognise the games I listed, one of them, Enter The Dark, will be assigned a nil or broken IFID.

Petter Sjölund

Petter Sjölund

unread,
Aug 28, 2021, 6:53:45 AMAug 28
to Babel-IF
I made a pull request with an attempt to fix this. Please let me know what you think!
https://github.com/iftechfoundation/babel-tool/pull/21
Reply all
Reply to author
Forward
0 new messages