Interested Article - Z-machine (игровой движок)

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

История

Буква «Z» является первой буквой названия Zork , первой приключенческой игры, выпущенной компанией Infocom. Согласно современной конвенции, файлы историй обычно имеют расширения .Z1, .Z2, Z3, .Z4, Z5, Z6, .Z7, либо .Z8, где цифра-это номер версии Z-machine, для которой предназначен файл с историей. Также первый байт в файле с историей тоже обозначал версию , однако оригинальные файлы историй, созданные в Infocom, имели расширения .DAT (от англ. data , данные) и .ZIP (от англ. Z-machine Interpreter Program ).

За всю историю разработки Infocom создала шесть версий Z-machine, наибольшее количество игры студии вышло для третьей версии. Более поздние версии имели больше возможностей, так например игры, использующие версию шесть, поддерживали графику.

Компилятор под названием Zilch, использовавшийся для создания файлов историй, никогда не публиковался, хотя была написана документация языка ZIL (Zork Implementation Language) под открытой лицензией . После приобретения Infocom компанией Activision , журнал Computer Gaming World объявил, что «ZIL […] функционально мертв», и сообщил слухи о «совершенно новом парсере, который может никогда не будет использован» . В мае 1993 года Грэм Нельсон выпустил первую версию компилятора для своего языка Inform , который генерирует файлы для Z-machine, даже несмотря на то, что язык Inform отличается от ZIL.

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

В 1990-х годах, Нельсон разработал стандарт Z-machine на основе детального анализа существующих файлов Infocom.

Интерпретаторы

Интерпретатор для iOS с запущенным Zork I .

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

Популярными интерпретаторами являются Nitfol и Frotz. Nitfol использует API , и поддерживает версии с 1 по 8, включая версию 6 c графикой. файлы сохранений хранятся в формате Quetzal. Двоичные файлы доступны для нескольких различных операционных систем , в том числе для macOS , Linux , DOS , и Windows .

Ещё один популярный клиент для macOS — это Zoom. Он поддерживает тот же Quetzal формат, но структура файла разная.

Frotz был написан на языке Си Стефаном Джокишем (Stefan Jokisch) в 1995 году для DOS. Со временем он был портирован на другие платформы, такие как Unix , RISC OS , macOS и iOS . Звуковые эффекты и графика поддерживались в той или иной степени. К 2002 году, развитие зашло в тупик и программу взял на доработку Дэвид Гриффит. Код виртуальной машины и пользовательского интерфейса был разделён таким образом, чтобы виртуальная машина стала независимой от любого пользовательского интерфейса. Это дало возможность создавать больше вариаций для портирования Frotz. Одна из самых странных адаптаций также была и одной из самых простых: бот для обмена мгновенными сообщениями обернутый вокруг Frotz с минимальной возможностью ввода-вывода , с которым можно играть в игры для Z-machine через клиент обмена мгновенными сообщениями.

См. также

  • — проект, похожий на Z-machine, но снимающий ряд свойственных ей ограничений. Разработан в 1999 году. C тех пор был выпущен ряд новых версий, включающих, в частности, поддержку UNICODE . В отличие от 16-битной Z-machine, работает с 32-битным адресным пространством.
  • Inform язык программирования , который может создавать программы для Z-machine.
  • SCUMM — (Script Creation Utility for Maniac Mansion), графическая система, похожая на Z-machine.
  • TADS — как Glulx, направлен на решение некоторых из его ограничений.

Примечания

  1. . inform-fiction.org . Дата обращения: 26 марта 2018. 1 февраля 2018 года.
  2. McGrew, Jesse . Bitbucket . Дата обращения: 10 ноября 2018. Архивировано из 28 ноября 2021 года.
  3. "Inside the Industry: Infocom's West Coast Move Stirs Controversy", Computer Gaming World , p. 10, September 1989
  4. . inform-fiction.org . Дата обращения: 26 марта 2018. 18 марта 2018 года.
  5. Nelson, Graham . Inform website . Дата обращения: 7 ноября 2009. 3 декабря 2009 года.
  6. . Дата обращения: 29 октября 2016.
  7. . Дата обращения: 29 октября 2016. 9 августа 2019 года.
  8. . Дата обращения: 29 октября 2016.
  9. . Дата обращения: 29 октября 2016. 27 марта 2018 года.

Ссылки

  • (PDF) is the Infocom ZIL manual from 1989
  • (PDF) the Z-Language Interpreter Program (Infocom Internal Document) from 1989
  • describes the creation and design of the Z-machine
Источник —

Same as Z-machine (игровой движок)