Aventuras Multiplataforma en el +3
El género de las aventuras conversacionales, iniciado con aquella primera aventura
llamada precisamente así (Adventure), parece ser actualmente uno de los géneros más
antiguos que aún mantienen seguidores (aparte de los seguidores de El muro o pong
claro).
Actualmente las aventuras conversacionales suelen generarse, en la escena española, con
destino a máquinas virtuales especialmente creadas para las aventuras. Estas máquinas
virtuales se caracterizan por poseer intérpretes en múltiples plataformas. Concretando,
diremos que hablamos de la máquina Z y la máquina Glulx, dos máquinas virtuales que
resultarán totalmente desconocidas para los profanos.
La máquina Z fue creada para ejecutar las aventuras de Infocom, la mas grande creadora de
aventuras americana, que la utilizó para sus juegos (con "Zork" como estandarte). La
máquina fue diseñada por Joel Berez y Marc Blank en 1979. En 1993, diluida ya Infocom en
Activision, la máquina Z se retomó por los aficionados y se creo un lenguaje de
programación (Inform, de Graham Nelson) que permitía crear aventuras para esta
máquina.
|
Zork (imagen extraída de
http://www.csd.uwo.ca/Infocom/zork.jpg)
|
La máquina Glulx fue creada años más tarde por Andrew Plotkin para paliar algunas de las
limitaciones que suponía la máquina Z, y puede ser programada en Inform y también en
Superglús (un PAW ampliado).
Pese a ser la máquina Glulx una máquina más potente, la máquina Z sigue usándose y mucho,
fundamentalmente porque si el programador no va a usar las ventajas de Glulx, lo que
ocurre muchas veces, es mejor hacerlo para máquina Z. Porque, aunque Glulx es muy
portable, teniendo intérpretes en muchas máquinas, la máquina Z lo es más, y lo que para
nosotros es más importante, tiene intérprete en Spectrum +3.
¿Qué significa que la máquina Z tiene intérprete en Spectrum +3? Pues que todos los años
salen unos cuantos juegos para Spectrum +3 que se nos están escapando, y son
aventuras.
Las aventuras hechas con Inform para la máquina Z quedan almacenadas en ejecutables para
máquina Z, que vienen a ser una especie de snapshots que contienen los datos y la lógica
de la aventura, y que un intérprete puede ejecutar. El intérprete para +3 se llama ZXZVM
(ZX Z Virtual Machine), y no sólo lo es para +3, sino para PCW. El intérprete puede
cargarse en memoria y cargar una aventura con formato .Z5, que es la extensión que
actualmente produce Inform (aunque el intérprete también puede cargar juegos mas viejos
en formato .Z4 y .Z3 y el formato con gráficos .Z8, aunque no mostrará los gráficos.
En fin, que gracias a ZXZVM podemos cargar en nuestro +3 unos cuantos juegos de la escena
aventurera española, y otros cuantos de la escena aventurera inglesa, y para los muy
políglotas pues hasta los de las escenas italiana, francesa o alemana, que las hay.
¿Y cómo? Pues muy fácil, si contamos con una imagen de disco vacía, como las que vienen
en las CPDTOOLS y con las utilidades de cpcfs para copiar ficheros del PC a la
imagen.
Básicamente necesitamos copiar el cargador BASIC (zxzvm.bas), los dos ficheros que forman
el intérprete (ZXIO.BIN y ZXZVM.BIN) y el fichero .Z5, .Z4 o lo que sea en un mismo
disco. Tanto el cargador como los dos binarios vienen en el paquete de ZXZVM, mientras
que el .Z5 lo tendréis que conseguir por otro lado. Para ello con CPCFS hacemos, sobre
una imagen vacía (prueba.dsk), para la aventura prueba.z5:
open prueba.dsk
put zxio.bin
put zxzvm.bin
put zxzvm.bas
put prueba.z5
quit
Una vez tengamos una imagen de disco de +3 con los cuatro ficheros, debemos abrirla en un
+3 o emulador y editar el cargador zxzvm.bas, y cambiar en la línea 40 el nombre del
fichero Z5. Mi recomendación es que además salvemos el fichero BAS con el nombre DISK
para crear un disco con autoejecución (SAVE "DISK" LINE 10) y luego borréis el .BAS
original (ERASE "ZXZVM.BAS"). A partir de ahí basta con seleccionar 'Cargador' o
'Loader' en el menú de vuestro +3 y estaréis jugando a esa aventura.
Para pasarlo a un Spectrum real habrá que utilizar las mismas CPDTools o, si usáis Linux,
las libdsk.
No obstante, no iba a ser oro todo lo que reluce, ya que esta posibilidad teórica de
jugar aventuras viene a ser perjudicada por tres problemas:
- Debe cargarse el intérprete en memoria y luego cargar el fichero .Z5, lo cual deja
el Z5 más grande a poder cargarse alrededor de los 100k, lo cual descarta muchas
aventuras, pero no todas. ZXZVM no tiene control de errores para evitar ocupar mas
espacio por lo que el efecto producido es el Spectrum colgado.
- ZXZVM no es compatible 100% con la máquina Z, y parece colgarse cuando el
programador trata de colocar el texto en lugar de escribir todo seguido (para que
nos entendamos cuando el autor hizo PRINT AT). Esto no es muy común, pero en algunos
juegos pasa sobre todo para el título inicial.
- Dejo lo peor para el final: el intérprete ZXZVM está hecho en assembler, pero aún
así es lento, por lo cual se recomienda jugar en emulador puesto a mayor velocidad
de la normal, en lugar de en el +3 real.
El ultimo problema es triste porque relega todo esto al mundo de la emulación (o al del
masoquismo). Bueno... quizá alguien quiera probar en un PCW, pero eso tendrá que ser en
otro magazine.
A continuación se adjuntan algunos ejemplos de aventuras pasadas a disco +3:
- El libro que se aburría [DSK].
- Una pequeña historia de Navidad [DSK].
- Primera Aventura Experimental y Extraña [DSK].
- La sentencia [DSK].
LINKS