# TADS

TADS (fast ausschließlich verwendete Abkürzung für Text Adventure Development System) ist eine objektorientierte Programmiersprache, in der Textadventures programmiert werden können.

## Übersicht

Im Kern besteht TADS aus der eigentlichen Programmiersprache, in der die Spiele geschrieben werden, aus einem Compiler, der den Quellcode in ein ausführbares Format übersetzt, und der Library, einer Sammlung von Programmroutinen, die Grundfunktionen der Programmiersprache bereitstellen. Für Programmierer gibt es eine optionale integrierte Entwicklungsumgebung. Für die Ausführung des Spiels wird ein plattformabhängiger Interpreter benötigt, wobei die Spiele seit der Version 3 der Programmiersprache auch in einem handelsüblichen Browser gespielt werden können.

### Programmiersprache

TADS ist eine objektorientierte Programmiersprache, die sich grob an C oder C++ orientiert. Wie C bzw. C++ arbeitet sie mit Klassen und Vererbung. Die Objekte, die man in der Programmiersprache erstellt, repräsentieren Objekte in der Spielwelt - Räume, NPCs und Gegenstände. Auch die Relation der Objekte zueinander und die Veränderungen der Spielwelt durch die Interaktion des Spielers werden durch die Programmiersprache beschrieben.

### Compiler

Der Compiler übersetzt den TADS-Quellcode des Spieleautors in ein maschinenlesbares Format (zum Beispiel eine Datei mit der Dateiendung .t3), die von einem Interpreter ausgeführt werden kann. Dadurch kann das Spiel, das auf einem Computer mit einem spezifischen Betriebssystemen programmiert wurde, auf Computern mit allen Betriebssystemen abgespielt werden, für die ein Interpreter existiert.

### Library

Für die Programmiersprache steht eine Standardbibliothek (Adv3) bereit, die zahlreiche Funktionen zur Verwaltung der Spielwelt enthält, die der Programmierer sonst für jedes Spiel neu erstellen müsste. Adv3 beinhaltet Funktionen zur Gestaltung der Spielwelt, zur Definition der Objekte der Spielwelt untereinander und zur Abarbeitung der Eingaben des Spielers. Große Teile des Parsers sind in der Standardbibliothek untergebracht. Das Library-Konzept bewirkt, dass Hobbyprogrammierer zuladbare Bibliotheken („modules“) für bestimmte Funktionalitäten programmieren und anderen Anwendern zur Verfügung stellen können. Durch dieses modulare Konzept konnten Hobbyprogrammierer die Programmiersprache auch für andere Sprachen als Englisch modifizieren; unter anderem gibt es eine deutsche Version. Mit Adv3lite existiert eine alternative Standardbibliothek, die einen geringeren Komplexitätsgrad aufweist und dadurch für Einsteiger leichter handhabbar sein soll.

### Integrierte Entwicklungsumgebung

Eine integrierte Entwicklungsumgebung (gebräuchliche englische Abkürzung: IDE) existiert für die Betriebssysteme Linux, Mac OS, MS-DOS und Windows. Sie bietet neben einem Texteditor für den Quellcode auch einen Compiler und einen Interpreter sowie zahlreiche Möglichkeiten, die Funktionalität des programmierten Spiels zu überwachen.

### Interpreter

Da Textadventures im Regelfall im Vergleich zu grafiklastigen Spielen wenig Speicherplatz benötigen und auch in Bezug auf die Prozessorleistung wenig Ansprüche stellen, können sie auch für veraltete, nach heutigen Maßstäben leistungsschwache Betriebssysteme umgesetzt werden. TADS-Interpreter, die die Spieldateien auf einem Computer lauffähig machen, existieren für folgende Computer oder Betriebssysteme:
* Acorn Archimedes (Betriebssystem RISC OS)
* Atari ST / Atari TT / Atari Falcon 030
* BeOS
* Commodore Amiga (Betriebssysteme AmigaOS und MorphOS)
* EPOC / Symbian
* Linux
* Mac OS X
* OS/2
* PocketPC
* MS-DOS / Windows
HTML TADS erweitert die Funktionen von TADS um die Auszeichnungssprache HTML, die die Formatierung der Ausgabe eines Spiels gestaltet. HTML wird primär für die Gestaltung von Websites eingesetzt; die Möglichkeiten, die der Gestalter dort mit HTML hat, sind mit HTML TADS analog auch für TADS-Spiele einsetzbar.

## Entwicklungsgeschichte
### TADS 1

Michael Roberts veröffentlichte 1987 unter dem Namen „High Energy Software“ eine erste Version von TADS als Shareware. High Energy Software war eine Mini-Firma, die Roberts gemeinsam mit Steve McAdam gegründet hatte und deren Geschäftszweck der Vertrieb von TADS war. Auch einige der frühen TADS-Spiele wurden von High Energy Software als Shareware vertrieben. Die Verbreitung erfolgte wie in der Frühzeit des Internets üblich über Mailboxen, in denen High Energy Software eine Demoversion des Programms kostenlos bereitstellte. Im gleichen Jahr wurde das Textadventure-Entwicklungssystem Adventure Game Toolkit (AGT) veröffentlicht und ebenfalls über Mailboxen verbreitet; langfristig setzte sich TADS durch.

### TADS 2

