Участник:Nikita22007/Z-machine
Z-machine | |
---|---|
Разработчик | Infocom |
Разрядность | 16 |
Представлена | 1979 |
Версии | 1.1 (2014) |
Архитектура | CISC |
Порядок байтов | Big |
Открытая? | Yes |
В Z-машина - это виртуальная машина , которую разработали Джоэль Берез и Марк бланк в 1979 году и используемая компанией Инфоком для текстовых приключенческих игр. Инфоком компилировали код игры в файлы, содержащие инструкции для Z-машины (они назывались "Файлы с историями"(story files) файлов или "Z-код файлы"(Z-code files)) что позволяло портировать текстовые приключения на новую платформу просто написав Z-машину для этой платформы. С большим количеством несовместимых домашних компьютерных систем в то время, это являлось важным преимуществом по сравнению с использованием нативного кода или разработкой компилятора для каждой системы отдельно.
История
[править | править код]Буква "Z" является первой буквой названия Zork, первой приключенческой игры, выпущенной компанией Инфоком . Z-code файлы обычно имеют названия, заканчивающиеся на .Z1, .Z2, Z3, .Z4, Z5, Z6, .Z7, либо .Z8, где цифра-это номер версии Z-машины, для которой предназначен файл с историей. Также первый байт в файле с историей тоже обозначал версию.[1]
Это современный конвенции. Сама Инфоком используемые расширения .DAT (данные) и .zip (зип = Z-машины программа переводчик), но последние столкнулись с широким применением .ZIP для архиваторами pkzip-совместимый архиве файлов начиная с 1990-х годов, после того, как Activision закрытые Инфоком. Инфоком выпустили шесть версий Z-машины. Файлы для версий 1 и 2 являются очень редкими. Всего две игры для 1 и две для версии 2. Версия 3 охватывает большинство выпущенных игр. Более поздние версии имели больше возможностей, так например игры, использующие версию шесть, поддерживали графику .
Компилятор (назывался Zilch), который Инфоком использовали для того,чтобы создать файл с рассказом, никогда не был выпущен, хотя была написана документация языка (ZIL) под open-source лицензией[2] . После Mediagenic Инфоком переехал в Калифорнию в 1989 году, журнал компьютерные игры заявил, что "ЗИЛ ... функционально мертв", и сообщил слухи о "совершенно новом парсере, который никогда не будет использован".[3] В мае 1993 года, Грэм Нельсон выпустил первую версию компилятора для своего языка Inform, который генерирует файлы для Z-машины, даже несмотря на то, язык Inform отличается от ZIL.
Inform стал популярным в сфере интерактивной литературы. Большая часть интерактивной фантастики было в файлах для Z-машины. Спрос на возможность создания больших игровых файлов подтолкнул Нельсона на создание специфичных 7 и 8 версий Z-machine, хотя версия 7 используется редко. Из-за различных способов адресации Story file для версии 3 может быть объемом до 128 КБ, версия 5 поддерживает до 256 КБ, а на версии 8 файл может быть размером до 512 КБ. Хотя эти размеры могут показаться незначительными по сегодняшним стандартам вычислительной техники, для текстовых приключений они достаточно велики для разработки замысловатых игр.
В 1990-х годах, Нельсон разработал Z-machine стандартОшибка в сносках?: Неправильный вызов: ключ не был указан на основе детального анализа существующих Инфоком файлов.
Интерпретаторы
[править | править код]Интерпретаторы для Z-code файлов доступны на различных платформах. На сайте Информа приведены ссылки на интерпретаторы для 15 настольных операционных систем (в том числе 8-разрядная микроЭВМ с 1980-х годов, таких, как Apple II, ТР-80, и Спектрум, а также для "Unix" и "Windows" ), 10 мобильных операционных систем (включая Palm OS и Game boy), и для трёх кроссплатформенных интерпретаторов (Emacs, Java и JavaScript). По словам Нельсона, это "возможно, самая портативная виртуальная машина, из когда-либо созданных".Ошибка в сносках?: Неправильный вызов: ключ не был указан
Популярными интерпретаторами являются Nitfol и Акщея. Nitfol использует Glk API, и поддерживает версии с 1 по 8 Z-machine, включая версию 6 c графической. файлы сохранений хранятся в формате Quetzal. Двоичные файлы доступны для нескольких различных операционных систем, в том числе и для Macintosh, и Linux,DOS, иWindows.Ошибка в сносках?: Неправильный вызов: ключ не был указан
Еще один популярный клиент для Mac (OS Х) - это Zoom. Он поддерживает тот же Quetzal формат, но структура файла разная.Ошибка в сносках?: Неправильный вызов: ключ не был указан
Frotz был написан на языке C Стефаном Джокиш ( Stefan Jokisch) в 1995 году для DOS. Со временем была портирована на другие платформы, такие как Unix, RISC ОС, MACK OС и IOS.Ошибка в сносках?: Неправильный вызов: ключ не был указан Звуковые эффекты и графика поддерживались в той или иной степени. К 2002 году, развитие зашло в тупик и программу взял на доработку Дэвид Гриффит. Код виртуальной машины и пользовательского интерфейса был разделён таким образом, чтобы виртуальная машина стала независимой от любого пользовательского интерфейса. Это дало возможность создавать больше вариаций портов Frotz. Одним из самых странных портов также был и одним из самых простых: бот для обмена мгновенными сообщениями обернут вокруг Frotz с минимальной возможностью ввода-вывода, с которым можно играть в игры для Z-machine через клиент обмена мгновенными сообщениями..Ошибка в сносках?: Неправильный вызов: ключ не был указан
См. также
[править | править код]- Glulx – похож на Z-машину, но снимает некоторые ограничения предыдущих версий.
- Информ – язык программирования, который может создавать программы для Z-машины.
- SCUMM –(Script Creation Utility for Maniac Mansion by LucasArts), графическая система, похожая на Z-машину
- TADS – как Glulx, направлен на решение некоторых из его ограничений
Ссылки
[править | править код]- ↑ The Z-Machine Standards Document . inform-fiction.org. Дата обращения: 26 марта 2018.
- ↑ McGrew, Jesse ZILF . Bitbucket.
- ↑ "Inside the Industry: Infocom's West Coast Move Stirs Controversy", Computer Gaming World, p. 10, September 1989
Внешние ссылки
[править | править код]- The Z-Machine standards document
- Learning ZIL (PDF) is the Infocom ZIL manual from 1989
- Description of ZIP (PDF) the Z-Language Interpreter Program (Infocom Internal Document) from 1989
- Interpreters
- How to Fit a Large Program Into a Small Machine describes the creation and design of the Z-machine
[[Категория:Игры Infocom]] [[Категория:Игровые движки]] [[Категория:Виртуальные машины]]