TADS
Encyclopedia
Text Adventure Development System (TADS) is a prototype-based
Prototype-based programming
Prototype-based programming is a style of object-oriented programming in which classes are not present, and behavior reuse is performed via a process of cloning existing objects that serve as prototypes. This model can also be known as classless, prototype-oriented or instance-based programming...

 domain-specific programming language
Programming language
A programming language is an artificial language designed to communicate instructions to a machine, particularly a computer. Programming languages can be used to create programs that control the behavior of a machine and/or to express algorithms precisely....

 and set of standard libraries
Standard library
A standard library for a programming language is the library that is conventionally made available in every implementation of that language. In some cases, the library is described directly in the programming language specification; in other cases, the contents of the standard library are...

 for creating interactive fiction
Interactive fiction
Interactive fiction, often abbreviated IF, describes software simulating environments in which players use text commands to control characters and influence the environment. Works in this form can be understood as literary narratives and as video games. In common usage, the term refers to text...

 (IF) games.

History

The original TADS 1 was released by High Energy Software as shareware
Shareware
The term shareware is a proprietary software that is provided to users without payment on a trial basis and is often limited by any combination of functionality, availability, or convenience. Shareware is often offered as a download from an Internet website or as a compact disc included with a...

 in the late 1980s, and was followed by TADS 2 not long after. In the early 1990s, TADS established itself as the number one development tool for interactive fiction
Interactive fiction
Interactive fiction, often abbreviated IF, describes software simulating environments in which players use text commands to control characters and influence the environment. Works in this form can be understood as literary narratives and as video games. In common usage, the term refers to text...

, in place of simpler systems like AGT (Adventure Game Toolkit
Adventure Game Toolkit
The Adventure Game Toolkit is software that supports the development of adventure games. It was written in 1987 by David Malmberg. It was a revision on Mark J. Welch's GAGS , which was written in 1985. AGT was produced until 1992, after which time it was released as freeware...

). In the late 1990s, it was joined by Inform
Inform
Over the following decade, version 6 became reasonably stable and a popular language for writing interactive fiction. In 2006, Nelson released Inform 7 , a completely new language based on principles of natural language and a new set of tools based around a book-publishing metaphor.- Z-Machine and...

 as the most popular interactive fiction development language.

TADS 2 syntax is based on C
C (programming language)
C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating system....

, with bits of Pascal
Pascal (programming language)
Pascal is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.A derivative known as Object Pascal...

. TADS 2 has been maintained and updated at regular intervals by its creator, Michael J. Roberts, even after it became freeware in July 1996. Graham Nelson, creator of Inform, describes Inform and TADS as the "only two systems... widely used" in the last half of the 1990s, and TADS has been called "The second most commonly used IF programming language today". Multimedia TADS, introduced in 1998, allows games to display graphics, animation and play sounds, if the platform supports it.

In 2006, TADS received a major overhaul with the release of TADS 3, which is a complete rewrite of the TADS engine, only retaining the platform-dependent code to ease porting
Porting
In computer science, porting is the process of adapting software so that an executable program can be created for a computing environment that is different from the one for which it was originally designed...

. TADS 3 uses a language with a syntax that resembles C++
C++
C++ is a statically typed, free-form, multi-paradigm, compiled, general-purpose programming language. It is regarded as an intermediate-level language, as it comprises a combination of both high-level and low-level language features. It was developed by Bjarne Stroustrup starting in 1979 at Bell...

 and Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

. It has many new features, such as efficient dynamic objects (with automatic garbage collection
Garbage collection (computer science)
In computer science, garbage collection is a form of automatic memory management. The garbage collector, or just collector, attempts to reclaim garbage, or memory occupied by objects that are no longer in use by the program...

), structured exceptions
Exception handling
Exception handling is a programming language construct or computer hardware mechanism designed to handle the occurrence of exceptions, special conditions that change the normal flow of program execution....

, native UTF-8
UTF-8
UTF-8 is a multibyte character encoding for Unicode. Like UTF-16 and UTF-32, UTF-8 can represent every character in the Unicode character set. Unlike them, it is backward-compatible with ASCII and avoids the complications of endianness and byte order marks...

 strings, and many useful function classes.

