Система разработки текстовых приключений ( TADS ) — это основанный на прототипах предметно-ориентированный язык программирования и набор стандартных библиотек для создания интерактивных фантастических игр (IF).
Оригинальный TADS 1 был выпущен High Energy Software как условно-бесплатное программное обеспечение в 1988 году, а вскоре за ним последовал TADS 2. С конца 1980-х до начала 1990-х годов бесплатные инструменты разработки, такие как TADS и Inform, позволили сообществам любителей создавать интерактивную фантастику . [1] В середине 1990-х годов TADS был ведущим инструментом разработки для интерактивной фантастики. [2] В то время это был более совершенный инструмент для анализа и построения мира, чем существующие системы, такие как AGT ( Adventure Game Toolkit ). [3]
Синтаксис TADS 2 основан на C с элементами Pascal . TADS 2 регулярно поддерживался и обновлялся его создателем Майклом Дж. Робертсом даже после того, как он стал бесплатным в июле 1996 года. Грэм Нельсон, создатель Inform, описывает Inform и TADS как «единственные две системы... широко используемые» во второй половине 1990-х годов [4] , а TADS называют «вторым наиболее часто используемым языком программирования IF сегодня». [5] Мультимедиа TADS, представленный в 1998 году, позволяет играм отображать графику, анимацию и воспроизводить звуки, если платформа поддерживает это.
В 2006 году TADS подвергся серьезной переработке с выпуском TADS 3, который представляет собой полную переработку движка TADS, сохранив только платформенно-зависимый код для облегчения портирования . TADS 3 использует язык с синтаксисом, напоминающим C++ и Java . Он имеет много новых функций, таких как эффективные динамические объекты (с автоматической сборкой мусора ), структурированные исключения , собственные строки UTF-8 и множество полезных классов функций.
Компилятор и интерпретатор TADS 3 были портированы на платформы DOS , Macintosh и Unix . Было выпущено несколько игр TADS 3.
Игры, написанные в TADS, компилируются в платформенно-независимый формат, в который можно играть на любом компьютере, для которого существует подходящая виртуальная машина (VM). Такие виртуальные машины существуют для нескольких платформ, и в этом отношении TADS тесно следует примеру оригинальной Infocom Z-machine , а также современных языков, таких как Java и C# .
В то время как виртуальные машины TADS 1 и 2 должны были анализировать команды, введенные игроком, перед отправкой результатов в игру, TADS 3 использует более универсальную виртуальную машину, где анализ команд выполняется самим игровым кодом, подобно Inform. Обоснованием этого является то, что проще настраивать анализатор. [6]