TADS 3

Jump to: Downloads - Documentation - Reporting Bugs - Notes for TADS 2 Users - T3 VM Technical Information

TADS 3 is a robust, modern programming environment specially designed for creating Interactive Fiction.

The current General Release version is 3.0.16, available for download here - see the links below.


Downloads

Latest update: A new beta version, 3.0.17, is available for download - see the beta test page. If you prefer an official stable release version, see below.

IF Archive note: Most of the packages below are also available at the IF Archive, but the Archive's versions might not be as up to date as the ones below. We generally send updates to the Archive only at major releases, to avoid overburdening the Archive's managers.

Current Stable Release Packages

Author's Kit for Windows with Full Documentation. This has everything you need to write TADS 3 games on Windows - the compiler, the Workbench development environment, the libraries, and other tools. This Kit is packaged as an automatic installer for easy setup: just download and run this file to install. This package includes full documentation, including Getting Started in TADS 3, Learning TADS 3, the TADS 3 Tour Guide, the System Manual, the Technical Manual, and the Library Reference Manual. [14 MB download, 54 MB installed; April 10, 2008]

Author's Kit for Windows - No Documentation. This version of the Author's Kit includes all of the same tools as the version above, but does not include any of the documentation. Instead, this package includes links to the books on-line. If you have a slow Internet connection or limited disk space, you might prefer to download this smaller version. [5.6 MB download, 15 MB installed; April 10, 2008]

Player Kit for Windows. This is the full HTML TADS interpreter, which can play TADS 2 and TADS 3 games and features full multimedia support. [1.2 MB download, 3.0 MB installed; April 10, 2008]

FrobTADS is Nikos Chantziaras's version of TADS for Linux and other Unix platforms. FrobTADS is distributed as a highly portable Unix source package with easy-to-use autoconfig installation. Please see the FrobTADS page for full details.

For Mac OS X, there are two excellent Interpreter options: Tor Andersson's Spatterlight, and Nikos's FrobTADS. To write your own games, you'll need the FrobTADS compiler.

FrobTADS works not only on Linux, but on almost all Unix and Unix-derived platforms as well.

FrobTADS also runs on BeOS.

Author's Kit for MS-DOS (djgpp). This is a complete TADS 3 author/player kit for MS-DOS. This version uses the "djgpp" 32-bit DOS extender (included in the package), so a 386 or later processor (486, Pentium, etc) is required. You don't need Windows to run this - just plain old MS-DOS. [April 10, 2008]

Adv3 adventure game library. The library is included in the Author's Kits, so you don't need to download this separately unless it's dated more recently than the latest Author's Kit (above). Note that you should always make sure you have the latest Author's Kit if you download a new version of this library. [April 10, 2008]

System and run-time library header files. This is a collection of header files defining system interfaces. This is included in the Author's Kit and source distributions. [April 10, 2008]

Porting kit (system source files). This is the generic C++ source code for the TADS 3 compiler, interpreter, and other tools, for porting the system to other platforms. The package includes test scripts, system headers, and documentation files. Important: You'll need the latest version of TADS 2 for your platform in order to compile this - see the TADS 2 Patch page for a download link. [April 10, 2008]

Documentation. This is the full documentation package, including Getting Started in TADS 3, Learning TADS 3, the TADS 3 Tour Guide, the System Manual, the Technical Manual, and the Library Reference Manual. [April 10, 2008]

Older Unix packages

The following packages are still available for Unix, but these are somewhat out of date. We recommend using the FrobTADS version above, which is fully up-to-date.

Author's Kit for Linux. This kit has everything you need to write and play TADS 2 and 3 games on Intel x86-based Linux systems. This distribution is a pre-built Linux binary with an automatic installer script, so it's quick and easy to set up. [March 7, 2005, based on the September 12, 2004 generic source distribution]

Author's Kit for Unix. This is the complete TADS 2 and 3 authoring kit for most other Unix and Unix-type systems. This distribution is in source-code form, so it works on a wide range of hardware and Unix variants. See also the FrobTADS page. [June 2, 2005, based on the September 2004 generic source distribution, plus Dan Shiovitz's terminal I/O path of 5/17/2005]


