TADS: Difference between revisions

From Wikipedia, the free encyclopedia
Content deleted Content added
Citation bot (talk | contribs)
Alter: url, chapter-url. URLs might have been anonymized. | Use this bot. Report bugs. | Suggested by AManWithNoPlan | #UCB_CommandLine
 
(36 intermediate revisions by 30 users not shown)
Line 1: Line 1:
{{Short description|Programming language and IDE for interactive fiction}}
{{Infobox Software
{{for|the military aircraft targeting system|Target Acquisition and Designation System, Pilot Night Vision System}}
| name = TADS
{{more citations needed|date=July 2015}}
| logo =
{{Infobox programming language
| screenshot =
| name = TADS
| caption =
| logo =
| author = Michael J. Roberts
| caption =
| developer = Michael J. Roberts
| file ext =
| released =
| paradigm = [[prototype-oriented programming|prototype-based]], [[domain-specific language|domain-specific]]
| latest release version = 3.0.18.1
| latest release date = {{release date|2009|05|05}}
| released = {{start date and age|1988}}
| designer = Michael J. Roberts
| operating system = [[Microsoft Windows]], [[Mac OS X]], [[Linux]], [[Unix]], others
| developer = Michael J. Roberts
| platform =
| latest release version = Version 3.1.3
| language = English
| latest release date = {{start date and age|2013|5|16}}
| status =
| typing = [[Strong typing]], [[type inference]]
| genre = [[Interactive fiction]] development and play
| programming language =
| license = TADS 2 freeware source code license
| platform =
| website = http://www.tads.org
| operating system = [[Amiga]], [[BeOS]], [[DOS]], [[Microsoft Windows]], [[Unix]] ([[Linux]], [[Mac OS X]]), others
| license = TADS 2 [[Freeware]] source code{{clarify|date=July 2015}}
| website = {{URL|www.tads.org}}
}}
}}


'''Text Adventure Development System''' ('''TADS''') is a [[prototype-based programming|prototype-based]] [[domain-specific language|domain-specific]] [[programming language]] and set of [[standard library|standard libraries]] for creating [[interactive fiction]] (IF) games.
{{for|the military aircraft targeting system|Target Acquisition and Designation System, Pilot Night Vision System}}

'''TADS''' is a programming system for creating [[interactive fiction]] games. The name is an [[acronym]] for "Text Adventure Development System".


==History==
==History==
The original TADS 1 was released by [[High Energy Software]] as [[shareware]] in 1988, and was followed by TADS 2 not long after. From the late 1980s to early 1990s, free development tools such as TADS and [[Inform]] enabled amateur communities to create [[interactive fiction]].<ref>{{cite book |title=Interactive Digital Narrative |date=2015 |publisher=Routledge |isbn=978-1-138-78239-6 |page=23 |url=https://books.google.com/books?id=3ZsGCAAAQBAJ&pg=PA23 |access-date=25 April 2020}}</ref> In the mid-1990s, TADS was a top development tool for interactive fiction.<ref>{{cite book |last1=Montfort |first1=Nick |title=Twisty Little Passages: An Approach to Interactive Fiction |date=2005 |publisher=MIT Press |isbn=978-0-262-63318-5 |page=201 |url=https://books.google.com/books?id=XiJFORKEm0oC&dq=TADS&pg=PA201 |access-date=25 April 2020 |language=en}}</ref> At the time, it was a more improved tool for [[Text parser|parsing]] and world building than existing systems like AGT ([[Adventure Game Toolkit]]).<ref>{{cite book |last1=Short |first1=Emily |author-link1=Emily Short |editor1-last=Ryan |editor1-first=Marie-Laure |editor2-last=Emerson |editor2-first=Lori |editor3-last=Robertson |editor3-first=Benjamin J. |title=The Johns Hopkins Guide to Digital Media |date=2014 |publisher=JHU Press |isbn=978-1-4214-1223-8 |page=290 |chapter-url=https://books.google.com/books?id=qC0_AwAAQBAJ&dq=TADS%201990%20interactive%20fiction%20AGT&pg=PT304 |access-date=27 April 2020 |language=en |chapter=Interactive Fiction}}</ref>
The original TADS 1 was released by [[High Energy Software]] as [[shareware]] 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]], in place of simpler systems like AGT ([[Adventure Game Toolkit]]).{{Fact|date=November 2008}} In the late 1990s, it was joined by [[Inform]] as the most popular interactive fiction development language.


