Изменения

Перейти к навигации Перейти к поиску

TADS

1800 байт добавлено, 13:45, 24 февраля 2019
Нет описания правки
Впрочем, коммерческий успех, как издателей текстовых игр, так и разработчиков инструментов для их создания, в тот период уже был довольно умерен. По признанию [[Робертс, Майкл|Майкла Робертса]], TADS хоть и пользовался определённой популярностью, но объёмы продаж платных регистраций вряд ли выходили за пределы сотни копий в год. Правда, с учётом того, что в то время программное обеспечение продавалось и распространялось не через Интернет, а при помощи отправки конверта с дискетой средствами обычной почты в ответ на банковский перевод или получение банковского чека по всё той же почте, да и возможности по распространению информации о своём продукте у индивидуальных разработчиков были крайне ограничены из-за неразвитости коммуникационных каналов, такие объёмы продаж для нишевого проекта не столь уж незначительны, как это может казаться по современным меркам. Кроме того, для эквивалентного сравнения [[wikipedia:Покупательная способность|покупательной способности]] долларовых сумм конца 1980-х с долларовыми суммами конца 2010-х их необходимо, как минимум, удваивать для прямого учёта [[wikipedia:Инфляция|инфляции]]. Так или иначе, ещё несколько лет разработка TADS как коммерческого продукта продолжалась, и 17 ноября 1992 года [[High Energy Software]] выпустила TADS 2 с существенным набором доработок и усовершенствований.
 
В TADS 2 был реализован целый ряд доработок языка программирования, а также реализовано виртуальное кэширование объектов, что позволило создавать и запускать игры, объём которых больше объёма свободной оперативной памяти. Кроме того, появилась система откатов состояния игры (более сотни точек отката для типичной конфигурации), а также появились дополнительные возможности по оформлению интерфейса игры, в частности, настраиваемый вид строки состояния и возможность выделения текста. При всём этом, TADS 2 сохранил совместимость с TADS 1, лишь дополнив функциональность платформы и языка программирования.
Однако в 1990-е годы эпоха популярности текстовых игр всё же начинает заканчиваться, что проявляется в виде закрытия многих коммерческих издателей интерактивной литературы. Этот процесс начался ещё в 1989 году крупными сокращениями штата в [[Infocom]], а к второй половине 1990-х какую-либо коммерческую активность проявляли в основном владельцы прав на игры [[Infocom]], выпускавшие относительно успешные переиздания и графические игры под знакомыми текстовыми брендами. В этих условиях те, кто пытался делать бизнес на текстовых играх, сворачивают свою деятельность и уходят в другие сферы. Многие из них так больше и не отмечаются какой-либо активностью в данной области.
== Основные возможности ==
Специальный язык программирования TADS является классическим объектно-ориентированным, напоминающим в реализованным на базе языка [[C]]. По синтаксису TADS 2 напоминает некоторый гибрид [[C]] и [[Pascal]], а в TADS 3 гибрид [[Java]], [[C++]] и [[C Sharp|C#]]. Разработчик также имеет возможность с помощью специальных системных флагов изменить некоторые особенности синтаксиса, например, отключить чувствительность к регистру или активировать операторы, традиционные для [[C++]]. В языке TADS используется определение типа в период исполнения программы, поэтому разработчику нет необходимости заранее объявлять типы данных переменных, функций и свойств. Кроме того, в TADS используются типы данных высокого уровня (такие, как списки и строки), благодаря чему управление памятью осуществляется автоматически.
Обычная программа на TADS состоит в основном из описаний объектов ([[локация|локаций]], [[Объект|предметов]], [[NPC]]); поддерживаются суперклассы и наследование (множественное). Стандартный [[парсер]] весьма развит, не уступая стандартному «[[Infocom|инфокомовскому]]» уровню. Есть возможность переопределять и расширять набор «[[Глагол|глаголов]]» и их синтаксис, а также переопределять библиотечные подпрограммы. TADS также поддерживает динамическое управление памятью и создание новых объектов при выполнении, что является одним из фундаментальных отличий от основной альтернативы — [[Inform]], где динамическое управление памятью в принципе невозможно.
== Переносимость ==
Система TADS доступна на большом числе различных операционных систем: Acorn RISC OS (только интерпретатор), AmigaOS, Android, Atari ST/TT/Falcon, BeOS R5, DECStation, EPOC/Psion, iOS, Kindle (Touch, Paperwhite и Voyage), Linux, macOS/Macintosh, MorphOS, MS-DOS (в т.ч. для защищённого режима, а также версия для GO32), NeXT, OpenBSD, OS/2, PocketPC и PocketPC 2002 (процессоры ARM, MIPS и SH3), SGI Iris/Indigo, SunOS & Sun 3, Symbian Series 80, Unix, все версии Windows. Кроме того, существуют реализации [[Интерпретатор|интерпретатора]] TADS 2 на [[JavaJavaScript]] и только TADS 2 на [[JavaScriptJava]], а также серверная версия интерпретатора TADS 3 на [[PHP]] ([[wikipedia:LAMP|LAMP]]).
[[:Категория:Интерпретаторы TADS|Интерпретаторы TADS]] предъявляют несколько большие системные требования, чем [[:Категория:Интерпретаторы Z-машины|Z-интерпретаторы]], поэтому на очень маломощных системах (старые ПК, наладонники) могут не работать. Кроме того, для многих устаревших операционных систем существуют лишь относительно старые версии [[Интерпретатор|интерпретаторов]], поэтому они могут не поддерживать TADS 3 или некоторые относительно новые возможности TADS 2. Для современных операционных систем рекомендуемыми [[:Категория:Интерпретаторы TADS|интерпретаторами TADS]] являются [[HTML TADS]] (Windows), [[QTads]] (Windows, macOS, GNU/Linux), [[Fabularium]] (Android), [[ifrotz]] (iOS).

Навигация