Este código fuente, extraído del juego de aventura de texto 'Zork III: The Dungeon Master', revela la estructura interna del sistema de descripción del juego, específicamente cómo se manejan los verbos y las descripciones de objetos y habitaciones. El código, escrito en el lenguaje de programación de Infocom (utilizado en sus juegos de aventura de texto), se centra en la gestión de la verbosidad y el nivel de detalle en las descripciones que el jugador recibe.
El código define rutinas (subprogramas) como V-VERBOSE, V-BRIEF, y V-SUPER-BRIEF para controlar la cantidad de información mostrada al jugador. La rutina V-LOOK es el núcleo del sistema de descripción, encargándose de generar descripciones de habitaciones y objetos. Utiliza variables globales como AV (Area Variable) para almacenar información sobre la ubicación actual y STR para la descripción. El código también incluye lógica para manejar la oscuridad, simulando la imposibilidad de ver en la oscuridad y la amenaza de un 'grue'.
Un aspecto clave es el sistema de 'descriptores' y la rutina DESCRIBE-OBJECT, que determina qué información mostrar sobre un objeto, dependiendo de un nivel de verbosidad. La función PRINT-CONT se encarga de imprimir la descripción de los objetos en la habitación, iterando sobre la lista de objetos y mostrando descripciones detalladas o breves según el nivel de verbosidad seleccionado. Además, se incluyen rutinas para gestionar el inventario (V-INVENTORY), la puntuación (V-SCORE), el guardado y la carga del juego (V-SAVE, V-RESTORE), y la salida del juego (V-QUIT, V-VERSION). También se observa la inclusión de mecanismos para manejar la muerte del jugador (JIGS-UP) y la aleatorización de objetos.
Este código no es directamente utilizable fuera del contexto del motor de juego de Infocom, pero ofrece una visión fascinante de cómo se construían las aventuras de texto en la década de 1980. Permite comprender la complejidad de la generación de texto procedural y la importancia de la verbosidad y el nivel de detalle en la experiencia del jugador. La estructura modular y el uso de rutinas y variables globales son características comunes en la programación de juegos de la época. Si bien el código es específico de 'Zork III', los principios de diseño subyacentes son relevantes para cualquier sistema que requiera la generación de texto dinámico y adaptable.
