RUNNING

To run Adrift games with SCARE, on Linux, give the name of, or full path to, the Adrift TAF file that you want to play.  For example

    scare aparty.taf
    glkscare /tmp/the_pk_girl.taf

This should start the SCARE interface, and begin running the game.  Platforms other than Linux may have different ways of invoking SCARE.

There are a few differences between SCARE and the official Adrift Runner, and a few limitations to SCARE, that are worth noting.  The reference version of the Adrift Runner used here for comparisons is 4.00.36, but SCARE also contains features found in 4.00.46.  SCARE will also seamlessly run Adrift games built using the Adrift version 3.90 and version 3.80 Generators.

While SCARE tries to mimic the Runner, there are cases where some differences may creep in.  In particular, the Adrift Runner has a built in set of standard commands it understands, and also a set of standard responses it produces to
selected actions.  SCARE's text for these may be slightly different; for most cases, this won't matter, but it could be that a game uses ALRs to modify standard responses, and those ALRs may fail to match SCARE's standard response text.

SCARE attempts to run Adrift version 3.90 and version 3.80 games by first converting them, on loading, into version 4.00 format.  This generally works, but you may find some version 3.90 and version 3.80 games either do not load, or do no play completely correctly, in SCARE.  The Adrift version 4.00 Runner itself cannot run version 3.90 or 3.80 games, and the Adrift Generator is not guaranteed to convert version 3.90 games correctly, so there is apparently some inescapable incompatibility across these versions of Adrift.  SCARE does its best to cope, but may not always get things right.

