TADS

Материал из IFВики
Перейти к навигации Перейти к поиску

TADS (Text Adventure Development System) — freeware-платформа разработки парсерных текстовых игр. Существует русифицированная версия - RTADS. Безусловно, вторая по популярности (после Inform) ИЛ-платформа в мире.

Разработка и поддержка

TADS — профессиональная система для разработки ИЛ — создана Майклом Робертсом (Michael Roberts) в конце 1980-х годов. Он ее продолжает развивать и поддерживать до настоящего времени (при участии и поддержке множества энтузиастов).

Принципы технологии

Компилируемый язык программирования. TADS-компилятор обрабатывает исходные файлы (обычно имеющие расширение .T), и генерирует переносимый двоичный файл игры (расширение .GAM), для выполнения которого необходим TADS-интерпретатор.

Переносимость

Система TADS доступна на: Acorn RISC OS (только интерпретатор), AmigaDOS, Atari ST/TT/Falcon, DECStation, Linux, Macintosh, MS-DOS (есть также версия для GO32), NeXT, OS/2, SGI Iris/Indigo, SunOS & Sun 3, все версии Windows. Интерпретаторы TADS предъявляют несколько большие системные требования, чем Z-интерпретаторы, поэтому на очень маломощных системах (старые ПК, наладонники) могут не работать.

Основные возможности

TADS — объектно-ориентированный язык программирования, напоминающий гибрид между C и Паскалем. Обычная программа состоит в основном из описаний объектов (локаций, предметов, NPC); поддерживаются суперклассы и наследование (множественное). Стандартный парсер весьма развит (не уступает стандартному «инфокомовскому» уровню). Конечно, есть возможность переопределять и расширять набор глаголов и их синтаксис, а также переопределять библиотечные подпрограммы. TADS также поддерживает динамическое управление памятью и создание новых объектов при выполнении. Система располагает развитыми средствами ввода-вывода — в частности, можно работать с любыми внешними файлами. Предусмотрена даже возможность связывания с двоичной TADS-программой фрагментов кода, написанных на других языках (хотя то, что получится в результате, вряд ли будет переносимым). Есть возможность создавать “stand-alone game”, т.е. TADS-программу, связанную с интерпретатором в один исполняемый файл.

Весьма мощное дополнительное средство — TADS-отладчик (TDB), позволяющий просматривать и изменять любые данные программы, выполнять ее в пошаговом режиме, устанавливать контрольные точки и пр.

Ядро TADS технологии (стандартные суперклассы, глаголы, системные сообщения) реализовано в виде двух библиотечных файлов ("adv.t" и "std.t"), легко доступных для модификации. (Правда, по крайней мере, в TADS 2, средства для модификации работы парсера несколько менее наглядны и удобны в применении, чем в Inform). Также реализовано множество полезных расширений для стандартных библиотек, существуют даже полные альтернативы (WorldClass, Pianosa).

Относительно новое расширение технологии — HTML-TADS — позволяет лучше управлять выводимым текстом, путем включения в него тегов разметки (подмножество HTML). За счет этого можно управлять шрифтами, размерами, цветом и прочими стилевыми атрибутами текста; можно включать в текст гиперссылки и графику (JPEG, PNG, MNG – анимированный PNG), воспроизводить многие популярные аудиоформаты (MIDI, WAV, MP3, OGG). Программы, ориентированные на HTML-TADS, работают и в более старых TADS-интерпретаторах (хотя, конечно, без перечисленных «излишеств»). Сейчас HTML-TADS интерпретаторы доступны для Windows и MacOS X.

Новые версии системы (TADS 3) представляют собой существенный шаг вперед, прежде всего, в плане описания объектной модели игры. В ходе работы над TADS3, автор дорабатывает совместный для новой и старой версии интерпретатор, что означает дальнейшее улучшение мультимедийных возможностей и интерфейса. На Западе третья версия уже намного обогнала по популярности вторую, однако в России ситуация обратная – в связи с отсутствием (даже в проекте) локализации TADS 3.

Интернационализация и русская версия

Русская версия TADS 2 (RTADS) разрабатывается с лета 2002 г. Ведущий разработчик — Андрей Гранкин (GrAnd).

Русская локализация TADS 3 не планируется.

Ссылки

Официальная страница проекта TADS (англоязычная)

Официальная страница RTADS