Данный файл является частью Руководства по TADS для авторов игр.
Copyright © 1987 - 2002 Майкл Дж. Робертс
(Michael J. Roberts). Все права защищены.
Руководство было преобразовано в формат HTML Н. К. Гайем (N. K. Guy), компания tela design.
Перевод руководства на русский язык - Валентин Коптельцев
Приложение C
В настоящем приложении описывается программа-интерпретатор, используемая игроками для запуска игр. Оригинальную версию данного текста пришлось переписать почти полностью, поскольку там рассматривается только интерпретатор командной строки, который изрядно устарел, а для русскоязычных игр вообще не подходит.
На данный момент последней официальной версией интерпретатора является 2.5.13 (есть также бета-версия 2.5.14 - распространяется только в виде набора для автора, т. е. в комплекте со средствами разработки игр). Эти версии существуют пока только в английском варианте. В 2007 году Евгением Зелинским aka Hind был выполнен перевод на русский язык актуальной в то время версии 2.5.12. С точки зрения пользователя-игрока разница между ними весьма незначительна. При работе над данной главой Руководства я активно заимствовал переводы терминов и названий команд из русской версии интерпретатора TADS (благо локализация выполнена очень качественно), в связи с чем хочется выразить Евгению отдельную благодарность.
Для всех интерпретаторов описаны версии под Windows.
При запуске мультимедийный интерпретатор TADS выводит в окне приложения страницу так называемой Игровой полки - набора средств, позволяющих пользователю систематизировать свою коллекцию игр с тем, чтобы быстрее находить нужные.
Открыть новую игру можно, нажав кнопку "Browse for Games" (Открыть игру) - это соответствует команде Open New Game (Открыть новую игру) меню File (Файл). Однако чтобы в максимальной степени использовать возможности Игровой полки, необходимо заносить игры на эту страницу. Впоследствии это позволит быстрее находить эти игры, не занимаясь их поиском по жесткому диску вашего компьютера, поскольку они будут видны на стартовой странице. Кроме того, вы можете указывать для игр их полное название, имя автора и описание, избавившись от необходимости запоминать, файл с каким именем соответствует той или иной игре.
Чтобы добавить игру на Игровую полку, нажмите кнопку "Add a Game" (Добавить). При этом откроется стандартное диалоговое окно выбора файлов, аналогично тому, как если бы вы открывали игру для проигрывания. Однако после выбора игры она не будет запущена - вместо этого интерпертатор откроет еще одно окно, в котором запросит полное название игры, имя автора и описание. В некоторых играх предусмотрена информация, которую Игровая полка может использовать для автоматического заполнения этих полей. Если же автор об этом не позаботился, информацию придется заносить вручную. Однако в принципе достаточно внести информацию в поле "Name" (Название), а остальные поля заполнить позднее (или вообще не заполнять). Нажмите кнопку OK, и игра появится в соответствующем разделе Игровой полки.
Если в качестве веб-браузера вы используете Internet Explorer, то можете также добавлять игру путем перетаскивания ссылки на нее в окно Игровой полки. В этом случае после запроса о том, куда поместить игру, файл игры будет автоматически скачан и сохранен на вашем компьютере, а на странице Игровой полки будет создана ссылка на него.
Кроме того, вы также можете добавить на Игровую полку сразу целый набор игр за раз. Для этого необходимо нажать на кнопку "Add a Batch of Games" (Добавить папку). В открывшемся диалоговом окне необходимо выбрать папку. После этого программа просмотрит заданную папку и все вложенные в нее подпапки и выдаст список найденных игр на TADS. В следующем окне вам надо сбросить галочки напротив игр, которые вы не хотите добавлять на Игровую полку (по умолчанию туда помещаются все найденные игры) и нажать кнопку OK. После этого ссылки на выбранные игры окажутся на "стартовой странице", и для запуска одной из них вам достаточно будет щелкнуть по ее названию мышью.
Если вы хотите поменять информацию об игре, щелкните по маленькой ссылке "edit" (редактировать) рядом с названием игры, а если хотите удалить игру с Игровой полки - то по ссылке "remove" (удалить). Сама игра при этом не будет удалена с жесткого диска - исчезнет только ссылка на нее с Игровой полки.
Если на Игровой полке накопилось много игр, их можно организовать по группам. Группа - это просто набор игр, названия которых объединены в список и выводятся вместе под заголовком-именем группы. Чтобы создать группу, щелкните по кнопке "Manage Groups" (Группы), а в открывшемся диалоговом окне нажмите кнопку "New..." (Новая...) и введите имя группы с клавиатуры. Вы также можете использовать это окно для удаления и переименования существующих групп - для этого служат кнопки "Rename" (Переименовать) и "Delete" (Удалить) соответственно. Кроме того, здесь же можно поменять порядок, в котором группы выводятся на экран, выбрав в списке нужную группу и нажимая кнопки со стрелками вверх и вниз для перемещения выбранной группы в нужное положение.
После того, как группа создана, вы можете добавить в нее игру, открыв тем или иным способом окно информации об игре и выбрав нужную группу в ниспадающем
списке "Group" (Группа). Помимо этого списка, окно информации содержит еще ряд элементов, назначение которых ясно из их названия:
В последнем разделе Игровой полки игрок может добавлять ссылки на сайты, которыми он часто пользуется. Для создания ссылки необходимо щелкнуть по кнопке "Add a Web Link" (Новая ссылка). В открывшемся диалоговом окне необходимо ввести полный URL-адрес ссылки (в поле "Web Address (URL)" (Web адрес (URL)), а также название сайта в поле "Site Name" (Название сайта) - оно будет отображаться в скобках за текстом ссылки. При желании можно ввести дополнительную информацию о сайте в многострочном поле "Description" (Описание) (флажок "HTML" позволит использовать в нем тэги HTML). После добавления ссылки при щелчке по ней будет открываться системный Интернет-браузер по умолчанию и осуществлять переход на выбранную страницу. Для изменения информации о ссылке необходимо щелкнуть по надписи "edit" (правка), а для ее удаления - по надписи "remove" (удалить).
В данном пункте меню собраны команды, с помощью которых игрок осуществляет основные операции по управлению игрой - такие, как запуск новой игры, выход из игры, сохранение, восстановление.
Кроме того, под данным пунктом меню размещаются также ссылки на последние запущенные пользователем игры.
Под этим пунктом объединены функции, позволяющие выделять и копировать выводимый игрой текст, производить поиск в тексте и т. п. Кроме того, здесь же размещена команда, открывающая доступ к "консоли управления", отвечающей практически за все настройки интерпретатора.
Данное диалоговое окно содержит семь вкладок, описания которых приведены здесь в алфавитном порядке.
Эта вкладка позволяет удалять, добавлять и настраивать так называемые темы. Подробнее об этом см. в соответствующем разделе.
В этой вкладке пользователь может установить ограничения на чтение/создание игрой файлов, выбрав один из уровней безопасности:
4 - Maximum safety, no file access (максимальная безопасность: не давать доступа) - все явные операции с файловой системой, производимые игрой, запрещены;
3 - Read-only access in the current directory only (только чтение, только в текущем каталоге) - возможно только чтение файлов в каталоге с игрой;
2 - Read/write access in current directory only (чтение и запись, только в текущем каталоге) - возможен полный доступ к файлам в пределах каталога с игрой
(этот режим действует по умолчанию);
1 - Read in any directory, write in current directory only (чтение в любом каталоге, запись только в текущем каталоге);
0 - Minimum safety: read and write in any directory (Минимальная безопасность: чтение и запись в любом каталоге) - отсутствуют ограничения на файловые операции.
Следует подчеркнуть, что вышеуказанные уровни безопасности влияют только на файловые операции, выполняемые игрой в явном виде. Системные операции (сохранение
и загрузка игры, запись транскрипта) разрешены при любом уровне безопасности файловых операций. Подробнее о файловых операциях в TADS см.
здесь.
Как понятно из названия, вкладка позволяет настраивать основные параметры для Игровой полки. Здесь имеется два текстовых поля: в одном пользователь может ввести имя файла (с указанием полного пути), в котором будут храниться данные Игровой полки (ссылки на игры, группы и т. п.), а в другом - имя графического файла, который будет использоваться на игровой полке в качестве фонового изображения. Кнопки Browse (обзор) позволяют осуществить поиск соответствующих файлов через стандартное системное диалоговое окно, а Restore Default (по умолчанию) - восстановить те файлы, которые используются TADS по умолчанию.
Здесь можно задать реакцию плеера на нажатие некоторых клавиш и их сочетаний.
Здесь можно ограничить количество памяти, выделяемое системой под хранение выводимых игрой экранов текста. В этом может возникнуть необходимость, если системе перестает хватать памяти при продолжительной игре. Доступные значения - от 32 кб до неограниченного.
Позволяет настроить действия при завершении игры или закрытии окна программы.
Здесь можно установить, чтобы при запуске плеера он просил открыть игру (флажок Ask for a game to open on starting HTML TADS - показывать диалог открытия игры при запуске HTML TADS). В поле Initial game folder (папка с играми по умолчанию) можно задать каталог, который будет предложен при отображении вышеупомянутого диалога.
В данном меню сосредоточены настройки управления видом окна плеера. В отличие от следующего меню, Themes, "отвечающего" за внешний вид отображаемого игрой текста, команды данного меню в основном управляют параметрами рамки окна (правда, есть одно исключение - параметры размера текста регулируются также отсюда). Кроме того, сюда же вынесена возможность отключения звука.
Темой называется набор параметров (вид, размер и цвет текста, цвет фона и т. д.), определяющих внешний вид игры. Организация работы с темами в HTML-TADS организована по такому же принципу, как и в операционной системе Windows. Каждая игра запоминает последние выбранные настройки темы; таким образом, игрок может использовать разные темы для разных игр.
Меню Themes (Темы) как бы разделено на две части: сначала в нем перечислены все темы, определенные для интерпретатора на данном компьютере, причем название той из них, которая будет устанавливаться для вновь открываемой игры при отсутствии каких-либо дополнительных указаний со стороны пользователя, дополнено примечанием "(Default for new games)" (по умолчанию). Ниже этого списка идут команды, позволяющие создавать новые темы и настраивать существующие. Выбранная в данный момент тема помечается черным кружком слева от ее названия.
В составе дистрибутива HTML-TADS изначально определено три темы: Multimedia (мультимедийная) - с черным текстом на белом фоне; Plain Text (чисто текстовая или "классическая") - стилизованная под компьютеры 80-х годов, с сероватым текстом на синем фоне; Web Style (Веб-стиль) - в целом похожа на мультимедийную, но со шрифтом Verdana в качестве основного. Все три темы, в том числе Plain Text, по умолчанию поддерживают мультимедийные возможности и гиперссылки.
По команде Add/Delete Themes (Добавить/удалить темы) открывается диалоговое окно, полностью соответствующее вкладке Appearance (Расположение или, точнее, оформление) диалогового окна настройки параметров плеера. Здесь можно выбрать тему для редактирования (из ниспадающего списка Theme (Тема)); выбранная тема автоматически становится активной. Рядом с этим списком расположена кнопка New (Новая) ; при нажатии на нее откроется диалоговое окно, в котором можно ввести название новой темы. Эта вновь созданная тема автоматически станет активной, при этом она унаследует настройки той темы, которая была активна в момент нажатия данной кнопки.
Еще левее находится кнопка Delete (Удалить), позволяющая удалять созданные пользователем темы (перед удалением система выводит запрос на подтверждение данного действия). При этом стандартные темы удалить нельзя - при их выборе данная кнопка останется неактивной.
Ниже расположено поле Description (Описание), в которое можно ввести описание создаваемой темы (опять-таки, для стандартных тем это описание задано жестко, изменить его нельзя).
Еще ниже находится кнопка Customize theme (Настроить тему), открывающее диалоговое окно для "тонкой настройки" темы, о котором речь пойдет ниже. Наконец, последняя специализированная кнопка - Reset to Defaults (Сброс настроек), позволяющая вернуться к стандартным настройкам темы (для тем, созданных пользователем, данная кнопка остается неактивной).
Команда Customize theme >название темы< (Настроить тему) открывает диалоговое окно с четырьмя вкладками, позволяющими управлять различными элементами оформления.
Вкладка Fonts (Шрифты) служит для управления размером и начертанием шрифтов, используемых в игре. Для каждой из нижеперечисленных функциональных категорий текста имеется два ниспадающих списка, в одном из которых можно выбрать вид шрифта, а в другом - его базовый размер. (Базовый потому, что размер шрифта можно масштабировать из кода игры при помощи тегов HTML, а также из плеера).
Вкладка Colors (Цвета) позволяет настраивать цвета, используемые в плеере.
Группа Main Text (основной текст игры) отвечает за цветовые настройки основного выводимого текста. При нажатии на кнопки Text (текст) и Background (фон) открывается стандартное окно выбора цвета Windows. При активации флажка Use Windows colors (использовать цвета Windows) эти кнопки окажутся заблокированными, а использоваться будут настройки, соответствующие текущей теме операционной системы Windows. При выборе флажка Override game colors (замещать цвета игры) выбранные цветовые настройки будут использоваться всегда, вне зависимости от цвета текста, заданного в коде самой игры.
Группа Status Line (строка состояния) позволяет настраивать цвет текста и фона верхней строки, в которую, как правило, выводится название текущей локации, информация о количестве сделанных игроком ходов и набранных им очков. Для этого служат кнопки выбора цвета с названиями Text (текст) и Background (фон).
При помощи управляющих элементов группы Hyperlinks (гиперссылки) регулируется способ, которым отображаются гиперссылки в игре. В ниспадающем списке Show hyperlinks (показывать гиперссылки) можно выбрать одну из трех настроек: Always (всегда) - гиперссылки отображаются всегда; When holding Ctrl key (при нажатой клавише Ctrl) - ссылки видны только в случае, если игрок удерживает нажатой клавишу Control; Never (никогда) - гиперссылки никак не выделяются и не работают. При выборе последнего пункта все остальные управляющие данной группы становятся недоступны, поскольку не имеют смысла.
При выбранном флажке Underline links (подчеркивать ссылки) гиперссылки будут выделяться не только цветом, но и подчеркиванием (как это происходит в большинстве Интернет-браузеров). Можно также сделать так, чтобы при наведении указателя мышки на гиперссылку последняя выделялась другим цветом - для этого служит флажок Highlight when hovering (выделять при наведении). Сами же цвета гиперссылок устанавливаются при помощи трех соответствующих кнопок с "говорящими" названиями: Unvisited (непосещенные), Hovering (при наведении) и Clicked (посещенные).
Во вкладке "More" ("дальше") устанавливается поведение плеера для случая, когда игра разом выводит больше текста, чем помещается на экран. Возможны два варианта: Show "MORE" prompt in window, halt scrolling (показывать запрос "ДАЛЬШЕ" в окне игры, остановить вывод текста) и Show "MORE" on status line, show all text (показывать запрос "ДАЛЬШЕ" в строке состояния, вывести весь текст). Добавить к названиям этих настроек вряд ли что можно, кроме того, они проиллюстрированы в самом диалоговом окне наглядными пиктограммами. Пожалуй, требуется единственное дополнительное пояснение: во втором случае не поместившийся на экране текст можно будет просмотреть двумя способами - нажав пробел или прокрутив текст в окне мышкой вниз до конца. Для первого варианта остаток текста выводится только по нажатию на пробел.
Бывает, что вам по каким-то причинам необходимо отключить часть звуковых или графических эффектов, используемых в игре; средства для этого размещены во вкладке Media (медиа или мультимедийные эффекты). Собственно, там всего три флажка с названиями, не требующими пояснения: Allow Graphics (pictures, icons, etc.) (разрешить графику - картинки, значки и т. д.); Allow Sound Effects (разрешить звуки); Allow Background Music (разрешить фоновую музыку). При снятии флажков соответствующие им мультимедийные эффекты будут отключены.
Первые две команды этого меню служат для перемещения по отрезкам игры (их можно назвать также страницами, блоками или главами), которые автоматически создаются интерпретатором HTML-TADS при использовании в коде игре инструкции очистки экрана clearscreen. Соответственно, если эта инструкция в игре еще не встречалась, то команды перехода к предыдущей/следующей странице будут отключены.
Команда Previous Page (предыдущая страница) служит для перехода на предыдущий текстовый блок, а Next Page (следующая страница) - на следующий.
Команда Game Chest (игровая полка) выводит на экран Игровую полку. При этом текущий сеанс игры будет принудительно завершен.
По команде HTML TADS Help (справка по HTML TADS) открывается файл справки, содержащий общую информацию о HTML TADS, о том, где искать игры на TADS и как в них играть, а также сведения о настройках интерпретатора. Справка написана на английском. Перевод ее на русский в ближайшее время не планируется, однако большая часть содержащихся в ней сведений продублирована на сайте RTADS, а также в настоящем разделе Руководства по TADS.
Пункт меню About HTML TADS... (о HTML TADS) открывает окно, содержащее информацию о версии программы и о ее авторах.
Команда About This Game... (об этой игре) активна только в том случае, если загружена игра и в ее исходном коде определен тэг <ABOUTBOX>, содержащий авторскую информацию об игре.
В интерпретаторе TADS предусмотрена панель инструментов, позволяющая ускорить доступ к ряду часто используемых команд. Набор этих команд жестко фиксирован, т. е. пользователь данную панель настраивать не может - впрочем, ее конфигурация удовлетворит подавляющее большинство игроков. Панель отображается и скрывается по соответствующей команде меню View (Вид).
- открытие новой игры;
Интерпретатор командной строки, входящий в комплект поставки TADS, к сожалению, практически непригоден для проигрывания подавляющего большинства (если не всех) существующих русскоязычных игр, поскольку распознает только DOS-кодировку. (Теоретически, его можно заставить понимать кодировку Windows при помощи т. н. файла соответствия символов, или кодовой страницы (character mapping file), однако востребованность этой работы весьма сомнительна, поскольку в современных версиях TADS интерпретатор является 32-битным приложением и под "чистой" DOS все равно не запустится). Тем не менее, для полноты картины здесь описываются его основные свойства и параметры запуска.
Чтобы запустить интерпретатор командной строки, необходимо набрать имя исполняемого файла и имя скомпилированной игры, например:
tr32 primer
По умолчанию программа-интерпретатор предполагает расширение .gam. Если файл игры не найден, выдается сообщение об ошибке.
При запуске интерпретатора командной строки можно указывать ряд параметров - опций. Список доступных опций можно просмотреть, выполнив вызов
tr32 -help2
Современные версии интерпретаторов командной строки могут использоваться для запуска игр, написанных как на TADS 2, так и на TADS 3. Наборы опций для обеих систем различаются. Опции для запуска игр, созданных на TADS 3, можно просмотреть при помощи ключа -help3; здесь они не рассматриваются.
"Бинарные" опции (т. е. те, которые служат переключателями и не требуют дополнительного указания имени файла, размеров и других данных) можно включать и отключать, ставя после них знак плюса или минуса. Использование опции без плюса или минуса обращает состояние параметра, за который "отвечает" опция.
-ctab имя_файла | Задает файл имя_файла в качестве таблицы преобразования кодовой страницы (character mapping file), которая определяет, как будут интерпретироваться символы расширенного набора ASCII (с кодом более 127). |
-ctab- | Отменяет использование файла преобразования кодовой страницы (character mapping file). |
-i имя_файла | Считывает команды из файла имя_файла. Опция полезна при тестировании игры. |
-kbfix95 | Эмуляция механизма работы с клавиатурой, характерного для Windows 95 (рекомендуется использовать только в том случае, если возникли проблемы с переключением раскладок клавиатуры). |
-l имя_файла | Записывает все, что выводит игра, в файл имя_файла. Опция полезна при тестировании игры. |
-m размер_кэша | Задает максимальный объем объектного кэша (в байтах). Принцип работы здесь точно такой же, как у аналогичной опции компилятора. Как правило, использование этой опции при игре не требуется, поскольку программа-интерпретатор обычно не резервирует память вне кэша, когда игра запущена. Однако если вы столкнетесь с проблемой нехватки памяти в ходе игры, то можно использовать эту опцию для ограничения размера кэша. |
-mh размер_кучи | Задает максимальный объем в байтах так называемой кучи - области памяти, в которой хранятся промежуточные значения операций над строками и списками. Использование этого параметра может потребоваться в том случае, если программа-интерпретатор "вылетает" с сообщением об ошибке, указывающим на проблемы с кучей. |
-ms размер_стека | Задает максимальный объем в байтах для стека - области памяти, в которой хранятся аргументы при вызове функций. Необходимый размер стека определяется уровнем "вложенности" вызовов; использование данного ключа командной строки оправдано, если программа-интерпретатор "вылетает" с сообщением об ошибке, указывающим на проблемы со стеком. |
-o имя_файла | Записывает команды, вводимые игроком, в файл имя_файла. Опция полезна при тестировании игры. |
-p | Пауза после завершения игры. (Примечание переводчика: похоже, опция не работает - я не обнаружил изменений в поведении программы-интерпретатора при ее использовании.) |
-plain | Использование простого вывода через текстовую консоль, без обращения к функциям BIOS. |
-r имя_файла | При запуске восстанавливает состояние игры из файла имя_файла. |
-sуровень_безопасности | Устанавливает заданный уровень_безопасности файловых операций (подробнее об этом см. здесь). |
-t | Включает/отключает использование файла подкачки. Файл подкачки создается в том случае, если интерпретатор не может разместить все данные, используемые в игре, в оперативной памяти. |
-tf файл_подкачки | Устанавливает использование для подкачки файла с именем файл_подкачки (по умолчанию используется файл TADSSWAP.DAT в текущем каталоге). |
-tp | Включает/отключает предварительную загрузку всех объектов в память. |
-ts размер | Устанавливает размер в байтах файла подкачки (по умолчанию этот файл может быть любого размера). |
-u размер | Устанавливает максимальный размер кэша для ходов, которые можно отменить командой undo. Размер кэша не соответствует впрямую числу ходов. По умолчанию размер установлен равным 60000 (этого объема обычно хватает на сотню ходов); указав -u0, можно отключить возможность отмены ходов. |
Даже в консольной версии интерпретатора у игроков есть возможность настраивать цвета текста и фона. Делается это при помощи утилиты TRCOLOR, которая после установки TADS на компьютер оказывается в одном каталоге с исполняемыми файлами всех интерпретаторов.
Утилита запускается без параметров. После запуска на экране появляется меню из трех пунктов и справа от него - поле настройки цветов. При помощи меню можно настроить цвет фона и шрифта для обычного текста (пункт Normal Text), выделенного текста (Bold Text) и строки состояния (Status Line) - специальной полоски вверху экрана, на которую выводится число сделанных ходов и набранных очков. Для перемещения между пунктами меню используется клавиша Tab либо сочетание Shift + Tab. Активный пункт меню выделяется сдвоенными символами "больше" и "меньше" примерно следующим образом:
>> Bold Text <<
Выбрав пункт, соответствующий нужной разновидности текста, можно выбрать для него цвет шрифта и фона в настроечном поле. Данное поле состоит из ряда полосок, соответствующих допустимым цветам фона, на которых расположены ряды крестиков, окрашенных в цвета шрифта. Всего имеется восемь цветов для фона и 16 - для текста. Выбор нужного сочетания цветов осуществляется при помощи клавиш управления курсором, при этом активный пункт меню автоматически меняет цвета на соответствующие выбранным в данный момент. Для выхода из программы без сохранения настроек цвета необходимо нажать клавишу Esc или Q, а с сохранением - клавишу S. В последнем случае выбранные настройки записываются в файл с именем TRCOLOR.DAT. Для применения цветовых настроек этот файл необходимо поместить в тот же каталог, в котором находится и копия исполняемого файла интерпретатора, запускаемая для проигрывания.
Пожалуй, одной из немногих причин, способных сподвигнуть автора русскоязычной игры задействовать в своей работе интерпертатор командной строки, невзирая на все связанные с этим неудобства и трудности, является возможность дополнительного тестирования игры. Принцип этого тестирования заключается в следующем: сначала создается "скрипт" - файл с набором команд, необходимых для прохождения игры, в том виде, как их вводил бы игрок с клавиатуры. Затем производится тестовый прогон игры с записью всего выводимого ею текста в файл.
Скрипт создается следующим образом. Игру необходимо запустить с использованием опции -o имя_файла, после чего пройти игру в обычном режиме. Все вводимые команды игрока при этом будут записаны в файл, который и будет служить в качестве скрипта.
Затем создается так называемый "эталонный" журнал - файл, содержащий весь текст, выводимый игрой при прогоне с использованием скрипта. Для использования "скриптового" набора команд задайте в командной строке опцию -i имя_файла_скрипта, где имя_файла_скрипта соответствует имени файла, созданного на предыдущем шаге при помощи опции -o. Кроме того, необходимо задать опцию -l имя_файла_журнала - таким образом и создастся эталонный журнал, соответствующий корректному поведению игры. Пример команды:
tr32 -i walkthru.in -l walkthru.log mygame
В дальнейшем при доработке своей игры вы можете проверить, все ли изменения оказались желательными. Для этого вновь запустите игру с вышеописанными опциями, задав при этом другое имя файла журнала, например:
tr -i walkthru.in -l new.log mygame
После этого, используя утилиту сравнения файлов, вы легко можете выявить изменения в поведении игры:
fc walkthru.log new.log
В данном случае название утилиты взято для операционной системы DOS/Windows. Для других операционных систем оно может отличаться; кроме того, подобные средства встроены во многие системы разработки, а также текстовые редакторы, ориентированные на программистов.
Убедившись, что никаких непредвиденных и нежелательных изменений в поведении игры не произошло, вы можете использовать в качестве эталонного уже новый журнал.
Этот же способ использовался разработчиками для тестирования самой системы TADS. Перед выходом новой версии TADS они прогоняли подобные тесты для ряда референсных игр, чтобы убедиться, что в интерпретатор не было внесено изменений, влияющих на проигрывание существующих игр.
Примечание переводчика: В данном разделе описаны средства для объединения игры и интерпретатора командной строки TADS в единый исполняемый файл Windows. Вряд ли это понадобится для создания русскоязычной игры, однако соответствующий раздел оригинального Руководства переведен для полноты картины. Напомню, что в интегрированной среде разработки TADS для ОС Windows данный функционал реализован в виде команд компиляции исполняемого файла и создания инсталлятора.
Конкретные шаги по объединению скомпилированной игры и интерпретатора TADS в единый исполняеый файл зависят от операционной системы. Для такого объединения потребуются: игра, скомпилированная в файл .gam, файл интерпретатора командной строки и специальная утилита MAKETRX или MAKETRX32. В командной строке операционных систем DOS или Windows исполняемый файл игры создается при помощи команды следующего вида:
maketrx32 @имя_конфигурационного_файла имя_файла_интерпретатора имя_файла_gam имя_файла_exe
В этой команде имя_файла_интерпретатора соответствует имени файла интерпретатора TADS командной строки. Если его не указать, утилита будет искать файл tr.exe в текущем каталоге; имя_файла_gam - имя файла предварительно скомпилированной игры; имя_файла_exe - имя исполняемого файла игры, получающегося "на выходе" (если файл с таким именем уже существует, он будет заменен на новый без предупреждения). Если его не указывать, он будет иметь то же название, что и исходный файл игры, только с другим расширением. Если указать два параметра, утилита воспримет первый как имя файла исходной игры, а второй - как имя результирующего файла. Параметр @имя_конфигурационного_файла является необязательным - в нем можно указать имя файла, в котором будут прописаны опции для утилиты. Опции же могут быть заданы следующие:
Здесь приведены только опции, относящиеся к TADS 2.
Для TADS существует также целый ряд интерпретаторов, созданных сторонними разработчиками (в первую очередь это версии платформы для операционных систем, отличных от DOS/Windows). На официальном сайте TADS можно найти перечень интерпретаторов. Увы, информация в этом разделе, похоже, давно не обновлялась. В связи с этим ниже приведен перечень более-менее "живых" интерпретаторов. В данном случае "живой" означает, что либо у программы есть собственный работающий сайт, либо она доступна для скачивания из IF-архива, либо, на худой конец, ее без особых проблем можно найти в Интернете поиском по названию.
Альтернативные интерпретаторы можно разделить на две категории: мультимедийные и чисто текстовые. Кроме того, игры на TADS способны проигрывать некоторые универсальные проигрыватели. Внутри категорий программы приведены в алфавитном порядке.
Мультимедийные интерпретаторы (т. е. с поддержкой графики и звука)
CocoaTADS
CocoaTADS является портом HTML TADS для операционной системы Mac OS X. По состоянию на конец 2010 года имел статус пре-беты. Скачать можно
здесь.
HyperTADS, автор - Иэн Меррик (Iain Merrick)
Еще один мультимедийный интерпретатор для компьютеров Macintosh. Заявлена возможность работы под Mac OS 9. Поддерживаются игры на TADS 2 и TADS 3.
В настоящее время разработка прекращена, сайт программы не работает, последняя версия в IF-архиве датируется 2004-м годом.
QTads
Кроссплатформенный интерпретатор, поддерживающий обе версии TADS. Тестировался под Linux и Mac OS X, но, по словам автора, скорее всего будет
работоспособен и под рядом других операционных систем. Интерфейс пользователя основан на библиотеке Qt от Nokia, что, опять-таки по словам автора,
должно облегчить портирование на мобильные устройства.
Сайт программы
Чисто текстовые интерпретаторы
FrobTADS, автор - Никос Чантзиарас (Nikos Chantziaras)
Интерпретатор для UNIX/Linux. Поддерживает большую часть функциональных возможностей современных версий нативных интерпретаторов командной строки TADS,
такие как настройка цветов текста и фона, баннеры (в TADS 3) и ввод с ограничением по времени. Дистрибутив обеспечивает автоматическую конфигурацию
программы, что обеспечивает простоту установки для всех версий Linux и большинства других современных версий *nix-подобных операционных систем.
Сайт программы
MaxTADS, автор - Эндрью Плоткин (Andrew Plotkin)
Интерпретатор для компьютеров Macintosh. Отличительной особенностью является возможность создания исполняемого приложения из файла игры TADS. Это
приложение, в свою очередь, может произвести и обратную операцию, разделившись на игру TADS и исходный интерпретатор MaxTADS.
Последняя версия датируется 2000-м годом, в настоящее время разработка приложения прекращена.
Сайт программы
PocketTADS, автор - Дейвид Бэттерхем (David Batterham)
Представляет собой интерпретатор TADS 2.5.7 для устройств PocketPC и Windows Mobile.
Сайт программы
WinTADS, автор - Стивен Гренейд (Stephen Granade)
Текстовый интерпретатор TADS для Windows. Последняя версия вышла в 2001 году. В настоящее время представляет разве что исторический интерес.
Под универсальными понимаются проигрыватели, рассчитанные на запуск игр, созданных под разными игровыми платформами (TADS, Inform, Glulx и т. п.).
Следует отметить, что в настоящее время ни один из универсальных проигрывателей не поддерживает мультимедийные возможности TADS.
Ссылки на сайты приложений:
Gargoyle
Spatterlight
Zoom
Наш ум, как мышь летучая, крылом
Лавируя, вдоль стен пещеры мчит,
Каким-то бессознательным чутьем
Не разбиваясь насмерть о гранит.
Сравненье это точно, но порой
Ума обворожительный просчет
Своею удивительной игрой
Пещеры переделывает свод.
РИЧАРД ПЁРДИ УИЛБЕР (RICHARD PURDY WILBUR), Разум (1956)
Приложение B | Содержание | Приложение D |