The TADS 3 compiler
Compiler
A compiler is a computer program that transforms source code written in a programming language into another computer language...

 and interpreter
Interpreter (computing)
In computer science, an interpreter normally means a computer program that executes, i.e. performs, instructions written in a programming language...

 have been ported to the DOS
DOS
DOS, short for "Disk Operating System", is an acronym for several closely related operating systems that dominated the IBM PC compatible market between 1981 and 1995, or until about 2000 if one includes the partially DOS-based Microsoft Windows versions 95, 98, and Millennium Edition.Related...

, Macintosh
Macintosh
The Macintosh , or Mac, is a series of several lines of personal computers designed, developed, and marketed by Apple Inc. The first Macintosh was introduced by Apple's then-chairman Steve Jobs on January 24, 1984; it was the first commercially successful personal computer to feature a mouse and a...

 and Unix
Unix
Unix is a multitasking, multi-user computer operating system originally developed in 1969 by a group of AT&T employees at Bell Labs, including Ken Thompson, Dennis Ritchie, Brian Kernighan, Douglas McIlroy, and Joe Ossanna...

 platforms
Platform (computing)
A computing platform includes some sort of hardware architecture and a software framework , where the combination allows software, particularly application software, to run...

. Several TADS 3 games have been released.

TADS games

Games written in TADS are compiled to a platform-independent format that can be played on any computer for which a suitable virtual machine
Virtual machine
A virtual machine is a "completely isolated guest operating system installation within a normal host operating system". Modern virtual machines are implemented with either software emulation or hardware virtualization or both together.-VM Definitions:A virtual machine is a software...

 (VM) exists. Such virtual machines exist for several platforms, and in this respect, TADS closely follows the example of the original Infocom
Infocom
Infocom was a software company, based in Cambridge, Massachusetts, that produced numerous works of interactive fiction. They also produced one notable business application, a relational database called Cornerstone....

 Z-machine
Z-machine
The Z-machine is a virtual machine that was developed by Joel Berez and Marc Blank in 1979 and used by Infocom for its text adventure games. Infocom compiled game code to files containing Z-machine instructions , and could therefore port all its text adventures to a new platform simply by writing a...

, as well as modern languages such as Java
Java (programming language)
Java is a programming language originally developed by James Gosling at Sun Microsystems and released in 1995 as a core component of Sun Microsystems' Java platform. The language derives much of its syntax from C and C++ but has a simpler object model and fewer low-level facilities...

 and C#.

Whereas the TADS 1 and 2 VMs had to parse the commands entered by the player, before sending the results on to the game, TADS 3 employs a more general-purpose virtual machine, where the command-parsing is done by the game code itself, akin to Inform. The rationale for this is that it is easier to customize the parser.

