Este fragmento de código revela una parte interna fascinante de cómo funcionaba el juego de aventura de texto clásico 'Zork 1'. No se trata del código del juego en sí, sino de un archivo llamado 'VERBS' que define las acciones (verbos) que el juego entendía y cómo las ejecutaba. Piensa en ello como el diccionario de comandos del juego.
El archivo 'VERBS' contiene rutinas (funciones) que se activan cuando el jugador introduce un comando, como 'QUIT', 'INVENTORY', 'SAVE', 'VERSION', 'ADVENT' (un comando misterioso), o 'BURN'. Cada rutina está escrita en un lenguaje de programación específico de Infocom, el creador de Zork, y utiliza una sintaxis peculiar que combina instrucciones y texto a mostrar al jugador. Por ejemplo, la rutina 'V-QUIT' maneja el comando 'QUIT', preguntando al jugador si realmente desea salir y mostrando mensajes apropiados. La rutina 'V-VERSION' muestra información sobre la versión del juego, incluyendo derechos de autor y detalles de licenciamiento, e incluso varía el mensaje dependiendo de si es Zork 1, 2 o 3.
Un aspecto interesante es el uso de 'GLOBAL VERBOSE' y 'GLOBAL SUPER-BRIEF', que controlan la cantidad de información que el juego proporciona en respuesta a los comandos. También hay rutinas para guardar ('V-SAVE') y restaurar ('V-RESTORE') el progreso del juego, y una rutina 'V-SCRIPT' que parece estar relacionada con la creación de una transcripción de la interacción del jugador con el juego (un tipo de 'log' o registro).
Las rutinas 'V-ADVENT', 'V-ATTACK', 'V-BURN', 'V-CLIMB-UP', 'V-CLOSE', 'V-DROP', 'V-EAT', 'V-RESTORE', 'V-DISENCHANT', 'V-BOARD' y muchas otras, definen cómo el juego responde a comandos específicos y cómo interactúa con el mundo del juego. Algunas de estas rutinas incluyen condiciones (COND) que determinan el comportamiento en función del estado del juego o de los objetos presentes. Por ejemplo, la rutina 'V-BURN' varía su comportamiento dependiendo de la versión de Zork que se esté jugando.
Este archivo 'VERBS' es un ejemplo de cómo los juegos de aventura de texto, aunque aparentemente simples, se construían con una lógica compleja y detallada para proporcionar una experiencia interactiva. Es una ventana a la arquitectura interna de un programa de software de los años 80, mostrando cómo se gestionaban las acciones del jugador y cómo se creaba la ilusión de un mundo interactivo.
