- El código fuente de los juegos de aventura de texto de los años 80 Zork I·II·III fue publicado bajo la licencia MIT, por lo que cualquiera puede estudiarlo, investigarlo y ejecutarlo
- Microsoft OSPO, Team Xbox y Activision colaboraron con el objetivo de preservar código histórico y darle uso educativo
- El repositorio publicado incluye código fuente, notas de compilación, comentarios y documentación relacionada, y excluye marcas registradas y activos comerciales
- Los usuarios pueden ejecutar el juego directamente en un entorno local mediante el compilador ZILF y un intérprete de Z-Machine
- Esta publicación es una medida simbólica para la preservación de videojuegos y la expansión de la cultura open source, y muestra la combinación de creatividad y tecnología que perdura a través de generaciones
Resumen de la publicación de Zork como código abierto
- Open Source Programs Office (OSPO) de Microsoft, Team Xbox y Activision colaboraron para publicar Zork I, II y III bajo la licencia MIT
- El objetivo es que estudiantes, docentes y desarrolladores puedan estudiar, investigar el código y jugarlo directamente
- La contribución se realizó añadiendo una MIT LICENSE oficial al repositorio histórico existente en GitHub
- Esta publicación pone el foco en la preservación de la historia de los videojuegos y en la difusión de su valor educativo
Contexto técnico de Zork
- Zork es un juego que construyó un mundo solo con texto, sin gráficos ni sonido, y cambió de forma importante la manera de diseñar videojuegos en su época
- Su tecnología central es una especificación de máquina virtual llamada Z-Machine, que permite ejecutar el mismo archivo de historia en múltiples plataformas
- Gracias a esta estructura, Zork es considerado uno de los primeros videojuegos multiplataforma, al funcionar en Apple II, IBM PC y otras plataformas
- Como la versión original para mainframe era demasiado grande para las computadoras domésticas, Infocom la dividió en tres juegos independientes (Zork I~III)
Preservación del código y estructura del repositorio
- Microsoft colaboró con Jason Scott de Internet Archive para añadir una licencia oficial de código abierto al repositorio existente de Zork
- Cada repositorio incluye lo siguiente
- Código fuente de Zork I·II·III
- Notas de compilación, comentarios y documentos históricos relacionados
- MIT LICENSE.txt y metadatos del repositorio
- El alcance de la publicación se limita al código; las marcas registradas, los paquetes comerciales y los materiales de marketing no están incluidos
Cómo ejecutar Zork
- Zork sigue disponible comercialmente a través de The Zork Anthology de Good Old Games (GOG)
- Para ejecutarlo directamente, es posible compilar los archivos ZIL a ejecutables Z3 con ZILF (creado por Tara McGrew) y luego ejecutarlos en un intérprete de Z-Machine
- Comandos de ejemplo:
"%ZILF_PATH%\\zilf.exe" zork1.zil
"%ZILF_PATH%\\zapf.exe" zork1.zap zork1-ignite.z3
- Ejemplos de herramientas de ejecución: Windows Frotz, Fic (implementación CLI basada en Python), entre otras
- Existen runners de Z-Machine para múltiples plataformas, lo que facilita el acceso
Planes a futuro y significado
- El repositorio histórico existente de Zork se mantendrá como referencia oficial del código fuente, y tras la aplicación de la licencia MIT se recibirán con gusto contribuciones y propuestas de mejora
- El objetivo no es modernizarlo, sino preservarlo como un espacio para la exploración y la educación
- Esta publicación también expresa agradecimiento por la colaboración de los desarrolladores de Infocom, Internet Archive y los equipos de Microsoft, Xbox y Activision
- Zork es visto como un ejemplo que simboliza cómo la unión de imaginación e ingeniería puede perdurar a través de generaciones
1 comentarios
Comentarios en Hacker News
Cuando tenía como 14 años, a principios de los 80, estaba jugando Zork con un amigo y pensamos que nosotros también deberíamos hacer nuestros propios juegos
Así que le escribimos a Infocom proponiendo que nos dejaran usar ZIL y la Z-machine para crear un juego nuevo, y sorprendentemente recibimos una respuesta de rechazo muy cortés
Viéndolo ahora, probablemente habría sido demasiado para nosotros intentar hacer un juego en ZIL sabiendo solo BASIC y ensamblador
Aun así, me impresionó la actitud respetuosa de la empresa hacia unos niños. Ojalá todavía conservara esa carta
Por desgracia, esa carta se perdió entre mudanzas, o quizá se la comió un grue
Pero como no tenía un diseño de juego claro, fui perdiendo el interés poco a poco. Además, los acertijos solían requerir más una “chispa de inspiración” que lógica, así que a menudo los dejaba rápido
Me divertía con un amigo agregando mapeo automático y funciones gráficas sencillas, y estos juegos pequeños de verdad ayudaban muchísimo a despertar la curiosidad
Esta noticia me emocionó hasta ponerme la piel de gallina. Zork y los juegos de Infocom fueron mi entrada al mundo de los videojuegos, y los disfruté por primera vez en una Commodore 64
Quiero expresar mi agradecimiento a todas las personas que hicieron estos juegos. De verdad fueron obras que dieron alegría y sentido a la vida de muchísima gente
Comparto el enlace directo al repositorio de GitHub de Zork1
Me preguntaba por qué Microsoft tiene los derechos de Zork
Desde hace tiempo he visto por varios lados algo llamado “código fuente de Zork”, como este repositorio. Me da curiosidad cuál es la relación entre sus orígenes
Después, los desarrolladores fundaron una empresa y al portarlo a microcomputadoras crearon un lenguaje nuevo llamado ZIL y una máquina virtual, y lanzaron el juego dividido en tres partes
El que enlazaste es la versión original en MDL, y lo publicado ahora es la versión en ZIL
El código fue traducido entre los 80 y 90 por MDL → FORTRAN → f77 → C, y por eso la versión en C se ve poco estructurada
Cuando Infocom cerró, algunos empleados se llevaron respaldos, y parte de eso se filtró, así que desde 2019 el código fuente en ZIL ha estado disponible
Lo único que hizo Microsoft esta vez fue aclarar los derechos legales sobre los tres juegos de Zork
En MIT lo habrán desarrollado en un entorno DEC-10 o Multics, y después, cuando nació Infocom, lo portaron a sistemas Apple II o CP/M
En ese tiempo Colossal Cave Adventure se volvió popular, y los desarrolladores de MIT expandieron esa idea
Tengo curiosidad por ver quién será el primero en portarlo a Arduino + LCD
Me vuelve a dar curiosidad cómo terminó Microsoft siendo dueño de esto
La versión original en MDL llevaba muchísimo tiempo disponible, así que me da esperanza que Microsoft publique también otros juegos de Infocom
Y si hablamos de “la obra que cambió la forma de pensar los juegos”, en realidad el punto de partida fue ADVENTURE. Zork era mucho más refinado, pero pertenecía a la misma línea como sucesor
A mí me gusta ejecutar Zork con Docker
Se puede jugar de inmediato con el comando
docker run -it clockworksoul/zork1El repositorio de historicalsource reúne código de varios juegos de Infocom
La mayoría no es completamente open source, pero aun así es un archivo de material increíble
“It is pitch black. You are likely to be eaten by a grue.” — citan la famosa frase de Zork
mordenstar.com/zork
Esta escena también aparece en la canción “It Is Pitch Dark” de MC Frontalot
Como referencia, Steve Meretzky participó en esa canción