Definitions

The following definitions will be used in this document:

ACTION
An executable action that the PLAYER can take to influence the GAME STATE. Declared in a GAME FILE by the Action WDL statement.
GAME FILE
The text description that defines a game world.
GAME STATE
(Or just STATE) The complete description of the game WORLD at a particular point in time. Includes the player LOCATION, the LOCATION of all OBJECTS, and the state of all VARIABLEs.
INVENTORY
The list of OBJECTs carried by the PLAYER.
LOCATION
A place in the WORLD, including both ROOMs and the INVENTORY. At any time, the PLAYER MUST be at a ROOM LOCATION and every OBJECT MUST be at a LOCATION (including, possibly, the INVENTORY).
MAY
A requirement that the product can choose to implement if desired. Can also indicate a choice among acceptable alternatives (e.g., ``The program MAY do x, y, or z.'' indicates that the choice of behavior x, y, or z is up to the designer.)
MOBILE
A THING that can be picked up (moved to the INVENTORY) and relocated. See also SESSILE.
MUST
A requirement that the product must implement for full credit.
MUST NOT
A behavior or assumption that must not be violated. Violating a MUST NOT restriction will result in a penalty on the assignment.
OBJECT
A thing in the world, other than the ROOM. It may or may not be MOBILE. All OBJECTs have LOCATIONs and may have additional VARIABLEs. The PLAYER is also represented as a special-case OBJECT. OBJECTs are declared in the GAME FILE by the Object WDL statement.
PLAYER
The human user that is playing an instance of the Zurk game.
PLAYER OBJECT
Internally, Zurk represents the PLAYER as an OBJECT having LOCATION and an additional variable, the INVENTORY. The PLAYER OBJECT is automatically part of all Zurk games and need not be explicitly described in the GAME FILE.
RECOVERABLE ERROR
An error condition that the software can ignore, correct, or otherwise recover from. The program MUST produce a warning message and then cleanly continue with no corruption or loss of valid data.
ROOM
A place in the WORLD. A LOCATION excluding the INVENTORY. At any time step, the PLAYER MUST be at exactly one ROOM. Declared in the GAME FILE by the Room WDL statement.
SESSILE
A THING that cannot be picked up or relocated. A SESSILE THING can never change its LOCATION during the game.
SHOULD
A requirement that is recommended, but not required. The designer may violate a SHOULD requirement, but should be prepared to explain why.
STATE
See: GAME STATE.
STDIN
The standard input stream. Accessible in Java via System.in.
STDERR
The standard error stream. Accessible in Java via System.err.
STDOUT
The standard output stream. Accessible in Java via System.out.
TRACE FILE
A file output during the execution of the Zurk program that records all I/O interaction with the PLAYER.
UNRECOVERABLE ERROR
An error condition from which recovery is impossible. The program MUST produce an error message describing the condition and then cleanly halt.
VARIABLE
A variable in the WORLD that can take on one of a discrete set of VALUEs. In Zurk, all VARIABLEs are associated with OBJECTs (including the special, PLAYER OBJECT), though they may be declared outside the context of an OBJECT. VARIABLE NAMEs may be non-unique, but fully qualified NAMEs must be unique. A VARIABLE is declared by the Variable WDL statement.
WARNING
A message printed to the PLAYER indicating that she or he has executed an illegal command. (E.g., attempted to execute an undefined action, attempted to move in a disallowed direction, provided too many or too few arguments to a command, etc.)
WHITESPACE
Non-printable characters including (but not limited to) space, horizontal and vertical tabs, newlines, and carriage returns. See the Java JDK API call Character.isWhitespace().
WDL
WORLD Description Language, v. 1.0. The WDL specifies the syntax and semantics of GAME FILES.
WORLD
A complete Zurk game world, i.e., a set of ROOMs, VARIABLEs, OBJECTs, and ACTIONs, along with the state transition model for them.

Terran Lane 2005-02-28