More documentation, examples, and other resources

On-line documentation. The downloadable documentation package (see above) is quite large, mostly because of the extensive cross-referencing in the Library Reference Manual. If you'd prefer not to download the documentation, you can view it here.

Errata for Learning TADS 3. This is Eric Eve's list of known errors in Learning TADS 3, along with corrections.

Return to Ditch Day is a game I wrote partly as an example for TADS 3 authors, but mostly as a game for its own sake. It's a medium-size game (reported playtime is about six to twelve hours); it's a bit of a puzzle-fest, but it's a story-oriented puzzle-fest. The complete source code is available on the IF Archive, so if you play the game and wonder how a particular bit works, you can go straight to the code and find out.

Eric Eve's TADS 3 page. Eric is the author of much of the official TADS 3 documentation, and his site has even more resources. Offerings include a collection of sample games, translations of some well-known Inform examples, and pointers to Eric's own games.

Path finder (Dijkstra's Algorithm) - included in the lib/extensions folder in the Adv3 distribution and Author's Kits. This module implements Dijkstra's Algorithm, a well-known path-finding algorithm. The implementation here is abstracted so that it can be used with any sort of "graph" data structure, but the module also includes a ready-to-use subclass for the most obvious IF application: finding the best path from one location to another in a game's map of rooms. I used this in Return to Ditch Day to implement the campus map (an object found within the game that can be consulted for step-by-step directions to any building on campus).

Subjective-time clock - included in the lib/extensions folder in the Adv3 distribution and Author's Kits. Implementing a plausible form of wall-clock time in IF has always been notoriously difficult. This module follows the modern approach of linking the passage of story time to the occurrence of key plot points, but tries to build on this "narrative time" approach by also allowing for in-game timepieces that show an exact "objective" time. I used this in Return to Ditch Day, and it seems to produce a pretty good effect.

Template Quick Reference. Eric Eve created this quick-reference guide to the object "templates" defined in the library. Templates are a short-hand notation for defining object properties that save you the trouble of typing the names of the most commonly-used properties. Templates can save you a lot of typing while you're creating a game, but you have to know where to look up the definitions to know what they mean. This quick reference can help a lot. (PDF)

Library Reference generator program. This is the source code for the program that we use to generate the Library Reference Manual from the Adv3 library sources. Edward Stauff originally wrote this program and was kind enough to contribute it. We offer it for download for anyone who wants to customize the way it generates the library, or for use in generating documentation for their own libraries. Please note that this is UNSUPPORTED - we might be able to answer questions about it as time permits, but we probably won't be able to offer help fixing bugs or making customizations. This program is written in C# (with an optional C++ component), so to build it you need the Microsoft C# compiler, and Windows is probably the only option for that. [April 10, 2008]

Technical Manual Wish List. The Technical Manual is designed to be a work in progress, with new articles added over time as users find things they'd like to know more about. This page has a "wish list" of topics for future editions.

TADS IFID Generator. Every TADS game should have its own "IFID" - an Interactive Fiction Identifier, which gives archivists and players a way of uniquely identifying your game. It's the same idea as the ISBN for a book. This page is an on-line application that will generate a new IFID for you. You can use it to create an IFID when you start a new game project.


Reporting Bugs

To report a bug, please use the TADS Bug Database. See our tips on reporting bugs for more information.


A note for TADS 2 users

If you've used TADS 2, we want you to know that TADS 3 is an entirely new system, built from the ground up. Unlike past upgrades on the TADS 2 branch, this version is not compatible with TADS 2 source code, so you can't easily move your existing TADS 2 games to the new version. If you currently have a TADS 2 project under way, we recommend that you stick with TADS 2 for that project. The time to move to TADS 3 is when you're ready to start a new project.

An overview of new TADS 3 features that weren't in TADS 2 can be found here. You'll find that TADS 3 eliminates many of TADS 2's limits and adds a great deal of new power and functionality. Of course, this means that there'll be new things to learn, but we think you'll find that your knowledge from TADS 2 will help you get started fairly quickly with the new version.


Technical information on the T3 Virtual Machine

The T3 VM's internals are documented in detail in the TADS 3 Technical Manual, available as part of the documentation package.