Im November 1992 erschien Version 2 der Programmiersprache. Mit der Einführung einer virtuellen Speicherverwaltung wurde die maximal mögliche Spielgröße deutlich angehoben, so dass Spiele erstellt werden konnten, die in ihrem Umfang deutlich über die kommerziellen Spiele des ehemaligen Branchenprimus Infocom hinausgingen. Die Spielgröße wurde nur noch durch das genutzte System begrenzt, nicht mehr durch Compiler-interne Restriktionen. Mit Version 2 setzte sich TADS gegenüber konkurrierenden Programmen als die dominante Programmiersprache durch. 1993 erschien das von Graham Nelson entwickelte Inform, ebenfalls eine Programmiersprache für Textadventures, die rasch an Popularität gewann. 1995 hatte Inform TADS als beliebteste Programmiersprache für Interactive Fiction (IF) abgelöst. Einer der Gründe dafür war die Tatsache, dass Inform gratis nutzbar war, während TADS als Shareware 40 US-Dollar kostete, Stand 2024 etwa 70 Euro. 1996 wandelte Roberts die TADS-Lizenz in eine Freeware-Lizenz um. TADS profitierte in jedem Fall von der Popularität von Inform, denn durch letzteres stieg das Interesse an Interactive Fiction allgemein, was auch TADS höhere Nutzerzahlen bescherte.

### TADS 3

Die virtuelle Maschine für TADS 3 wurde Ende 2001 fertiggestellt; die Veröffentlichung der Entwicklungsumgebung für diverse Systeme erfolgte Anfang 2002. Zunächst wurde zu Testzwecken eine Beta-Version bereitgestellt; die offizielle Veröffentlichung erfolgte 2006. Das letzte Update der Software erfolgte im Mai 2013.

### IFDB

Von 2007 bis 2021 war die TADS-Website (TADS.org) Heimat der von TADS-Autor Roberts gegründeten Interactive Fiction Database (IFDB), einer Datenbank für Interactive-Fiction-Spiele und -Rezensionen. 2021 wurde die Datenbank auf eine neu registrierte Domain des IF-Dachverbands Interactive Fiction Technology Foundation transferiert.

## Rezeption

Nick Montfort, Professor für Digitale Medien am Massachusetts Institute of Technology, bezeichnete TADS 2003 als „dasjenige unter den weitverbreiteten IF-Systemen mit der längsten Geschichte“ und als das führende Entwicklungssystem der frühen 1990er-Jahre. Schon mit Version 1 konnten laut Montfort Spiele in „Fast-Infocom-Qualität“ entwickelt werden. Graham Nelson, Entwickler der konkurrierenden Programmiersprache Inform, anerkannte TADS als eines von zwei Systemen, die zwischen 1995 und 1999 weite Verbreitung erfahren hätten. Nelson übernahm bei der Entwicklung von Inform diverse Konzepte von TADS, so die Modularisierung in Form von Bibliotheken. Der Ludohistoriker Jimmy Maher bezeichnete TADS 2006 als „erste moderne Programmiersprache für Interactive Fiction“ und mit Stand 2006 „zweitgebräuchlichste IF-Programmiersprache“. Eine mangelnde Zugänglichkeit für Nicht-Programmierer habe dazu geführt, dass die Programmiersprache viele Jahre gebraucht hätte, um populär zu werden. Für Rock-Paper-Shotgun-Autorin Emily Short bevorzugen TADS-Autoren die Programmiersprache wegen der Standardbibliothek, die ein sehr detailliertes Weltmodell und eine detailgenaue Implementierung von Sinnen und räumlichen Beziehungen von Objekten ermögliche und reichhaltige Funktionen für die Konversation mit NPCs biete.
TADS wird in der Literatur häufiger als eines der meistverbreitetsten Gestaltungswerkzeug für Digitale Literatur und Interactive Fiction erwähnt, so bei Aaron Reed, Roger Firth oder Hartmut Koenitz. Der Johns Hopkins Guide to Digital Media bezeichnet TADS zusammen mit ALAN und Inform als die drei Tools, die das Parsing und die Spielwelterstellung im Vergleich zu vorher erhältlichen Tools auf eine neue Ebene gehievt hätten. Zusammen mit dem Aufkommen des Internets habe dies zu einem Boom des Genres Interactive Fiction geführt. Durch die Implementation von HTML habe TADS die Transition von herunterzuladenden Spielen zu online erlebbaren Spielen ermöglicht. Während Inform die Programmierung mittels natürlicher Sprache ausgelotet habe, habe sich TADS auf sehr detaillierte Möglichkeiten der Spielweltmanipulation konzentriert. Sachbuchautor Aaron Reed stellte heraus, dass TADS für ein „explosionsartiges Aufkommen neuer Spiele“ gesorgt habe, die in ihrer Professionalität die früheren kommerziellen Spiele teils übertroffen hätten, und dass TADS über lange Zeit hinweg ein komplexeres Kommunikationssystem (für die Kommunikation zwischen Spieler und NPCs) als Inform geboten habe, bis Inform schließlich mit einer Erweiterung nachgezogen habe.

## Spiele

* 1893: A World’s Fair Mystery von Peter Nepstad
* Jay Schilling's Edge of Chaos von Robb Sherwin und Mike Sousa
* Thaumistry: In Charm’s Way von Bob Bates