Máquina-Z
La Máquina-Z es una máquina virtual desarrollada por Joel Berez y Marc Blank en 1979 para Infocom, con el propósito de ejecutar sus aventuras conversacionales. Los juegos eran compilados en archivos de código Z (o story files), lo que permitía a Infocom portar sus juegos a diferentes plataformas simplemente creando un intérprete de la Máquina-Z para cada sistema, sin necesidad de reescribir el juego para cada ordenador específico. Su estructura se basa en un árbol de objetos, donde elementos como personajes, ubicaciones y objetos interactivos se gestionan de manera eficiente con los recursos limitados de los ordenadores de la época.
La "Z" en su nombre hace referencia a Zork, el primer gran juego de aventuras de Infocom. Inicialmente, Zork fue desarrollado en MDL, un lenguaje basado en LISP creado en el Instituto Tecnológico de Massachusetts (MIT). Sin embargo, debido a las limitaciones de los ordenadores personales de la época, que no podían ejecutar el juego original desarrollado para el PDP-10, los programadores optaron por dividirlo y adaptarlo a sistemas domésticos.
Infocom creó su propio lenguaje de programación, el Zork Implementation Language (ZIL), que nunca fue liberado oficialmente.
La Máquina-Z es una de las máquinas virtuales más versátiles jamás creadas, con soporte en sistemas operativos clásicos (DOS, Amiga, Atari ST), modernos (Windows, macOS, Linux) y dispositivos móviles.
Versiones de la Máquina-Z
Infocom lanzó seis versiones oficiales de la Máquina-Z:
- Versiones 1 y 2: Muy poco utilizadas, con solo dos juegos conocidos en cada una de ellas.
- Versión 3: La más común, usada en la mayoría de los juegos de Infocom.
- Versiones 4 y 5: Mejoras en la capacidad de almacenamiento y funcionalidad del motor.
- Versión 6: Introducción de gráficos limitados.
Posteriormente, autores independientes ampliaron la Máquina-Z con versiones 7 y 8, que permiten archivos de mayor tamaño.
Los archivos de código Z (story files) suelen tener extensiones como .z3, .z4, .z5, .z6, .z7, .z8, indicando la versión específica de la Máquina-Z con la que son compatibles.
Inform y la evolución de la Máquina-Z
En 1993, Graham Nelson lanzó Inform, un compilador con una sintaxis diferente a ZIL que genera archivos compatibles con la Máquina-Z.
En un momento en que las compañías comerciales habían dejado de publicar aventuras conversacionales Inform tuvo una gran aceptación entre la comunidad de programadores aficionados, que desarrollaron cientos de aventuras, tanto en el mundo anglosajón como hispanohablante.
En 2006, Nelson amplió aún más la arquitectura con el formato Glulx, una máquina virtual de 32 bits más avanzada que la Máquina-Z, utilizada en Inform 7.
Intérpretes de la Máquina-Z
Existen múltiples intérpretes para ejecutar juegos de la Máquina-Z en diversas plataformas. Algunos de los más populares son:
- Frotz: intérprete en C, desarrollado en 1995 y ampliamente portado a múltiples sistemas.
- Nitfol: compatible con todas las versiones de la Máquina-Z e integrado con la API Glk.
- Zoom: popular en macOS y sistemas Unix.
- Parchment: intérprete basado en JavaScript, que permite jugar juegos de la Máquina-Z directamente en un navegador web.