TADS 3 is a system for writing parser-based Interactive Fiction (aka Text-Based Adventure Games). The official site for TADS 3, which explains this in more detail and from which it can be downloaded, is tads.org. There are a number of other sites on the web providing help and information on TADS 3; these are being collated at https://tads.dev/. The best forum for discussing all matters relating to TADS can be found on Intfiction.
Although the adv3 library that comes with TADS 3 is great for writing IF, some people find it a bit overwhelmingly complex (well, it is very complex). Some time ago Mike Roberts announced plans for a simpler alternative library (note, not a replacement!), to be called Mercury.
Last year Mike released the source-code for the partially-complete Mercury library (mainly the parser and a few bits and pieces for the parser to work on). One of his reasons for releasing it was to allow other people to use it as a basis for their own projects. It so happened that I had been tinkering around with a possible alternative library, but my attempts lacked a decent parser, so I've now spent some time marrying up the Mercury code with what I had been doing previously and then doing a bit more work on it to make it usable. The idea is to produce a simplified version of the TADS 3 library, which I'm calling adv3Lite, which takes advantage of the neat features Mike has put into the embryonic Mercury library, is reasonably similar to the adv3 Library in the way things are done without be a slavish copy, and incorporates some of the features I've previously put into extensions or come up with in the course of creating the adv3Library. The intention is that the final result should be a bit easier to use than the adv3 library while retaining enough features to be useful for writing TADS 3 games that don't need all the adv3 features.
Examples of the features adv3Lite is leaving out include postures, room-parts, real-time processing, the transcript, and most of the complex sense-passing stuff. Additional features it adds include Inform-7-like scenes and regions and built-in pathfinding. Overall it aims to have a significantly simplified class hierarchy.
More information on adv3Lite can be found on this site and on the adv3Lite wiki on GitHub.
The sheer scope and scale of the TADS 3 library can seem a bit overwhelming at first. One way to help make it a bit more manageable is to summarise some of the essential information in Quick Reference charts. A collection of three such charts (in PDF format, designed for printing out) may be downloaded from here in a single zip file. The three Quick Reference charts included in this zip are a Dynamic Actors Quick Reference (for creating NPCs), a Templates Quick Reference, and an Action Messages Quick Reference to help you find the message properties you need to override to customise responses quickly and easily.
The exercises in Learning TADS 3 refer to a set of sample games. This is a collection of ten small sample games designed to illustrate various aspects of TADS 3. See Examples.
The complete collection can also be downloaded from here. In this collection, files with names like Exercise nn.t are the adv3Lite versions, while the rest are the adv3 versions and Exercises.htm provides a convenient index to them all.
Game authors already familiar with Inform 6 and interested in
learning something about TADS 3 might like to check out the TADS 3 versions of
the William Tell and Captain Fate games from the Inform Beginner's Guide,
which include substantial commmenting to explain the differences between the
two languages. A zip file containing the TADS 3 source for both games may
be downloaded from
here (last updated 07-Sep-05)
Having studied those, you may also like to look at the source code of my TADS 3
port of the Ruins game from the Inform Designer's Manual
(updated 21-Aug-06).
As well as producing some of the TADS 3 documentation mentioned above, I've also written a number of games both in TADS 3 and Inform. Information about them can be found here
© 2004-2024 - Eric Eve