Standard SCARE builds lack the graphical toolbar of the Adrift Runner, so cannot set verbose mode, bold room names, and score change notifications using a toolbar.  Instead, SCARE implements the "verbose" and "brief" game commands, the "notify on/off" commands, and just always displays room names in bold (though this won't be visible for ANSI builds).  Similarly, use "save" to save a game, "restore" or "load" to restore a saved game, "quit" to exit a game, "undo" to undo a turn (SCARE currently limits undo to 17 turns) and "restart" to start again from the beginning.  Standard SCARE builds also lack the status window of the Adrift Runner.  You can use "status" or "statusline" instead to show any game status line.

Most SCARE interfaces will offer a good command history and convenient ways to re-run prior commands.  For those that don't (including ANSI), SCARE has its own simple way to do this, roughly modeled on the UNIX C-shell.  Use "history" to retrieve a list of the most recent commands, and "redo N" to re-run the command numbered 'N' in the list.  "!N" is a synonym for "redo N".  A negative value of N re-runs the N-th back from the current position, so "redo -1" is equivalent to "again".  Instead of a number, you can give a word to "redo", to have it re-try the most recent command starting with that word.  Prefixing word with '?' searches for the most recent command containing that word.

SCARE's saved game file format is designed to be fully compatible with the Adrift version 4.00 Runner's.  Games saved from the Adrift Runner may be loaded by SCARE.  The converse may be true, but in selected cases may not.  The problem cases are games that use Adrift string variables.  The Adrift Runner mishandles these in its save format, and so may be upset to find that SCARE is handling them correctly.

SCARE does not handle a few of the rarest standard Adrift commands, but its coverage of Adrift commands and verbs is fairly good.  If a game handles one of these rare commands for itself, it will work in SCARE as expected.

SCARE does not implement Adrift's "battle system".  If you run a game that uses this feature, SCARE will warn you, then run the game anyway.  It's possible that the game author simply left this turned on in the game, but never uses it, in which case the game should run fine.  Games that do rely on the battle system may however not always run correctly, depending on how they rely on it.  SCARE runs these games in "pacifist mode", doing everything the game asks except for battles.

There may be places where SCARE doesn't implement objects, events, tasks, or NPCs quite correctly.  SCARE is a work in progress, based on jAsea, created by reverse engineering the Adrift Runner, with no access to Adrift Runner code or Adrift TAF file documentation.  As such, some parts of SCARE pretty much guess about the meaning of selected portions of the Adrift TAF file, and may guess incorrectly.

SCARE's implementation of the "it" pronoun for objects and "him" and "her" for NPCs, may not be completely accurate.  Pronouns work most of the time, but it may sometimes be necessary to explicitly name the object or NPC to get the expected behavior.

The Comp03 release of the Adrift game 'Sophie's Adventure' has a bug in it that renders it unreadable to SCARE ("invalid integer at line 225749").  How the real Adrift Runner manages to load this game is a mystery.  If you want to run this game, the author has made a fixed version available at his web site, shadowvault.net.  SCARE is able to run this newer version of the game.

When starting a game, SCARE tries to automatically set either the 'Latin1' or 'Cyrillic' locale, but you can also set it directly.  To do this, set the value of SC_LOCALE, before running, SCARE to either "Latin1" or "Cyrillic".

SCARE contains copious debugging output that you can turn on if curious about its inner workings.  To do this, set the value of SC_TRACE_FLAGS before running SCARE.  The values for the various tracing options may be found in the file scare.h, in the SCARE source.  Set a value of -1 to rapidly become neck deep in trace output.

The remaining notes refer only the the Glk build of SCARE.

Glk SCARE implements an additional command, "glk".  Use this to set or request interpreter information.  Valid Glk commands are

    glk script             - Turn game transcript on or off
    glk inputlog           - Save typed commands to a file
    glk readlog            - Read input from a file (normally created using
                             'glk inputlog')
    glk abbreviations      - Turn standard IF abbreviations on or off
    glk version            - Show the version of Glk built into glkscare
    glk commands           - Turn off the special "glk" command; once off, it
                             cannot be turned back on again
    glk summary            - Print a summary of all current settings
    glk license            - Print the interpreter's software license
    glk help               - Print help on special "glk" commands

Glk SCARE automatically expands the following abbreviations, common among many standard IF systems:

    'c' -> "close"          'g' -> "again"          'i' -> "inventory"
    'k' -> "attack"         'l' -> "look"           'p' -> "open"
    'q' -> "quit"           'r' -> "drop"           't' -> "take"
    'x' -> "examine"        'y' -> "yes"            'z' -> "wait"

If you want to suppress abbreviation expansion, you can prefix your input with a single quote character (like putting literal strings into a spreadsheet).  If you do this, Glk SCARE will strip the quote, then pass the rest of the string to the main interpreter without any more changes.  So for example,

    'x something

will pass the string "x something" in to the game, whereas

    x something

will pass "examine something" in to the game.  The single quote will also suppress the special "glk" commands, in the (unlikely) event that you need to pass a line starting with "glk" to the Adrift game itself.

A warning about these abbreviations.  Some games override 'x something' in Adrift with actions of their own.  It's an unwise thing to do even with the real Adrift Runner, as it treats 'x something', 'examine something', and look at something' as equivalent, and a buggy game, one that overrides only 'x something', can therefore fail even in real Adrift.

For Glk SCARE, however, the problem with games that do this is worsened by the standard abbreviations, which always convert 'x something' to 'examine something' before passing the input to the game.  If you find a game seems to be misbehaving, try turning off Glk abbreviations to see if things improve.

You can turn off Glk abbreviation expansions with the command line option '-na', and Glk commands, such as "glk version", with '-nc'.  If built with Linux graphics support, '-ng' turns off graphics.

Where timed delays are supported, Glk SCARE allows you to press either space or return to cancel the delay early.  This is useful for games that use slow and annoying <wait x.x> tags.

Glk SCARE defaults to printing game output using its best attempt at WinLatin1, codepage 1252, for the 'Latin1' locale.  It uses WinCyrillic, codepage 1251, for the 'Cyrillic' locale if the Glk library it is using offers unicode and unicode output is enabled, otherwise Glk SCARE prints transliterated Cyrillic.  You can turn off unicode with the '-nu' command line option.

Please report any SCARE bugs, omissions, or misfeatures to Simon Baldwin, simon_baldwin@yahoo.com.  Before doing so, please read the above notes to be sure that what you're seeing isn't already a known bug.  Thank you.

Comments