Z-machine | |
---|---|
Разработчик | Infocom |
Разрядность | 16 |
Представлена | 1979 |
Версии | 1.1 (2014) |
Архитектура | CISC |
Порядок байтов | Big |
Открытая? | Да |
Z-machine — это виртуальная машина, которую разработали Джоэль Берез и Марк Бланк[en] в 1979 году и используемая компанией Инфоком для текстовых приключенческих игр. Инфоком компилировали код игры в файлы, содержащие инструкции для Z-машины (они назывались «Файлы с историями» (англ. story files) или «Z-код файлы»), что позволяло портировать игры на новую платформу, просто написав Z-machine для этой платформы. С большим количеством несовместимых домашних компьютерных систем в то время, это являлось важным преимуществом по сравнению с использованием нативного кода или разработкой компилятора для каждой системы отдельно.
Буква «Z» является первой буквой названия Zork, первой приключенческой игры, выпущенной компанией Инфоком. Z-кад файлы обычно имеют названия, заканчивающиеся на .Z1, .Z2, Z3, .Z4, Z5, Z6, .Z7, либо .Z8, где цифра-это номер версии Z-machine, для которой предназначен файл с историей. Также первый байт в файле с историей тоже обозначал версию.[1]
Однако это современная конвенция. Сам Инфоком используемые расширения .DAT (от англ. data, данные) и .zip (от англ. Z-machine Interpreter Program), но последние расширение стало широко применяться архиваторами начиная с 1990-х годов, после того, как Activision закрыл Инфоком. Инфоком выпустили шесть версий Z-machine. Файлы для версий 1 и 2 являются очень редкими. Всего две игры для 1 и две для версии 2. Версия 3 охватывает большинство выпущенных игр. Более поздние версии имели больше возможностей, так например игры, использующие версию шесть, поддерживали графику .
Компилятор (назывался Zilch), который Инфоком использовали для того, чтобы создать файл с рассказом, никогда не был выпущен, хотя была написана документация языка (ZIL) под откртытой лицензией[2] . После Mediagenic перевёл Инфоком в Калифорнию в 1989 году, журнал Computer Gaming World заявил, что « ZIL … функционально мертв», и сообщил слухи о «совершенно новом парсере, который может никогда не будет использован».[3] В мае 1993 года, Грэм Нельсон выпустил первую версию компилятора для своего языка Inform, который генерирует файлы для Z-machine, даже несмотря на то, что язык Inform отличается от ZIL.
Inform стал популярным в сфере интерактивной литературы. Большая часть интерактивной фантастики было в файлах для Z-machine. Спрос на возможность создания больших игровых файлов подтолкнул Нельсона на создание спецификации седьмой и восьмой версий Z-machine, хотя версия 7 используется редко. Из-за различных способов адресации Story file для версии 3 может быть объёмом до 128 КБ, версия 5 поддерживает до 256 КБ, а на версии 8 файл может быть размером до 512 КБ. Хотя эти размеры могут показаться незначительными по сегодняшним стандартам вычислительной техники, для текстовых приключений они достаточно велики для разработки замысловатых игр.
В 1990-х годах, Нельсон разработал стандарт Z-machine[4] на основе детального анализа существующих Инфоком файлов.
Интерпретаторы для Z-code файлов доступны на различных платформах. На сайте Информа приведены ссылки на интерпретаторы для 15 настольных операционных систем (в том числе 8-разрядная микроЭВМ с 1980-х годов, таких, как Apple II, ТР-80, и Спектрум, а также для «Unix» и «Windows»), 10 мобильных операционных систем (включая Palm OS и Game boy), и для трёх кроссплатформенных интерпретаторов (Emacs, Java и JavaScript). По словам Нельсона, это «возможно, самая портативная виртуальная машина, из когда-либо созданных»[5].
Популярными интерпретаторами являются Nitfol и Frotz. Nitfol использует Glk[en] API, и поддерживает версии с 1 по 8, включая версию 6 c графикой. файлы сохранений хранятся в формате Quetzal. Двоичные файлы доступны для нескольких различных операционных систем, в том числе и для Macintosh, и Linux,DOS, иWindows.[6]
Ещё один популярный клиент для Mac (OS Х) — это Zoom. Он поддерживает тот же Quetzal формат, но структура файла разная.[7]
Frotz был написан на языке Си Стефаном Джокиш (Stefan Jokisch) в 1995 году для DOS. Со временем была портирована на другие платформы, такие как Unix, RISC ОС, MACK OС и IOS.[8] Звуковые эффекты и графика поддерживались в той или иной степени. К 2002 году, развитие зашло в тупик и программу взял на доработку Дэвид Гриффит. Код виртуальной машины и пользовательского интерфейса был разделён таким образом, чтобы виртуальная машина стала независимой от любого пользовательского интерфейса. Это дало возможность создавать больше вариаций для портирования Frotz. Одна из самых странных адаптаций также была и одной из самых простых: бот для обмена мгновенными сообщениями обернутый вокруг Frotz с минимальной возможностью ввода-вывода, с которым можно играть в игры для Z-machine через клиент обмена мгновенными сообщениями.[9]
Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".
Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.
Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .