Vorple — Ficciones interactivas atractivas

Uto
4 min readNov 22, 2015

--

En algún momento hace unos meses, en el MUD de la comunidad inglesa de ficción interactiva me hablaron de Vorple, una librería que podía de alguna manera conseguir que los juegos hechos para Z-Machine, tuvieran un mejor aspecto cuando se jugaban en el interprete Parchment.

Parchment es un interprete web de aventuras en formato Z-machine que se ejecuta en un navegador, que en el fondo es otra especie de máquina virtual, pero con unas funcionalidades mucho más avanzadas.

Vorple se coloca en un punto intermedio entre la máquina Z y el navegador, y permite que al programar desde Inform podamos lanzar ordenes que el intérprete determine que son para Vorple, y Vorple las ejecute.

El sistema está formado por dos partes:

  1. Las librerías Vorple para Inform, que aparte de engancharse a algunos puntos clave de la librería de Inform, facilita una serie de funciones para el programador de Inform que le dan acceso a las ventajas que aporta Vorple.
  2. Una versión modificada de Parchment que incluye la librería javascript Vorple.

Creando aventuras con Vorple e Inform 6

Cuando hacemos una aventura en I6 pensando en que sea online (o en formato web al menos) y queremos darle un aspecto más agradable que el que el Parchment básico da, simplemente tendremos que incluir la librería vorple.h y tener así acceso a varias nuevas funciones desde Inform que nos permiten hacer cosas como reproducir un sonido, o pintar un gráfico.

En realidad, hay más de una librería Vorple, cada una de ellas en su propio fichero .h, lo que nos permite incluir en nuestro juego solo las funciones que vamos a usar (por ejemplo, si no vamos a usar enlaces web, no es necesario que incluyamos Vorple-hyperlinks.h)

Algunas de las funcionalidades que permite Vorple son:

  • Hypervínculos (o sea, enlaces): haces click y se ejecuta una orden como si la hubiera tecleado el jugador)
  • Multimedia: reproducir sonidos, dibujar imágenes, incluso reproducir videos de Youtube.
  • Estilos: cambiar colores de texto, de fondo, tipos de letra, etc.
  • Tooltips: pequeños textos que salen al mover el ratón sobre otro texto.
  • Notificaciones: pequeños textos que salen como un pop-up en determinadas en la pantalla.

Por supuesto, el uso de estas funcionalidades no debe ser necesario para el juego, o este solo podrá terminarse en este intérprete y no en otros, si bien Vorple permite, mediante la función isVorpleSupported() comprobar si estamos ejecutando la aventura en un intérprete sin soporte Vorple, y quizá realizar algunas acciones de otra manera en ese caso.

En cualquier caso, un ejemplo ayudará a comprenderlo mejor:

Object serinette “serinette” drawingroom

with description [; VorpleImage(“serinette.jpg”, IMAGE_CENTERED); “There’s a winding key behind the box.”; ],

describe “A beautiful music box sits on a table.”, name ‘serinette’ ‘music’ ‘box’,

before [; Wind: give self wound; VorplePlaySound(“winding.mp3”); if (self has open) {PlayTune();} “You turn the winding key until it turns no more.”;

Receive: “It’s not the kind of box that can contain anything other than its own mechanism.”;

Open: if (self has wound) {PlayTune(); } else {“Nothing happens. Looks like it must be wound first.”;}

Close: if (self has wound) { VorpleStopMusic(); } ],

has openable container transparent;

Como veis, la descripción del objeto serinette (o box) consta de un texto, pero también de una imagen (serinetter.jpg, centrada) y al ejecutar la acción wind, ademas del texto diciendo que hacemos el giro, se reproducira el sonido winding.mp3, o la funcion PlayTune() en otro caso (la cual reproduce el sonido de la caja de música)

Aventuras con Vorple

El propio paquete Vorple viene con algunos interesantes ejemplos, pero sin necesidad de jugar ya vemos que el Parchment que trae Vorple es, por defecto, mucho mejor que el original en cuanto al look&feel. El tipo de letra es más grande y más legible, y se aplican de manera directa estilos para que el texto escrito no sea igual que las respuestas del parser. Todo esto mejora mucho la legibilidad y evita el cansancio al leer.

En la imagen superior, podemos ver como al ejecutar Serinette, aparte de un estilo mucho más agradable que el del Parchment original (y que el de cualquier interprete Z prácticamente), podemos ver que al examinar la caja sale la imagen, y podemos… bueno no podemos, pero os aseguro que al girar la manecilla, sonaba el típico sonido de darle cuerda a algo :-)

Mi opinión

Vorple es una librería que hace que se pueda generar aventuras con Inform con un look&feel que las pueda hacer atractivas a un público más amplio. Hasta ahora para hacer aventuras visualmente atractivas en Inform había que recurrir a Glulx, y aun así los límites de Glulx, algunos de ellos bastante arbitrarios, hacían que hubiera algunas cosas que no se podían hacer.

Con Vorple tienes la capacidad del navegador en tus manos, y lo que no te de sin duda se puede añadir (por ejemplo un VorpleNetworking.h es posible).

A la vez, siempre que no uses Vorple de una manera restrictiva, tu aventura puede seguir jugándose en los viejos intérpretes, por lo que no pierdes posibles jugadores.

En definitiva, que si ngPAWS o fi.js parecían los sistemas más avanzados en cuanto a generación de aventuras en HTML, en Inform+Vorple tienen un fuerte competidor, y eso es bueno, porque ahora tanto los amantes de los sistemas PAWSlike, como los que prefieren Inform tienen un sistema con el que crear aventuras visualmente atractivas. Y también los que prefieran programar en javascript, que para eso está fi.js.

Vorple está disponible para Inform 6 (desde hace apenas unos días), Inform 7 y Undum en http://http://vorple-if.com/

--

--

Uto

Developing indie interactive fiction and IF engines since 1984