Jump to content

Z-машина

(Перенаправлено с InfoTaskForce )
Z-машина
Дизайнер Инфоком
Биты 16
Представлено 1979
Версия 1.1 (2014)
Дизайн ЦИСК
Порядок байтов Большой
Открыть Да

Z -машина — это виртуальная машина , разработанная Джоэлом Бересом и Марком Бланком в 1979 году и используемая Infocom для своих текстовых приключенческих игр . Infocom скомпилировала игровой код в файлы, содержащие инструкции Z-машины (называемые файлами историй или файлами Z-кода), и поэтому могла перенести свои текстовые приключения на новую платформу, просто написав реализацию Z-машины для этой платформы. Учитывая большое количество несовместимых домашних компьютерных систем, использовавшихся в то время, это было важным преимуществом по сравнению с использованием собственного кода или разработкой компилятора для каждой системы.

Буква «Z» в слове Z-machine означает Zork , первую приключенческую игру Infocom. Файлы с Z-кодом обычно имеют имена, оканчивающиеся на .z1, .z2, .z3, .z4, .z5, .z6, .z7 или .z8, где число — это номер версии Z-машины, на которой находится файл. предназначен для запуска, как указано в первом байте файла истории. [ 1 ]

Однако это современная конвенция. Сама компания Infocom использовала расширения .dat (данные) и .zip (ZIP = программа-интерпретатор Z-машины), но последнее противоречило широкому использованию .zip для PKZIP-совместимых архивных файлов , начиная с 1990-х годов, после того как Activision закрыла Infocom. Компания «Инфоком» выпустила шесть версий Z-машины. Файлы, использующие версии 1 и 2, встречаются очень редко. Известно, что Infocom выпустила только два файла версии 1 и только два файла версии 2. Версия 3 охватывает большинство выпущенных Infocom игр. Более поздние версии имели больше возможностей, кульминацией которых стала некоторая графическая поддержка в версии 6.

Компилятор (называемый Zilch), который компания Infocom использовала для создания своих файлов историй, так и не был выпущен, хотя документация по языку используемому под названием ZIL , языку семейства Lisp , похожему на MDL , все еще существует, и есть замена с открытым исходным кодом "ZILF". [ 2 ] было написано. После того, как Mediagenic переместила Infocom в Калифорнию в 1989 году, Computer Gaming World заявила, что «ЗИЛ ... функционально мертв», и сообщила о слухах о «совершенно новом парсере, который, возможно, никогда не будет использоваться». [ 3 ] В мае 1993 года Грэм Нельсон выпустил первую версию своего компилятора Inform , который на выходе также генерирует файлы историй Z-машины, хотя исходный язык Inform сильно отличается от ZIL.

Inform стал популярным в сообществе интерактивной фантастики . Большая часть интерактивной художественной литературы представлена ​​в виде файлов историй Z-машины. Спрос на возможность создания больших игровых файлов побудил Нельсона указать версии 7 и 8 Z-машины, хотя версия 7 используется редко. Из-за способа обработки адресов файл истории версии 3 может иметь длину до 128 КБ, файл истории версии 5 — до 256 КБ, а длина истории версии 8 — до 512 КБ. Хотя эти размеры могут показаться небольшими по сегодняшним вычислительным стандартам, для текстовых приключений они достаточно велики для сложных игр.

В 1990-х годах Грэм Нельсон разработал стандарт Z-Machine на основе детального изучения существующих файлов Infocom. Стандарт также включает расширения, используемые в его новых версиях, а также ссылки на формат ресурсов « Blorb », используемый Infocom, и формат файла сохранения « Quetzal ». [ 4 ] В 2006 году Нельсон расширил Z-machine до 32-битного формата Glulx для Inform 7. Фонд Interactive Fiction Technology Foundation , основанный в 2016 году, управляет всеми этими стандартами. [ 5 ]

ЗИЛ (язык реализации Zork)

[ редактировать ]

ZIL основан на MDL от MIT. Вот определение медного фонаря Зорка I:

<OBJECT LANTERN
  (LOC LIVING-ROOM)
  (SYNONYM LAMP LANTERN LIGHT)
  (ADJECTIVE BRASS)
  (DESC "brass lantern")
  (FLAGS TAKEBIT LIGHTBIT)
  (ACTION LANTERN-F)
  (FDESC "A battery-powered lantern is on the trophy case.")
  (LDESC "There is a brass lantern (battery-powered) here.")
  (SIZE 15)>

Более сложный пример, включающий бой вместе с его эквивалентом MDL Zork, представлен в блоге Эндрю Плоткина в 2019 году. Примечательно, что Z-машина не поддерживает сборку мусора , а в ZIL нет концепции системы списков Лиспа. [ 6 ]

Переводчики

[ редактировать ]
Реализация Frotz, работающая на iPhone и играющая в MIT версию Zork .

Интерпретаторы файлов Z-кода доступны на самых разных платформах. На веб-сайте Inform перечислены ссылки на свободно доступные интерпретаторы для 15 настольных операционных систем (включая 8-битные микрокомпьютеры 1980-х годов, такие как Apple II , TRS-80 и ZX Spectrum , и группирующие «Unix» и «Windows» по одному) , 10 мобильных операционных систем (включая Palm OS и Game Boy ) и четыре платформы интерпретатора (Emacs, Java, JavaScript и Scratch). По словам Нельсона, это «возможно, самая портативная виртуальная машина из когда-либо созданных». [ 7 ]

