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
- Michael J. Roberts, TADS overview: Author’s overview; player/interpreter and author/tooling roles and distribution terms.
- Michael J. Roberts, TADS 2 vs TADS 3: Original version comparison; 2006 TADS 3 release and incompatible source generations.
- Eric Eve, Getting Started in TADS 3, version 3.1: Version 3.1 tutorial; chapters 1–4 cover objects, rooms, inheritance and stages of action processing.
- Michael J. Roberts, The Object Library: Original Adv3 documentation; world model, parser, command execution and the light-in-a-box example.