Z-машина представляет собой виртуальную машину , которая была разработана Joel Berez и Марк Бланк в 1979 году и используется Инфоком для его текст приключенческих игр . Компания Infocom скомпилировала игровой код в файлы, содержащие инструкции Z-машины (называемые файлами историй или файлами Z-кода), и поэтому могла перенести свои текстовые приключения на новую платформу, просто написав реализацию Z-машины для этой платформы. В то время, когда использовалось большое количество несовместимых домашних компьютерных систем, это было важным преимуществом по сравнению с использованием собственного кода или разработкой компилятора для каждой системы.
Дизайнер | Инфоком |
---|---|
Биты | 16 |
Введено | 1979 г. |
Версия | 1.1 (2014) |
Дизайн | CISC |
Порядок байтов | Большой |
Открыть | да |
История
Буква Z на Z-machine означает Zork , первую приключенческую игру Infocom. Файлы с Z-кодом обычно имеют имена, оканчивающиеся на .z1, .z2, .z3, .z4, .z5, .z6, .z7 или .z8, где номер - это номер версии Z-машины, на которой находится файл. предназначен для запуска в соответствии с первым байтом файла истории. [1]
Однако это современное соглашение. Сам Infocom использовал расширения .dat (Data) и .zip (ZIP = Z-machine Interpreter Program), но последнее противоречило широко распространенному использованию .zip для файлов архива, совместимых с PKZIP, начиная с 1990-х годов, после того как Activision закрыла Infocom. "Инфоком" выпустил шесть версий Z-машины. Файлы, использующие версии 1 и 2, очень редки. Известно, что только два файла версии 1 были выпущены Infocom и только два файла версии 2. Версия 3 охватывает большинство выпущенных Infocom игр. В более поздних версиях было больше возможностей, кульминацией которых стала поддержка графики в версии 6.
Компилятор (называемый Zilch) , что Инфоком используется для производства своих сюжетных файлов никогда не был выпущен, хотя документация языка , используемого ( ЗиЛ , Лисп -семейством язык похож на MDL ) по- прежнему существует, и замена с открытым исходным кодом [2] имеет было написано. После того, как Mediagenic перенесла Infocom в Калифорнию в 1989 году, Computer Gaming World заявила, что «ЗИЛ ... функционально мертв», и сообщила о слухах о «совершенно новом парсере, который, возможно, никогда не будет использоваться». [3] В мае 1993 года Грэм Нельсон выпустил первую версию своего компилятора Inform , который на выходе также генерирует файлы историй Z-машины, хотя исходный язык Inform сильно отличается от ZIL.
Информ стал популярным в сообществе интерактивной фантастики . Большая часть интерактивной художественной литературы представлена в виде файлов рассказов Z-машины. Спрос на возможность создавать файлы игр большего размера побудил Нельсона указать версии 7 и 8 Z-машины, хотя версия 7 используется редко. Из-за способа обработки адресов файл истории версии 3 может иметь длину до 128 КБ, история версии 5 может иметь длину до 256 КБ, а история версии 8 может иметь длину до 512 КБ. Хотя эти размеры могут показаться небольшими по сегодняшним компьютерным стандартам, для текстовых приключений они достаточно велики для сложных игр.
В течение 1990-х годов Нельсон разработал стандарт Z-Machine [4], основанный на подробных исследованиях существующих файлов Infocom.
Переводчики
Интерпретаторы файлов Z-кода доступны на самых разных платформах. На веб-сайте Inform перечислены ссылки на свободно доступные интерпретаторы для 15 настольных операционных систем (включая 8-разрядные микрокомпьютеры 1980-х годов, такие как Apple II , TRS-80 и ZX Spectrum , и сгруппированы «Unix» и «Windows» по одному) , 10 мобильных операционных систем (включая Palm OS и Game Boy ) и четыре платформы интерпретаторов (Emacs, Java, JavaScript и Scratch). По словам Нельсона, это «возможно, самая портативная виртуальная машина из когда-либо созданных». [5]
Среди популярных переводчиков - Нитфол и Фротц. Nitfol использует API Glk и поддерживает версии с 1 по 8 Z-машины, включая графическую Z-машину версии 6. Сохранить файлы сохраняются в стандартном Кетсале формата сохранение. Двоичные файлы доступны для нескольких различных операционных систем , включая классическую Mac OS , Unix-подобные системы, DOS и Windows . [6]
Frotz был написан на C Стефаном Йокишем в 1995 году для DOS. Со временем он был перенесен на другие платформы, такие как Unix-подобные системы, [7] RISC OS , [8] и iOS . [9] Звуковые эффекты и графика поддерживались в разной степени. К 2002 году разработка застопорилась, и программу подхватил Дэвид Гриффит. База кода была разделена между виртуальной машиной и частями пользовательского интерфейса таким образом, что виртуальная машина стала независимой от любого пользовательского интерфейса. Это позволило разнообразить портирование Frotz. Один из незнакомых портов также является одним из самых простых: бот для обмена мгновенными сообщениями обернут вокруг версии Frotz с минимальной функциональностью ввода-вывода, создавая бота, с которым можно играть в большинство игр с Z-машиной, используя клиент обмена мгновенными сообщениями. [10]
Еще один популярный клиент для macOS и других Unix-подобных систем - Zoom. Он поддерживает ту же Кецаль сохранить формат, но упаковка в файловой структуре отличается. [11]
Смотрите также
- Glulx - похож на Z-machine, но снимает несколько устаревших ограничений
- Информ - компьютерный язык, который может создавать программы Z-машины.
- SCUMM - S cript C оздание U tility для М aniac М ansion от LucasArts , графическую систему , аналогичную Z-машины
- TADS - как и Glulx, созданный для устранения некоторых его ограничений.
- Motorola 68000 series - базовая архитектура, используемая для виртуальных машин в приключенческих играх Magnetic Scrolls.
Рекомендации
- ^ "Документ стандартов Z-Machine" . inform-fiction.org . Проверено 26 марта 2018 .
- ^ МакГрю, Джесси. «ЗИЛФ» . zilf.io . Дата обращения 22 ноября 2020 .
- ^ «Внутри индустрии: движение Infocom на западное побережье вызывает споры», Computer Gaming World , стр. 10 сентября 1989 г.
- ^ «Информ - ZMachine - Стандарты» . inform-fiction.org . Проверено 26 марта 2018 .
- ^ Нельсон, Грэм. «О переводчиках» . Информируйте сайт . Проверено 7 ноября 2009 .
- ^ "если-архив / инфоком / переводчики / нитфол" . Проверено 29 октября 2016 .
- ^ "Файл Frotz README на Gitlab" . Проверено 19 февраля 2019 .
- ^ "Домашняя страница Frotz ОС RISC" . 1999-09-18.
- ^ «Фротц в App Store» . Магазин приложений .
- ^ "Файл Frotz DUMB на Gitlab" . Проверено 19 февраля 2019 .
- ^ «Логический сдвиг масштабирования» . Проверено 29 октября 2016 .
Внешние ссылки
- Документ стандартов Z-Machine
- Изучение ЗИЛ на Wayback Machine (архивировано 7 августа 2010 г.) (PDF) - это руководство Infocom ZIL от 1989 г.
- Описание ZIP на Wayback Machine (архивировано 9 марта 2012 г.) (PDF) Программа интерпретатора языка Z (внутренний документ Infocom) от 1989 г.
- Переводчики
- Как приспособить большую программу к маленькой машине описывает создание и дизайн Z-машины.