§12.2. The Status Line

The status line is the reverse-coloured bar along the top of the window during play, which conventionally, but not necessarily, shows the current location, the score (or sometimes the time of day) and the number of turns so far. It has been highly traditional since the early 1980s (Infocom's customer newsletter was for many years called "The Status Line"): it has become the visual identifier of IF. It plays the same role for IF that a header with chapter name and page number plays in a printed book.

The status line is ordinarily printed from two named pieces of text, the "left hand status line" and the "right hand status line". These can be changed during play, so for instance,

When play begins, change the right hand status line to "Time: [time of day]".

The examples below offer miscellaneous alternatives, and are fairly self-descriptive.

* See Viewpoint for a way to make the status line list the player's current identity


arrow-up.pngStart of Chapter 12: Typography, Layout, and Multimedia Effects
arrow-left.pngBack to §12.1. Typography
arrow-right.pngOnward to §12.3. Footnotes

*ExamplePolitics as Usual
Have the status line indicate the current region of the map.

*ExampleWays Out
A status line that lists the available exits from the current location.

*ExampleBlankness
Emptying the status line during the first screen of the game.

Not much is needed for this. The only noteworthy point is that it doesn't work by changing the LHSL to "[the player's surroundings in upper case]": it cannot do this because "the player's surroundings" is not a value. Instead, "[the player's surroundings]" is a text substitution sometimes printing the name of a room, sometimes printing "Darkness", and so on. We must therefore load it into a text first, and then apply "...in upper case".

paste.png "Capital City"

Capital City is a room. East is Lower Caissons. South of Lower Caissons
is San Seriffe. East of San Seriffe is a dark room.

To say the player's capitalised surroundings:
    let the masthead be "[the player's surroundings]" in upper case;
    say the masthead.

When play begins:
    now the left hand status line is "[the player's capitalised surroundings]".

Test me with "e / s / e".

*ExampleCapital City
To arrange that the location information normally given on the left-hand side of the status line appears in block capitals.

Not much is needed for this. The only noteworthy point is that it doesn't work by changing the LHSL to "[the player's surroundings in upper case]": it cannot do this because "the player's surroundings" is not a value. Instead, "[the player's surroundings]" is a text substitution sometimes printing the name of a room, sometimes printing "Darkness", and so on. We must therefore load it into a text first, and then apply "...in upper case".

paste.png "Capital City"

Capital City is a room. East is Lower Caissons. South of Lower Caissons
is San Seriffe. East of San Seriffe is a dark room.

To say the player's capitalised surroundings:
    let the masthead be "[the player's surroundings]" in upper case;
    say the masthead.

When play begins:
    now the left hand status line is "[the player's capitalised surroundings]".

Test me with "e / s / e".

*ExampleStatus line with centered text, the hard way
A status line which has only the name of the location, centered.

**ExampleGuided Tour
A status line that lists the available exits from the current location, changing the names of these exits depending on whether the room has been visited or not.

***ExampleCentered
Replacing the two-part status line with one that centers only the room name at the top of the screen.