-
Notifications
You must be signed in to change notification settings - Fork 3
File Extensions
Some notes on the various file extensions used by Alan 3.
Table of Contents
file ext. | format | created by | description |
---|---|---|---|
.alan |
text | user | Adventure source file (main). |
.i |
text | user | Adventure source file (module). |
.a3c |
binary | compiler | Compiled adventure story file. |
.a3r |
binary | compiler | Adventure assets file (images and/or sounds). |
.ifid |
text | compiler | Unique adventure IFID string, generated by Alan. |
.lis |
text | compiler | Compiler generated listing file (optional). |
.xml |
text | compiler | XML representation of the adventure (optional). |
.sav |
binary | interpreter | Arun saved game session. |
.glksave |
binary | interpreter | WinArun saved game session. |
.log |
text | interpreter | Gameplay transcript or player commands log, generated by Arun. |
.txt |
text | interpreter | Gameplay transcript or player commands log, generated by WinArun. |
EOL NOTE — All text files generated by the Alan SDK tools use native OS EOL.
Given the source adventure <filename>.alan
, the Alan compiler will generate the following files:
file name | description | condition |
---|---|---|
<filename>.a3c |
Compiled story file. | always |
<filename>.a3r |
Adventure multimedia assets (if any). | if adventure has images or sounds |
<filename>.ifid |
Unique IFID string of the adventure. | if no valid .ifid file is present |
<filename>.lis |
Compiler listing file. | optional via -listing switch |
<filename>.xml |
XML representation of the adventure. | optional via -xml switch |
The .ifid
file generated by the Alan compiler contains the unique identifier of the adventure, in accordance with the Treaty of Babel specification for IFIDs. As long as the generated .ifid
file is kept with its adventure source file (same file name), the compiler won't generate a new IFID file.
If you intentionally delete the .ifid
file (or loose it), then the compiler will create a new .ifid
file, with a freshly generated IFID. To preserve the unique IFID of an adventure across its updates it's therefore important not to decouple the source file from its autogenerated .ifid
file.
The compiled .a3c
story file contains a copy of the same IFID string found in the .ifid
file, so it's not strictly necessary to distribute the .ifid
file with the compiled adventure (but it's advisable to do so).
This also means that if the original .ifid
file generated by Alan is lost it's still possible to recover the original IFID string from the compiled story file, and manually recreate the lost .ifid
file.
The compiler will always check that the .ifid
contains a valid IFID string, and generate a new one if it doesn't.
Arun can generate a log of either the full game session (commands and responses) or just the player's commands, and can also playback the latter on an adventure story file.
Log files of both types are generated with the .log
extension — in the form <filename><timestamp>.log
.
WinArun offers these features too, via GUI menus, using the .txt
extensions instead of .log
, and without appending a timestamp to the generated filename.
Game transcripts contain the full text of a game session (player commands plus adventure text). They are often used by beta-testers to provide feedback to the author of the adventure being tested, or to provide a gameplay sample for reviewing or documentation purposes.
To generate a game transcript, invoke Arun with the -l
option:
arun -l someadventure.a3c
The Arun interpreter will create a file with the same name of the adventure, but followed by a timestamp and with the .log
extension. At the end of the game session, the transcript text is flushed to the generated .log
file.
In WinArun, you can create a trascript via the menu Arun > Transcript…
Player commands scripts (aka solution files) contain only the commands typed by the player (without the preceding prompt). They are intended to be used for running a game session in automated mode.
To generate a commands transcript, invoke Arun with the -c
option:
arun -c someadventure.a3c
The Arun interpreter will create a file with the same name of the adventure, but followed by a timestamp and with the .log
extension. At the end of the game session, all the typed commands are flushed to the generated .log
file.
In WinArun, you can create a commands script via the menu Arun > Record commands…
Although Arun generates commands scripts using the .log
extension, and WinArun using the .txt
extension, neither of them enforces any specific file extension to commands scripts, so you might encounter this type of scripts with names like <filename>.input
and various other arbitrary file extensions — other common extensions are: .walkthrough
, .walkthru
, .solution
and .sol
.
To play an adventure with a commands script, invoke Arun by redirecting the commands script to its input via STDIN:
arun someadventure.a3c < someadventure.sol
In WinArun, you can play an adventure using a commands script via the menu Arun > Playback commands…
This project is part of the ALAN IF Network. Alan is an Interactive Fiction authoring tool for creating text adventures: www.alanif.se