Skip to content

TADS

A programming language with an adventure library beside it

Michael J. Roberts’s Text Adventure Development System supplies a language, libraries and tools for interactive fiction. TADS 2 and TADS 3 are different generations, each with its own games and development model.

TADS, the Text Adventure Development System, is Michael J. Roberts’s family of tools for writing interactive fiction. Authors write a program and use supporting libraries; players run the resulting game in a suitable interpreter.

Its syntax resembles languages such as C, but the surrounding tools address adventure-specific work: understanding commands, representing places and objects, and deciding how actions change them. Roberts’s overview presents that combination as a programming environment for authors.

Two generations need separating

TADS 2 and TADS 3 are different systems. Roberts’s version comparison dates TADS 3’s release to 2006 and explains that it was rebuilt rather than kept compatible with TADS 2 source. A game written for one generation cannot be moved to the other by changing the compiler.

That boundary matters when reading old games or documentation. A feature described for the TADS 3 library does not describe every earlier TADS adventure.

A model supplies ordinary behaviour

The TADS 3 Adv3 library includes classes for rooms, doors, containers, people and other recurring elements. It also supplies the parser and a framework for carrying out commands. Library objects are written in TADS, allowing authors to inspect and change the behaviour they inherit.

Eric Eve’s Getting Started in TADS 3 introduces objects and rooms before developing more specialised interactions. Its account of action processing separates questions such as whether an action is appropriate, whether it is blocked and what it does when allowed. That keeps the game’s state and its responses connected.

The library’s own explanation uses light as an example: closing an opaque box around the only lamp can make a room dark. Shared rules let such consequences follow from the world model instead of requiring a special response for every possible sequence of commands.

Machinery in service of the writing

The author still chooses the world, vocabulary, prose and puzzles. The library handles recurring interactions so those choices can work together. Inform provides another language-and-library approach, while DAAD organises adventure logic into databases for its own target interpreters.

Sources

Checked. Verified against primary sources and signed off by a person.