Máquina Z


La máquina Z es una máquina virtual desarrollada por Joel Berez y Marc Blank en 1979 y utilizada por Infocom para sus juegos de aventuras de texto . Infocom compiló el código del juego en archivos que contenían instrucciones de máquina Z (llamados archivos de historia o archivos de código Z) y, por lo tanto, podría trasladar sus aventuras de texto a una nueva plataforma simplemente escribiendo una implementación de máquina Z para esa plataforma. Con la gran cantidad de sistemas informáticos domésticos incompatibles en uso en ese momento, esta fue una ventaja importante sobre el uso de código nativo o el desarrollo de un compilador para cada sistema.

La "Z" de Z-machine significa Zork , el primer juego de aventuras de Infocom. Los archivos de código Z generalmente tienen nombres que terminan en .z1, .z2, .z3, .z4, .z5, .z6, .z7 o .z8, donde el número es el número de versión de la máquina Z en la que se encuentra el archivo. está destinado a ser ejecutado, como lo indica el primer byte del archivo de la historia. [1]

Esta es una convención moderna, sin embargo. Infocom mismo usó extensiones de .dat (Data) y .zip (ZIP = Z-machine Interpreter Program), pero este último chocó con el uso generalizado de .zip para archivos compatibles con PKZIP a partir de la década de 1990, después de que Activision cerrara Infocom. Infocom produjo seis versiones de la máquina Z. Los archivos que usan las versiones 1 y 2 son muy raros. Se sabe que Infocom solo lanzó dos archivos de la versión 1 y solo dos de la versión 2. La versión 3 cubre la mayoría de los juegos lanzados por Infocom. Las versiones posteriores tenían más capacidades, culminando con cierto soporte gráfico en la versión 6.

El compilador (llamado Zilch) que Infocom usó para producir sus archivos de historias nunca ha sido lanzado, aunque todavía existe documentación del lenguaje usado ( ZIL , un lenguaje de la familia Lisp similar a MDL ), y un reemplazo de código abierto [2] tiene sido escrito Después de que Mediagenic trasladara Infocom a California en 1989, Computer Gaming World declaró que "ZIL ... está funcionalmente muerto" e informó rumores de un "parser completamente nuevo que quizás nunca se use". [3] En mayo de 1993, Graham Nelson lanzó la primera versión de su Inform compilador, que también genera archivos de historias de máquinas Z como salida, aunque el lenguaje de origen de Inform es bastante diferente de ZIL.

Inform se ha vuelto popular en la comunidad de ficción interactiva . Una gran proporción de la ficción interactiva se encuentra en forma de archivos de historias de Z-machine. La demanda de la capacidad de crear archivos de juegos más grandes llevó a Nelson a especificar las versiones 7 y 8 de la máquina Z, aunque la versión 7 rara vez se usa. Debido a la forma en que se manejan las direcciones, un archivo de historia de la versión 3 puede tener una longitud de hasta 128 KB, una historia de la versión 5 puede tener una longitud de hasta 256 KB y una historia de la versión 8 puede tener una longitud de hasta 512 KB. Aunque estos tamaños pueden parecer pequeños para los estándares informáticos actuales, para aventuras de solo texto, son lo suficientemente grandes para juegos elaborados.

Durante la década de 1990, Nelson elaboró ​​un estándar Z-Machine [4] basado en estudios detallados de los archivos de Infocom existentes.


Una implementación de Frotz ejecutándose en un iPhone , jugando Zork I.