Данный файл является частью Руководства по TADS для авторов игр.
Copyright © 1987 - 2014 Майкл Дж. Робертс (Michael J. Roberts). Все права защищены.
Руководство было преобразовано в формат HTML Н. К. Гайем (N. K. Guy), компания tela design.

Перевод руководства на русский язык - Валентин Коптельцев


Глава восьмая


Введение в Multimedia TADS

 

Что такое Multimedia TADS?

Multimedia TADS - это расширение стандартного интерпретатора TADS, дающее автору возможность использовать в оформлении игры разметку HTML.

По сути, Multimedia TADS представляет собой альтернативный пользовательский интерфейс, надстроенный над стандартным движком TADS. Мультимедийная игра в общем и целом пишется как обычно; единственным отличием является возможность использования разметки HTML для текста.

Часто для обозначения TADS с мультимедийными возможностями используют термин "HTML TADS", однако это, строго говоря, неверно. HTML TADS - это название мультимедийного интерпретатора для Windows.


В чем заключаются мультимедийные возможности TADS?

Основные мультимедийные средства оформления игры:


Какое программное обеспечение мне требуется?

Если у вас установлен набор TADS для автора игр (TADS Author's Kit) для Windows, то у вас есть все, чтобы создавать и запускать мультимедийные игры на TADS. В противном случае вам потребуются следующие программы:

Поскольку Multimedia TADS - это расширение стандартного TADS, то для создания мультимедийной игры вам потребуются те же базовые знания, которые нужны и для написания обычной игры. Эти знания можно почерпнуть в настоящем Руководстве. Краткая справка о том, как превратить существующую обычную игру в мультимедийную, приведена в конце главы Основы Multimedia TADS. Кроме того, вам может потребоваться учебная и справочная литература по языку разметки HTML, поскольку Multimedia TADS использует средства этого языка.


Совместимость мультимедийного и чисто текстового TADS

Повторимся еще раз, что Multimedia TADS является расширением стандартного TADS. Основы языка программирования совпадают для обеих версий - единственное отличие обеих систем заключается в интерпретации и отображении текста. Хотя Multimedia TADS использует сильно отличающиеся средства вывода на экран по сравнению со стандартной версией, обе версии, тем не менее, в значительной степени совместимы.

Проигрывание чисто текстовых игр на интерпретаторах с мультимедийными возможностями: Система Multimedia TADS полностью совместима с играми, написанными под стандартный TADS. Иными словами, на мультимедийных интерпретаторах чисто текстовые игры идут без всяких проблем.

Проигрывание мультимедийных игр на текстовых интерпретаторах: игры пойдут без проблем, однако мультимедийное содержание (HTML-форматирование текста, картинки и т. п.) отображаться не будет.


Какова дальнейшая судьба чисто текстовых интерпретаторов TADS?

Собственно, за достаточно долгий срок, прошедший со времени появления Multimedia TADS, их судьба вполне определилась. Чисто текстовый интерпретатор для командной строки по-прежнему входит в состав нативного дистрибутива TADS, однако дорабатывается только в связи с обнаруженными ошибками или для обеспечения совместимости с мультимедийным интерпретатором. Далее, за это время появилась третья версия TADS (которая пока не русифицировалась), развитию которой в настоящее время и посвящены основные усилия разработчика. Кроме того, чисто текстовые интерпретаторы сторонних разработчиков существуют для других операционных систем, а также входят в состав универсальных (кроссплатформенных) проигрывателей.


Почему HTML?

Одной из основных возможностей, о которой уже достаточно долго просили пишущие на TADS авторы, были более широкие средства форматирования вывода, в идеале - с поддержкой графики и звука. Добавить этот функционал можно было разными способами, но с появлением и повсеместным распространением языка HTML его использование напрашивалось.

HTML представляет собой так называемый "язык разметки текста" и стал очень популярен с появлением Интернета. Документы HTML представляют собой текстовые файлы со вставленной в них "разметкой" - специальными последовательностями символов, определяющими форматирование того или иного участка текста. Данный язык дорабатывался много лет с учетом пожеланий и опыта огромного числа пользователей; для него характерна высокая гибкость и богатый набор возможностей.

Благодаря этим преимуществам я и выбрал HTML в качестве языка форматирования текста для TADS. Мне не хотелось изобретать собственный язык разметки, поскольку, хотя HTML не лишен недостатков, сложно было бы создать язык, настолько превосходящий его, что это оправдало бы трудозатраты по его разработке (для меня) и изучению (для авторов игр).


Некоторые простые примеры

Вот несколько практических примеров применения разметки HTML в игре. Для начала рассмотрим, как вывести часть описания комнаты полужирным курсивом:

   myRoom: room
     // ...
     ldesc = "Из этого зала ведут двери во все стороны. У северной двери висит табличка с надписью, выполненной 
              <b><i>полужирным курсивом</b></i>. "
   ;

Пример вывода части текста красным курсивом чуть большего размера, чем основной шрифт ("+1" означает относительное увеличение высоты шрифта на 1 пункт):

   warningSign: item
     // ...
     ldesc = "<font color=red size='+1'><i>Внимание!!!</i></font> "
   ;

Горизонтальное центрирование текста:

   trespassSign: item
     // ..
     ldesc = "<center>
              <b>Внимание!</b>\b
              Нарушители\n
              будут скормлены\n
              дракону!\b
              </center> "
   ;

Некоторые часто используемые теги

Как уже говорилось ранее, по языку HTML существует столько литературы, что включать в данную документацию полное руководство по нему не имеет смысла. Тем не менее, чтобы помочь начинающим авторам, приводим некоторые распространенные теги:

<I> ... </I> - курсив.

<B> ... </B> - полужирный текст.

<U> ... </U> - текст с подчеркиванием.

<TT> ... </TT> - моноширинный шрифт, часто используется авторами для вывода колонок текста. (В HTML есть и другие средства форматирования текста в колонки - например, теги <TAB> и <TABLE>, обладающие при большей сложности и значительно более широкими функциональными возможностями, однако в простейших случаях бывает удобнее использовать именно моноширинный шрифт).

<CENTER> ... </CENTER> - горизонтальное центрирование текста.

<BLOCKQUOTE> ... </BLOCKQUOTE> - текст отображается с небольшими отступами слева и справа. Изначально тег предназначен для отображения длинных цитат, но часто бывает удобен и для простого форматирования (например, он широко используется в этой главе).

<SUP> ... </SUP> - отображение текста в виде надстрочного индекса - с уменьшенной высотой шрифта и несколько приподнятым над линией основного текста.

<SUB> ... </SUB> - отображение текста в виде подстрочного индекса - с уменьшенной высотой шрифта и несколько опущенным по сравнению с основной линией текста.

<FONT SIZE=n COLOR=c FACE=f> ... </FONT> - отображение текста другого размера, цвета или начертания по сравнению с основным. В качестве размера (атрибут SIZE) можно указывать числа от 1 до 7; по умолчанию принимается размер 3, а большее число соответствует большему размеру. Точный размер текста в пунктах указать нельзя, поскольку он зависит от настроек конкретного пользователя, поэтому атрибут SIZE указывает на относительное изменение высоты текста по сравнению с принятой основной высотой.

В качестве цвета (атрибут COLOR) можно указать либо одно из стандартных английских названий цвета (например, WHITE - белый, BLACK - черный, SILVER - серебристый, GRAY - серый, RED - красный, BLUE - синий, GREEN - зеленый, YELLOW - желтый), либо указать шестнадцатиричное значение в пространстве RGB (красный-зеленый-синий), например, ‘#FF0000’ (это будет означать максимальную интенсивность красной компоненты при отсутствии зеленой и синей) или ‘#808080’ (половинная интенсивность красной, зеленой и синей компонент).

При помощи атрибута FACE можно задать шрифт по его имени, но в целях совместимости рекомендуется использовать специальные шрифты TADS, например, ‘TADS-Serif’ или ‘TADS-Sans’, поскольку игрок при необходимости сможет выбрать для них конкретный, устраивающий лично его шрифт в настройках плеера.

Обратите внимание, что вам необязательно указывать все атрибуты для тега FONT - если нужно, например, изменить только размер текста, оставив цвет и начертание неизменным, достаточно указать атрибут SIZE, а все остальные можно опустить.

<Q> ... </Q> - заключение текста в кавычки.

<BR> - переход на новую строку.

<HR> - вывод горизонтальной линии (она обычно используется в качестве разделителя блоков текста либо для дополнительного выделения заголовка).

<IMG SRC='file.jpg'> - вывод изображения из файла file.jpg.

<SOUND SRC='file.wav'> - проигрывание звука из файла file.wav. Этот тег является принятым в TADS расширением стандартного HTML и подробно документирован в следующей главе.

 


Нам следовало бы меньше говорить и больше рисовать. Что до меня, так я и вовсе хотел бы отучить себя от речи и, как заведено в живой природе, выражать все, что хочу сказать, картинками.


ИОГАНН ВОЛЬФГАНГ ФОН ГЁТЕ (JOHANN WOLFGANG VON GOETHE), Разговор с И. Д. Фальком (1809)


Глава седьмая Содержание Глава девятая