ALAN 2

From Just Solve the File Format Problem
(Difference between revisions)
Jump to: navigation, search
(Added reference to 1993 (apparent release) in main body; added year when ALAN 2 development was abandoned; changed wording "versions" -> "version"; added source repository in #Software)
 
(2 intermediate revisions by one user not shown)
Line 6: Line 6:
 
}}
 
}}
  
'''ALAN''' is an [[Interactive Fiction|interactive fiction]] system written by "Göran Forslund" and "Thomas Nilsson" first released in 1985<ref>[http://www.ifwiki.org/index.php/Alan]. Note that the year of the earliest extant files, in [http://www.ifarchive.org/indexes/if-archive/programming/alan/source/compiler286src.tgz], is 1993, and therefore the 1985 claim cannot be verified.</ref>, apparently with a connection to a company named "SoftLab"<ref>[http://www.ifarchive.org/indexes/if-archive/programming/alan/source/compiler286src.tgz], README.SRC</ref>. Although '''versions 2''' has some internal format inconsistencies, they are similar enough that they can be categorized as a single format (See [[#Formats of Compiled Versions]]); however, [[ALAN 3]] is entirely different and is treated here and elsewhere as a separate interactive fiction system.
+
'''ALAN''' is an [[Interactive Fiction|interactive fiction]] system written by "Göran Forslund" and "Thomas Nilsson" first released in 1985<ref>[http://www.ifwiki.org/index.php/Alan]. Note that the year of the earliest extant files, in [http://www.ifarchive.org/indexes/if-archive/programming/alan/source/compiler286src.tgz], is 1993, and therefore the 1985 claim cannot be verified.</ref>, apparently with a connection to a company named "SoftLab"<ref>[http://www.ifarchive.org/indexes/if-archive/programming/alan/source/compiler286src.tgz], README.SRC</ref>. Although '''version 2''', released ca. 1993 and superseded by ALAN 3 in 2005<ref>https://web.archive.org/web/20050728095717/http://www.alanif.se/, section "News" and "Version 3 in the Works"</ref>, has some internal format inconsistencies, they are similar enough that they can be categorized as a single format (See [[#Formats of Compiled Versions]]); however, [[ALAN 3]] is entirely different and is treated here and elsewhere as a separate interactive fiction system.
  
 
As with most interactive fiction formats, ALAN 2 uses a compiler (a program named only "alan") to convert "source" files to portable "compiled" versions, which can then be run with an interpreter ("arun").
 
As with most interactive fiction formats, ALAN 2 uses a compiler (a program named only "alan") to convert "source" files to portable "compiled" versions, which can then be run with an interpreter ("arun").
Line 29: Line 29:
 
* [http://www.ifarchive.org/indexes/if-archive/programming/alan/old/ Version 2.5 and 2.6 interpreters only, in the IF Archive]
 
* [http://www.ifarchive.org/indexes/if-archive/programming/alan/old/ Version 2.5 and 2.6 interpreters only, in the IF Archive]
 
* [http://www.ifarchive.org/indexes/if-archive/programming/alan/source/ The source of the 2.8.6 compiler and interpreter, in the IF Archive]
 
* [http://www.ifarchive.org/indexes/if-archive/programming/alan/source/ The source of the 2.8.6 compiler and interpreter, in the IF Archive]
 +
* [https://bitbucket.org/alanif/alan/overview The source code of ALAN 2 and 3, starting from 1993]
 
* [[Gargoyle]], although it failed when tested
 
* [[Gargoyle]], although it failed when tested
  
Line 34: Line 35:
 
* [http://www.ifarchive.org/indexes/if-archive/programming/alan/examples/ Source files in the IF Archive]
 
* [http://www.ifarchive.org/indexes/if-archive/programming/alan/examples/ Source files in the IF Archive]
 
* [http://www.ifarchive.org/indexes/if-archive/games/alan/ A mix of ALAN 2 and 3 games in the IF Archive]
 
* [http://www.ifarchive.org/indexes/if-archive/games/alan/ A mix of ALAN 2 and 3 games in the IF Archive]
 +
* [https://web.archive.org/web/20050319185929if_/http://junovagen.se/alan/samples.html Official examples]
  
 
== Links ==
 
== Links ==
 
* [http://www.ifwiki.org/index.php/Alan ALAN 2 at the Interactive Fiction wiki]
 
* [http://www.ifwiki.org/index.php/Alan ALAN 2 at the Interactive Fiction wiki]
 +
* [https://web.archive.org/web/20050319164944/http://junovagen.se/alan/faq.html the ALAN 2 FAQ]
 +
* [https://web.archive.org/web/20051129021925/http://www.alanif.se/ A later version of the ALAN website, also covering version 3]
  
 
== References ==
 
== References ==

Latest revision as of 22:14, 24 February 2019

File Format
Name ALAN 2
Ontology
Extension(s) .alan, .ala, .i, .acd, .dat
Released 1993

ALAN is an interactive fiction system written by "Göran Forslund" and "Thomas Nilsson" first released in 1985[1], apparently with a connection to a company named "SoftLab"[2]. Although version 2, released ca. 1993 and superseded by ALAN 3 in 2005[3], has some internal format inconsistencies, they are similar enough that they can be categorized as a single format (See #Formats of Compiled Versions); however, ALAN 3 is entirely different and is treated here and elsewhere as a separate interactive fiction system.

As with most interactive fiction formats, ALAN 2 uses a compiler (a program named only "alan") to convert "source" files to portable "compiled" versions, which can then be run with an interpreter ("arun").

Contents

[edit] Extensions

Source files use the extension .alan, although this is very frequently shortened to .ala, presumably due to DOS naming restrictions.[4] Libraries (which are bundled with the normal files during compilation, and therefore have no compiled counterpart) also appeared to have sometimes used the extension .i.[4]. The compiled format is a multi-file format, putting the instructions into a file with the extension .acd and the textual strings into a file with the extension .dat.

[edit] Incompatibilities in Compiled Versions

Compatibility of compiled files seems to have been broken upon almost each release of a minor version, to the point that it would produce too much clutter to have individual pages for formats 2.4, 2.5, 2.6, 2.7, etc. All interpreted versions use the same set of extensions. See #Specifications for details of versions and interpreter compatibility.

[edit] Identification

.alan files will probably contain the following strings: "VERB", "END VERB", "SYNTAX", "ACTOR, and "END ACTOR", in ASCII.

.acd files each start with their version, with one level per byte; version 2.6.1 starts with 0x02 0x06 0x01. All surveyed examples have the last byte set to 0x01, and it may be possible that this is always 0x01 due to changes in the last version not breaking compatibility[5]. If this is true, it may be that (as has been observed) all ALAN 2 .acd files start with 0x02 [A single varying byte] 0x01 0x00 0x00 0x00 (although it is unclear what the 0x00s are for, or if they are necessarily included).

[edit] Specifications

  • [5], containing grammar.html (a formal documentation of the syntax in Backus-Naur form) and language.html (containing a detailed but informal explanation of all the parts of the language) for version 2.8. This is also available in PDF form at [6].
  • Page 114 of [7], documenting differences between versions and interpreter compatibility

[edit] Software

[edit] Sample Files

[edit] Links

[edit] References

  1. [1]. Note that the year of the earliest extant files, in [2], is 1993, and therefore the 1985 claim cannot be verified.
  2. [3], README.SRC
  3. https://web.archive.org/web/20050728095717/http://www.alanif.se/, section "News" and "Version 3 in the Works"
  4. 4.0 4.1 http://www.ifarchive.org/indexes/if-archive/programming/alan/examples/
  5. [4], page 120, section J5
Personal tools
Namespaces

Variants
Actions
Navigation
Toolbox