This file is part of the TADS Author's Manual.
Copyright © 1987, 1996 by Michael J. Roberts. All rights reserved.

The manual was converted to HTML by N. K. Guy, tela design.


Preface


About TADS

TADS is a computer programming language system created especially for writing text adventures. The syntax and structure of the language are designed to make sophisticated adventure games simple and convenient to implement. TADS provides a complete run-time system with all of the features required for a professional adventure game, so the game author can concentrate on his adventure and not on the underlying software.

This section provides an overview of TADS, of text adventures in general, and of this manual.


About Text Adventures

The first text adventure game was called, appropriately enough, Adventure. The game was an interactive simulation of a cave. The player interacted with the game by typing commands such as "north" and "get rod," and the game responded by describing the consequences of the commands.

In many ways, Adventure was quite rudimentary; each player command was limited to one or two words, and the range of possible actions was quite small. However, Adventure was different from any game that had gone before it, on a computer or otherwise, and it quickly attracted a large following. The game became so popular, in fact, that it spawned an entire genre of games, called "adventure games" after the first of their kind. As the genre has matured and computer hardware has become capable of supporting more sophisticated programs, many improvements have been made to adventure games, but the basic ideas have remained largely unchanged.

Adventure games appeal to a wide audience. Unlike most arcade-style games, an adventure can be won, and it can take many days, or even weeks or months, to finish a game. At their best, adventure games are rich stories in which a player can become immersed.


About TADS

Many people are so intrigued with the adventure game genre that they'd like to write adventures themselves. Most people who start writing these games, though, quickly become overwhelmed by the large amount of code that must be written. To write an adventure, a potential author must first write a parser to read player commands, write code to save and restore games, set up data structures to simulate the objects in the scenario, and write many other complicated routines. Not all imaginative people are computer experts, so many potential adventure authors are discouraged from trying their hand at the genre.

Fortunately, the most complex operations that an adventure game must perform are the same, or very nearly so, in every game. Some people interested in adventure game development have discovered that these common operations - displaying messages, checking and setting states of game objects, saving and restoring games, and so forth - could be done by common subroutine libraries that are shared by any number of games. Others have taken this idea further, realizing that a special-purpose language designed specifically for text adventure implementation could simplify game authoring. TADS is such a language.

Authors writing games with TADS will realize several benefits over writing games in a general-purpose language. Some of the advantages of using TADS are:


About Version 2

TADS Version 1 was a very successful and useful piece of software, but there's always room for improvement. We wanted to make TADS even more flexible and powerful, and we wanted to address many of the suggestions that users of version 1 made for enhancing the system. Some of the more important features that are new in version 2 are listed below.


About This Manual

This document is intended for game designers who wish to implement games using TADS. This manual will try to describe the system in such a way that no prerequisites are imposed on a potential author, but you'll have the easiest time learning to use TADS if you're already familiar with a traditional structured language such as Pascal or C. Familiarity with the concepts of object-oriented programming will also help.

Here's an overview of the contents of this book:

To use this manual to learn TADS, you should start with Chapters One and Two, but just to get the flavor of the system; don't worry about understanding all of the details right away. You should then proceed to Chapter Three to become familiar with the language. While you are reading this chapter, it may not seem immediately clear how to write an adventure with the language; for now, just try to get an overview of the language. Then, read Chapter Four, which describes how you use the language to write an adventure; this chapter explains the TADS run-time environment in general, and the player command parser in particular. While learning TADS, you will almost certainly find it useful to refer frequently to the lengthy sample game provided with the TADS software, since it has many examples of how the TADS language constructs are used in an actual game.

Chapter Five is reference material, describing the TADS language in detail. This chapter is not intended to be a tutorial, but is designed to provide easy access to the details of writing a TADS game. Likewise, the several Appendices document the microscopic details about the darker corners of the system, such as compiler options and error messages.


Acknowledgments

The Text Adventure Development System represents many years of work, not the least of which was the preparation of this documentation. I wish to thank the many people who have contributed to this project. Jim Cser used an early version of TADS to write the now-classic High Tech Drifter, and Steve McAdams worked with me on Deep Space Drifter; the experience gained in implementing these full-scale games was invaluable. I also wish to thank the several people who reviewed this manual and play-tested the sample game that is included with the system, and the many other people who have offered advice in the course of the project.

I want to thank the many users of version 1 for their comments and suggestions, and for encouraging me to continue supporting and improving the system. Special thanks to David Baggett, Chris Nebel, and David Leary, authors of the Unnkulian series of TADS games, for their help in testing TADS Version 2, as well as their enormous contribution to the popularity of TADS by demonstrating how good a TADS game can be; and to Andy Miller for the awesome Mount TADSmore cover art.





The vitality of thought is in adventure.
ALFRED NORTH WHITEHEAD, Dialogues of Alfred North Whitehead (1953)

I know engineers - they love to change things.
DR. McCOY, Star Trek: The Motion Picture (1979)


Licence and Copyright Table of Contents Chapter One