TADS 2 syntax is based on [[C (programming language)|C]], with bits of [[Pascal (programming language)|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<ref name="DM4">{{cite web
TADS 2 syntax is based on [[C (programming language)|C]], with bits of [[Pascal (programming language)|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,<ref name="DM4">{{cite web
| url = http://www.inform-fiction.org/manual/html/s46.html#p369
| url = http://www.inform-fiction.org/manual/html/s46.html#p369
| title = DM4 §46: A short history of interactive fiction
| title = DM4 §46: A short history of interactive fiction
| accessdate = 2007-09-03
| access-date = 2007-09-03
| year = 2001
|date=July 2001

| month = 07
| last = Nelson
| last = Nelson
| first = Graham
| first = Graham
| work = The Inform Designer's Manual
| work = The Inform Designer's Manual

}}
}}
</ref> and TADS has been called "The second most commonly used IF programming language today".<ref name="Maher">{{cite web

</ref>, and TADS has been called "The second most commonly used IF programming language today"<ref name="Maher">{{cite web
| url = http://maher.filfre.net/if-book/if-8.htm
| url = http://maher.filfre.net/if-book/if-8.htm
| title = Chapter 8: The Growth of Hobbyist IF
| title = Chapter 8: The Growth of Hobbyist IF
| accessdate = 2010-09-17
| access-date = 2010-09-17
| year = 2006
| year = 2006
| last = Maher
| last = Maher
| first = Jimmy
| first = Jimmy
| work = Let's Tell a Story Together (A History of Interactive Fiction)
| work = Let's Tell a Story Together (A History of Interactive Fiction)
}}</ref> 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]]. TADS 3 uses a language with a syntax that resembles [[C++]] and [[Java (programming language)|Java]]. It has many new features, such as efficient dynamic objects (with automatic [[garbage collection (computer science)|garbage collection]]), structured [[exception handling|exceptions]], native [[UTF-8]] strings, and many useful function classes.
}}


The TADS 3 [[compiler]] and [[interpreter (computing)|interpreter]] have been ported to the [[DOS]], [[Mac (computer)|Macintosh]] and [[Unix]] [[platform (computing)|platforms]]. Several TADS 3 games have been released.
</ref>. 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]]. TADS 3 uses a language with a syntax that resembles [[C++]] and [[Java (programming language)|Java]].
TADS 3 has many new features, such as efficient dynamic objects (with [[garbage collection (computer science)|automatic garbage collection]]), structured [[Exception handling|exceptions]], native [[UTF-8]] strings, and many useful function classes.

The TADS 3 [[compiler]] and [[interpreter (computing)|interpreter]] have been ported to the [[Unix]], [[Apple Macintosh|Macintosh]] and [[DOS]] [[platform (computing)|platforms]]. Several TADS 3 games have been released.


