Welcome to the TADS 3 Technical Manual!

This book is a collection of technical articles about different aspects of TADS 3. The topics here overlap somewhat with Getting Started in TADS 3, the System Manual, and the Library Reference Manual, but our thrust here a bit different: here, we try to provide practical "how to" information, like a tutorial, but at the same time to explore the details in depth, like reference material. Hopefully, the result is the best of both worlds rather than the opposite.

The articles here are mostly self-contained, each covering a single topic in depth, so you can approach this material in any order you like. If you're just learning TADS 3, though, we recommend reading Getting Started in TADS 3 first - the articles in the Technical Manual assume a degree of familiarity with the system, and the Getting Started guide should help greatly with that.

We've organized the material here into three sections. "Fundamentals" covers the core topics that most people using TADS 3 will encounter in everyday use. "TADS 3 In Depth" includes material that authors will find useful as they tackle particular game-development challenges; read these articles as you encounter the relevant areas in your design work. "Advanced Topics" will be especially useful to authors who want to really customize the system, and should be interesting to anyone who wants to know exactly how things work inside the library.

Many of the articles here have been previously published. Some appeared in the Technical Articles section on, and some were adapted from earlier documentation (particularly the TADS 2 Author's Manual). We've gathered them here in an effort to offer "one-stop shopping" for TADS 3 documentation.

Several of the articles herein were generously contributed by TADS users. Many thanks to Steve Breslin, Eric Eve, Michel Nizette, and Andreas Sewe for taking the time to share their expertise and for allowing me to include their work in this collection.

One of the reasons for this manual's rather ad hoc organization is that it's designed to be a living, growing collection. I plan to continue adding new material over time, especially in-depth "how to" articles. I'm interested in hearing your ideas for new topics that should be covered. And if you've struggled to overcome missing documentation to figure out for yourself how some part of the system works, I'd be especially grateful if you'd consider contributing an article on the subject for a future edition. To facilitate user participation, I've set up a page on with a "wish list" of new articles for future editions:

Palo Alto, California
September, 2006