Logo MagazineZX
> ÍNDICE DE REVISTAS <
Número 12 - Septiembre 2005 ZX Certified webmaster speccy.org
 

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)
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:

  1. 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.
  2. 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.
  3. 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


UTO
 
Volver arriba
> MAPA WEB <
2003-2009 Magazine ZX