Популярные переводчики включают Нитфола и Фротца. Nitfol использует Glk API и поддерживает версии Z-машины с 1 по 8, включая графическую Z-машину версии 6. Файлы сохранений хранятся в стандартном формате сохранения Quetzal . Двоичные файлы доступны для нескольких различных операционных систем , включая классическую Mac OS , Unix-подобные системы, DOS и Windows . [ 8 ]

Frotz был написан на языке C Стефаном Йокишем в 1995 году для DOS. Со временем он был портирован на другие платформы, такие как Unix-подобные системы. [ 9 ] РИСКИ , [ 10 ] и iOS . [ 11 ] Звуковые эффекты и графика поддерживались в разной степени. К 2002 году разработка застопорилась, и программу взял на себя Дэвид Гриффит. База кода была разделена между виртуальной машиной и частями пользовательского интерфейса таким образом, что виртуальная машина стала независимой от любого пользовательского интерфейса. Это позволило больше разнообразия в портировании Фротца. Один из незнакомых портов также является одним из самых простых: для обмена мгновенными сообщениями бот обернут вокруг версии Frotz с минимальной функциональностью ввода-вывода , создавая бота, с которым можно играть в большинство игр Z-машины, используя клиент обмена мгновенными сообщениями. [ 12 ]

Еще один популярный клиент для macOS и других Unix-подобных систем — Zoom. [ 13 ] Он поддерживает тот же формат сохранения Quetzal , но упаковка файловой структуры другая.

См. также

[ редактировать ]
  • Glulx – похож на Z-машину, но снимает несколько устаревших ограничений.
  • Информировать - компьютерный язык, который может создавать программы Z-машины.
  • SCUMM сценариев создания Z утилита для . Maniac Mansion - machine от LucasArts , графическая система, похожая на
  • TADS – как и Glulx, создан для устранения некоторых его ограничений.
  • Серия Motorola 68000 — базовая архитектура, используемая для виртуальных машин в Magnetic Scrolls . приключенческих играх
  1. ^ «Документ по стандартам Z-машины» . inform-fiction.org . Проверено 26 марта 2018 г.
  2. ^ МакГрю, Джесси. «ЗИЛФ» . zilf.io. ​Проверено 22 ноября 2020 г.
  3. ^ «Внутри отрасли: переезд Infocom на западное побережье вызывает споры» . Мир компьютерных игр . № 63. Сентябрь 1989. с. 10.
  4. ^ «Информ-ZMachine-Стандарты» . inform-fiction.org . Проверено 26 марта 2018 г.
  5. ^ «Спецификации Glk, Glulx и Blorb» . Фонд технологий интерактивной фантастики. 16 ноября 2022 г.
  6. ^ Плоткин, Андрей (17 апреля 2019 г.). «Что вообще такое ЗИЛ?» . Зарф .
  7. ^ Нельсон, Грэм. «О переводчиках» . Информируйте сайт . Проверено 7 ноября 2009 г.
  8. ^ "if-archive/infocom/interpreters/nitfol" . Проверено 29 октября 2016 г.
  9. ^ «Файл README Frotz на Gitlab» . Проверено 19 февраля 2019 г.
  10. ^ «Домашняя страница ОС RISC Frotz» . 18 сентября 1999 г.
  11. ^ «Фротц в App Store» . Магазин приложений .
  12. ^ «Файл Frotz DUMB на Gitlab» . Проверено 19 февраля 2019 г.
  13. ^ «Логический сдвиг масштаба» . Проверено 29 октября 2016 г.
[ редактировать ]
Arc.Ask3.Ru: конец переведенного документа.
Arc.Ask3.Ru
Номер скриншота №: 540d054633c94f466564211e50b3cc7c__1719784980
URL1:https://arc.ask3.ru/arc/aa/54/7c/540d054633c94f466564211e50b3cc7c.html
Заголовок, (Title) документа по адресу, URL1:
Z-machine - Wikipedia
Данный printscreen веб страницы (снимок веб страницы, скриншот веб страницы), визуально-программная копия документа расположенного по адресу URL1 и сохраненная в файл, имеет: квалифицированную, усовершенствованную (подтверждены: метки времени, валидность сертификата), открепленную ЭЦП (приложена к данному файлу), что может быть использовано для подтверждения содержания и факта существования документа в этот момент времени. Права на данный скриншот принадлежат администрации Ask3.ru, использование в качестве доказательства только с письменного разрешения правообладателя скриншота. Администрация Ask3.ru не несет ответственности за информацию размещенную на данном скриншоте. Права на прочие зарегистрированные элементы любого права, изображенные на снимках принадлежат их владельцам. Качество перевода предоставляется как есть. Любые претензии, иски не могут быть предъявлены. Если вы не согласны с любым пунктом перечисленным выше, вы не можете использовать данный сайт и информация размещенную на нем (сайте/странице), немедленно покиньте данный сайт. В случае нарушения любого пункта перечисленного выше, штраф 55! (Пятьдесят пять факториал, Денежную единицу (имеющую самостоятельную стоимость) можете выбрать самостоятельно, выплаичвается товарами в течение 7 дней с момента нарушения.)