Z-machine (ігровий рушій)
Z-machine — це віртуальна машина, яку розробили Джоель Берез і Марк Бланк[en] у 1979 році і використовується компанією Інфоком[ru] для текстових пригодницьких ігор. Інфоком компілювали код гри у файли, які містять інструкції для 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[en]. Двійкові файли доступні для декількох різних операційних систем, зокрема й для Macintosh, Linux, DOS і Windows.[6] Ще один популярний клієнт для Mac (OS Х) — це Zoom. Він підтримує той же формат Quetzal, але структура файлу інша.[7] Frotz був написаний мовою Сі Стефаном Джокишем (Stefan Jokisch) у 1995 році для DOS. З часом був портований на інші платформи, такі як Unix, RISC ОС, MACK ОС і IOS.[8] Звукові ефекти і графіка підтримувалися тою чи іншою мірою. До 2002 року, розвиток зайшов у глухий кут і програму взяв на доопрацювання Девід Гріффіт. Код віртуальної машини та користувача інтерфейсу був розділений таким чином, щоб віртуальна машина стала незалежною від будь-якого користувацького інтерфейсу. Це дало можливість створювати більше варіацій для портування Frotz. Одна з найбільш дивних адаптацій також була однією з найпростіших: бот для обміну миттєвими повідомленнями обгорнутий навколо Frotz з мінімальною можливістю вводу-виводу, з яким можна грати в ігри для Z-machine через клієнт обміну миттєвими повідомленнями.[9] Див. також
Примітки
Посилання
|