Notable games developed in TADS 2

  • Uncle Zebulon's Will
    Uncle Zebulon's Will
    Uncle Zebulon's Will is a 1995 work of interactive fiction by Magnus Olsson, in which the player-character plays the nephew of a crackpot scientist, exploring his home and solving magic-based puzzles. It won the TADS category at the inaugural 1995 Interactive Fiction Competition...

    , by Magnus Olsson
    Magnus Olsson (programmer)
    Magnus Olsson is a Swedish computer programmer, well known in the interactive fiction community. He has written several IF games, including Uncle Zebulon's Will. From 1997 to 1999, Olsson edited the IF magazine SPAG.- References :* * *...

     (1995). It won the TADS category at the inaugural 1995 Interactive Fiction Competition
    Interactive Fiction Competition
    The Interactive Fiction Competition is one of the best known of several annual competitions for works of interactive fiction. It has been held since 1995. It is intended for fairly short games, as judges are only allowed to spend two hours playing a game before deciding how many points to award it...

     and was included on Activision
    Activision
    Activision is an American publisher, majority owned by French conglomerate Vivendi SA. Its current CEO is Robert Kotick. It was founded on October 1, 1979 and was the world's first independent developer and distributor of video games for gaming consoles...

    's 1996 commercial release of Classic Text Adventure Masterpieces of Infocom
    Classic Text Adventure Masterpieces of Infocom
    Classic Text Adventure Masterpieces of Infocom is a collection of 33 computer games from interactive fiction pioneer Infocom, and the top 6 winners of the 1995 Interactive Fiction Competition, released in 1996...

    .

  • The Frenetic Five vs. Sturm und Drang, the first game in the "Frenetic Five
    Frenetic Five
    The Frenetic Five is a series of three text adventures about a band of superheroes, all made with TADS version 2 and distributed as freeware. The series was created by Neil deMause for the Interactive Fiction Competition.-Games:...

    " series by Neil deMause
    Neil deMause
    Neil deMause is a Brooklyn-based freelance journalist. He has been a writer for Baseball Prospectus since 2003, contributing occasional articles about stadium building and baseball finance. He is co-author of the 1999 book Field of Schemes: How the Great Stadium Swindle Turns Public Money into...

     (1997). The game won a XYZZY Award for Best NPCs that year.

  • Worlds Apart by Suzanne Britton (1999). Winner of XYZZY Award for Best Story and finalist in seven other XYZZY Award categories in 1999, the game features a huge amount of detailed worldbuilding.

  • Kaged
    Kaged
    Kaged is a work of interactive fiction written by Ian Finley, set in a dystopian alternative world influenced by Nineteen Eighty-Four and Kafka. It won the 2000 annual Interactive Fiction Competition, and, at least through 2008, was the only game written in TADS to win the competition since the...

    by Ian Finley (2000). Winner of the 2000 annual Interactive Fiction Competition
    Interactive Fiction Competition
    The Interactive Fiction Competition is one of the best known of several annual competitions for works of interactive fiction. It has been held since 1995. It is intended for fairly short games, as judges are only allowed to spend two hours playing a game before deciding how many points to award it...

    .

  • 1893: A World's Fair Mystery
    1893: A World's Fair Mystery
    1893 is a commercial mystery and educational interactive fiction by Peter Nepstad written in the TADS programming language. It takes place during the Chicago World's Columbian Exposition of 1893. The exposition is recreated in detail, with archival photographs from the fair and in-depth...

    by Peter Nepstad (2002). The game is one of a handful to be released commercially in recent years, garnering attention from the New York Times and the Associated Press. It also won the 2002 XYZZY Award for Best Setting.

Notable games developed in TADS 3

  • Max Blaster and Doris de Lightning Against the Parrot Creatures of Venus by Dan Shiovitz and Emily Short
    Emily Short
    Emily Short is the pseudonym of an interactive fiction writer, perhaps best known for her debut game Galatea and her use of psychologically complex NPCs, or non-player game characters...

     (2003). Winner of the 2003 Spring Thing
    Spring Thing
    Spring Thing is an annual competition to highlight works of Interactive Fiction .Adam Cadre, author of several works of Interactive Fiction, including Photopia and Varicella, announced the Spring Thing in 2001, both to promote works that would be longer than those entered into the Interactive...

    ; a somewhat unusual example of multiple player characters (or PCs)
    Player character
    A player character or playable character is a character in a video game or role playing game who is controlled or controllable by a player, and is typically a protagonist of the story told in the course of the game. A player character is a persona of the player who controls it. Player characters...

    .

  • The Elysium Enigma by Eric Eve
    Eric Eve
    Eric Eve is an author, interactive fiction writer, and New Testament scholar at Harris Manchester College in Oxford. He is widely known in the interactive fiction community for his writings on TADS 3, including three tutorial/reference books and several articles for , a site that hosts articles...

     (2006). Eve was awarded XYZZY Award for Best Game
    XYZZY Award for Best Game
    This is a list of XYZZY Awards results, grouped by award rather than year. The XYZZY Awards are the annual awards given by the publication "XYZZYnews" to works of interactive fiction, serving a similar role to the Academy Awards for film...

    , XYZZY Award for Best Individual NPC, and took third place in the 2006 annual Interactive Fiction Competition
    Interactive Fiction Competition
    The Interactive Fiction Competition is one of the best known of several annual competitions for works of interactive fiction. It has been held since 1995. It is intended for fairly short games, as judges are only allowed to spend two hours playing a game before deciding how many points to award it...

    .

External links


Interpreters
The source of this article is wikipedia, the free encyclopedia.  The text of this article is licensed under the GFDL.
 
x
OK