==TADS games==
==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]] (VM) exists. Such virtual machines exist for several platforms, and in this respect, TADS closely follows the example of the original [[Infocom]] [[Z-machine]], as well as modern languages such as [[Java (programming language)|Java]] and [[C Sharp (programming language)|C#]].
Games written in TADS are compiled to a platform-independent format that can be played on any computer for which a suitable [[virtual machine]] (VM) exists. Such virtual machines exist for several platforms, and in this respect, TADS closely follows the example of the original [[Infocom]] [[Z-machine]], as well as modern languages such as [[Java (programming language)|Java]] and [[C Sharp (programming language)|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.{{Fact|date=November 2008}}
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.<ref>{{cite web|last=Roberts|first=Michael J|title=Differences between TADS 2 and 3|url=http://www.tads.org/t3_feat.htm|work=TADS Website|publisher=Michael J Roberts|access-date=2012-01-05}}</ref>


===Notable games developed in TADS 2===
===Notable games developed in TADS 2===
* ''[[Uncle Zebulon's Will]]'', by [[Magnus Olsson (programmer)|Magnus Olsson]] (1995). It won the TADS category at the inaugural 1995 [[Interactive Fiction Competition]] and was included on [[Activision]]'s 1996 commercial release of ''[[Classic Text Adventure Masterpieces of Infocom]]''.
* ''[[Uncle Zebulon's Will]]'', by Magnus Olsson (1995). It won the TADS category at the inaugural 1995 [[Interactive Fiction Competition]] and was included on [[Activision]]'s 1996 commercial release of ''[[Classic Text Adventure Masterpieces of Infocom]]''.

* ''The Frenetic Five vs. Sturm und Drang'', the first game in the "[[Frenetic Five]]" series by [[Neil deMause]] (1997). The game won a [[XYZZY Award for Best NPCs]] that year.
* ''The Frenetic Five vs. Sturm und Drang'', the first game in the "[[Frenetic Five]]" series by [[Neil deMause]] (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.<ref>{{Cite book|last=Montfort|first=Nick|url=http://www.digitalhumanities.org/companionDLS/|title=A Companion to Digital Literary Studies|publisher=Blackwell|year=2008|editor-last=Schreibman|editor-first=Susan|location=Oxford|chapter=Riddle Machines: The History and Nature of Interactive Fiction|editor-last2=Siemens|editor-first2=Ray}}</ref>

* ''[[Kaged]]'' by Ian Finley (2000). Winner of the 2000 annual [[Interactive Fiction Competition]].
* ''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.{{Fact|date=November 2008}}

* ''[[Kaged]]'' by [[Ian Finley]] (2000). Winner of the 2000 annual [[Interactive Fiction Competition]].

* ''[[1893: A World's Fair Mystery]]'' 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<ref name="NYT">{{cite web
* ''[[1893: A World's Fair Mystery]]'' 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<ref name="NYT">{{cite web
| url = http://www.nytimes.com/2005/01/30/business/yourmoney/30goods.html?ex=1264827600&en=49db8c4b16ce38ac&ei=5088
| url = https://www.nytimes.com/2005/01/30/business/yourmoney/30goods.html?ex=1264827600&en=49db8c4b16ce38ac&ei=5088
| title = A Game With A Low Body Count
| title = A Game With A Low Body Count
| accessdate = 2007-09-03
| access-date = 2007-09-03
| date = 2005-01-30
| date = 2005-01-30
| author = Brendan I. Koerner
| author = Brendan I. Koerner
| work = New York Times
| work = New York Times

}}
}}
</ref> and the Associated Press.<ref name="AP">{{cite web

</ref> and the Associated Press<ref name="AP">{{cite web
| url = http://www.columbiachronicle.com/back/2003_spring/2003-04-07/arts5.html
| url = http://www.columbiachronicle.com/back/2003_spring/2003-04-07/arts5.html
| archive-url = https://archive.today/20130102123755/http://www.columbiachronicle.com/back/2003_spring/2003-04-07/arts5.html
| title = ‘1893’ has history, mystery
| url-status = dead
| accessdate = 2007-09-03
| archive-date = 2013-01-02
| title = '1893' has history, mystery
| access-date = 2007-09-03
| date = 2003-04-07
| date = 2003-04-07
| author = Nick Wadhams
| author = Nick Wadhams
| work = Columbia Chronicle Online
| work = Columbia Chronicle Online
}}</ref> It also won the 2002 [[XYZZY Award for Best Setting]].

}}

</ref>. It also won the 2002 [[XYZZY Award for Best Setting]].


===Notable games developed in TADS 3===
===Notable games developed in TADS 3===
* ''Max Blaster and Doris de Lightning Against the Parrot Creatures of Venus'' by [[Dan Shiovitz]] and [[Emily Short]] (2003). Winner of the 2003 [[Spring Thing]]; a somewhat unusual example of multiple [[player character|player characters (or PCs)]].{{Fact|date=November 2008}}
* ''Max Blaster and Doris de Lightning Against the Parrot Creatures of Venus'' by [[Dan Shiovitz]] and [[Emily Short]] (2003). Winner of the 2003 [[Spring Thing]]; a somewhat unusual example of multiple [[player character|player characters (or PCs)]].{{Citation needed|date=November 2008}}
* ''[[The Elysium Enigma]]'' by [[Eric Eve]] (2006). Eve was awarded [[XYZZY Award for Best Game]], [[XYZZY Award for Best Individual NPC]], and took third place in the 2006 annual [[Interactive Fiction Competition]].

* ''[[The Elysium Enigma]]'' by [[Eric Eve]] (2006). Eve was awarded [[XYZZY Award for Best Game|XYZZY Awards for Best Game]] and [[XYZZY Award for Best Individual NPC|Best Individual NPC]], as well as taking third place in the 2006 annual [[Interactive Fiction Competition]].


==See also==
==See also==
* [[Interactive fiction#Development systems|Interactive fiction: development systems]] lists software similar to TADS
* [[Interactive fiction#Development systems]], lists software similar to TADS
* [[Inform]] The other leading IF development system
* [[Hugo (programming language)|Hugo]] The Hugo development system


==References==
==References==
{{reflist|2}}
{{reflist|30em}}


==External links==
==External links==
* [http://www.tads.org/ Official TADS web site]
* {{Official website}}
* [http://teladesign.com/tads/ The TADS page]
* [https://archive.today/20130105023649/http://teladesign.com/tads/ The TADS page]
* [http://wurb.com/if/platform/2 TADS 2] and [http://wurb.com/if/platform/39 TADS 3] games on Baf's Guide
* [http://wurb.com/if/platform/2 TADS 2] and [http://wurb.com/if/platform/39 TADS 3] games on Baf's Guide
* [http://www.firthworks.com/roger/cloak/tads/index.html Cloak of Darkness: TADS] presents a short game implemented in TADS, as well as other languages for comparison.
* [http://www.firthworks.com/roger/cloak/tads/index.html Cloak of Darkness: TADS] presents a short game implemented in TADS, as well as other languages for comparison.
* [http://lists.v-space.org/listinfo/tads3/ The TADS 3 mailing list]
* [https://web.archive.org/web/20100130065238/http://lists.v-space.org/listinfo/tads3/ The TADS 3 mailing list]
;Interpreters
;Interpreters
* [http://mirror.ifarchive.org/if-archive/programming/tads2/executables/ TADS 2 interpreters for several platforms]
* [http://mirror.ifarchive.org/if-archive/programming/tads2/executables/ TADS 2 interpreters for several platforms]
* [http://inky.org/if/jetty/index.html Jetty] - Java Applet Interpreter for TADS 2 games
* [http://inky.org/if/jetty/ Jetty] - Java Applet Interpreter for TADS 2 games
* [http://www.tads.org/tads3.htm TADS 3 interpreters for DOS, Windows, and source for Unix]
* [http://www.tads.org/tads3.htm TADS 3 interpreters for DOS, Windows, and source for Unix]
* [http://www.hypertads.org/ HyperTADS], a Mac OS multimedia interpreter for TADS 2 and 3
* [http://www.teladesign.com/hypertads/ HyperTADS]{{dead link|date=September 2015}}, a Mac OS multimedia interpreter for TADS 2 and 3


{{DEFAULTSORT:Tads}}
[[Category:Interactive fiction]]
[[Category:1988 software]]
[[Category:Domain-specific programming languages]]
[[Category:Domain-specific programming languages]]
[[Category:Freeware]]
[[Category:Freeware]]
[[Category:Interactive fiction]]
[[Category:Text adventure game engines]]
[[Category:Text adventure game engines]]
[[Category:Video game creation software]]
[[Category:Video game development software]]

[[ru:TADS]]
{{videogame-software-stub}}

Latest revision as of 22:21, 19 March 2023

TADS
Paradigmprototype-based, domain-specific
Designed byMichael J. Roberts
DeveloperMichael J. Roberts
First appeared1988; 36 years ago (1988)
Stable release
Version 3.1.3 / May 16, 2013; 11 years ago (2013-05-16)
Typing disciplineStrong typing, type inference
OSAmiga, BeOS, DOS, Microsoft Windows, Unix (Linux, Mac OS X), others
LicenseTADS 2 Freeware source code[clarification needed]
Websitewww.tads.org

Text Adventure Development System (TADS) is a prototype-based domain-specific programming language and set of standard libraries for creating interactive fiction (IF) games.

History[edit]

The original TADS 1 was released by High Energy Software as shareware in 1988, and was followed by TADS 2 not long after. From the late 1980s to early 1990s, free development tools such as TADS and Inform enabled amateur communities to create interactive fiction.[1] In the mid-1990s, TADS was a top development tool for interactive fiction.[2] At the time, it was a more improved tool for parsing and world building than existing systems like AGT (Adventure Game Toolkit).[3]

TADS 2 syntax is based on C, with bits of 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,[4] and TADS has been called "The second most commonly used IF programming language today".[5] 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. TADS 3 uses a language with a syntax that resembles C++ and Java. It has many new features, such as efficient dynamic objects (with automatic garbage collection), structured exceptions, native UTF-8 strings, and many useful function classes.

The TADS 3 compiler and interpreter have been ported to the DOS, Macintosh and Unix platforms. Several TADS 3 games have been released.

TADS games[edit]

Games written in TADS are compiled to a platform-independent format that can be played on any computer for which a suitable virtual machine (VM) exists. Such virtual machines exist for several platforms, and in this respect, TADS closely follows the example of the original Infocom Z-machine, as well as modern languages such as Java 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.[6]

Notable games developed in TADS 2[edit]

Notable games developed in TADS 3[edit]

See also[edit]

References[edit]

  1. ^ Interactive Digital Narrative. Routledge. 2015. p. 23. ISBN 978-1-138-78239-6. Retrieved 25 April 2020.
  2. ^ Montfort, Nick (2005). Twisty Little Passages: An Approach to Interactive Fiction. MIT Press. p. 201. ISBN 978-0-262-63318-5. Retrieved 25 April 2020.
  3. ^ Short, Emily (2014). "Interactive Fiction". In Ryan, Marie-Laure; Emerson, Lori; Robertson, Benjamin J. (eds.). The Johns Hopkins Guide to Digital Media. JHU Press. p. 290. ISBN 978-1-4214-1223-8. Retrieved 27 April 2020.
  4. ^ Nelson, Graham (July 2001). "DM4 §46: A short history of interactive fiction". The Inform Designer's Manual. Retrieved 2007-09-03.
  5. ^ Maher, Jimmy (2006). "Chapter 8: The Growth of Hobbyist IF". Let's Tell a Story Together (A History of Interactive Fiction). Retrieved 2010-09-17.
  6. ^ Roberts, Michael J. "Differences between TADS 2 and 3". TADS Website. Michael J Roberts. Retrieved 2012-01-05.
  7. ^ Montfort, Nick (2008). "Riddle Machines: The History and Nature of Interactive Fiction". In Schreibman, Susan; Siemens, Ray (eds.). A Companion to Digital Literary Studies. Oxford: Blackwell.
  8. ^ Brendan I. Koerner (2005-01-30). "A Game With A Low Body Count". New York Times. Retrieved 2007-09-03.
  9. ^ Nick Wadhams (2003-04-07). "'1893' has history, mystery". Columbia Chronicle Online. Archived from the original on 2013-01-02. Retrieved 2007-09-03.

External links[edit]

Interpreters