Text Adventure Development System ( TADS ) es un lenguaje de programación específico de dominio basado en prototipos y un conjunto de bibliotecas estándar para crear juegos de ficción interactiva (FI).
El TADS 1 original fue lanzado por High Energy Software como shareware en 1988, y fue seguido por TADS 2 poco después. Desde finales de los años 1980 hasta principios de los años 1990, herramientas de desarrollo gratuitas como TADS e Inform permitieron a las comunidades de aficionados crear ficción interactiva . [1] A mediados de los años 1990, TADS era una herramienta de desarrollo de primer nivel para la ficción interactiva. [2] En ese momento, era una herramienta más mejorada para el análisis y la construcción de mundos que los sistemas existentes como AGT ( Adventure Game Toolkit ). [3]
La sintaxis de TADS 2 está basada en C , con fragmentos de Pascal . TADS 2 ha sido mantenido y actualizado a intervalos regulares por su creador, Michael J. Roberts, incluso después de que se convirtiera en freeware en julio de 1996. Graham Nelson, creador de Inform, describe a Inform y TADS como los "únicos dos sistemas... ampliamente utilizados" en la segunda mitad de la década de 1990, [4] y TADS ha sido llamado "el segundo lenguaje de programación IF más utilizado en la actualidad". [5] Multimedia TADS, introducido en 1998, permite a los juegos mostrar gráficos, animación y reproducir sonidos, si la plataforma lo admite.
En 2006, TADS recibió una importante revisión con el lanzamiento de TADS 3, que es una reescritura completa del motor TADS, que solo conserva el código dependiente de la plataforma para facilitar la portabilidad . TADS 3 utiliza un lenguaje con una sintaxis que se asemeja a C++ y Java . Tiene muchas características nuevas, como objetos dinámicos eficientes (con recolección automática de basura ), excepciones estructuradas, cadenas UTF-8 nativas y muchas clases de funciones útiles.
El compilador e intérprete de TADS 3 se han adaptado a las plataformas DOS , Macintosh y Unix . Se han publicado varios juegos de TADS 3.
Los juegos escritos en TADS se compilan en un formato independiente de la plataforma que se puede jugar en cualquier computadora para la que exista una máquina virtual (VM) adecuada. Dichas máquinas virtuales existen para varias plataformas y, en este sentido, TADS sigue de cerca el ejemplo de la máquina Z original de Infocom , así como de lenguajes modernos como Java y C# .
Mientras que las máquinas virtuales TADS 1 y 2 tenían que analizar los comandos introducidos por el jugador antes de enviar los resultados al juego, TADS 3 emplea una máquina virtual de propósito más general, donde el análisis de comandos lo realiza el propio código del juego, de forma similar a Inform. La razón de esto es que es más fácil personalizar el analizador. [6]