Elige tu propia aventura: Squiffy

Hace no mucho, hablando de la próxima convención sobre ficción interactiva y librojuegos, salió el tema de la posibilidad de usar ngpaws para crear aventuras del tipo “elige tu propia aventura” (ETPA /CYOA). En ese momento planteé que no sería demasiado difícil hacer una aventura ETPA con ngPAWS, y que probablemente haría un artículo o similar al respecto.

Pues bien, iba a hacer dicho artículo cuando se me ocurrió mirar primero como funcionaban aquellas herramientas que ya existen para crear relatos de este tipo, en concreto Twine y Squiffy.


Hoy quiero hablar de Squiffy, una herramienta sencilla y a la vez potente para crear juegos ETPA, aunque no todo es perfecto, ya veréis por qué.

A diferencia de Twine, Squiffy no tiene un interfaz visual en el que las “páginas” se vean como tales (aunque al parecer es posible que veamos algo así en el futuro), pero eso no le quita potencia a la herramienta, que demuestra estar diseñada específicamente para crear este tipo de libro-juegos y eso lo hace muy bien.


Crear un librojuego con Squiffy es tan sencillo como ir creando secciones (las páginas del libro) o pasajes (pequeños textos que salen al pulsar en enlaces pero que no son páginas en sí, sino texto añadido a la página actual).

Para enlazar las páginas basta con poner el texto entre dobles corchetes, por ejemplo “Si quieres atacar al dragón pasa a la [[página 7]]” . Para crear una nueva sección se pone el nombre de la misma entre dobles corchetes seguido de dos puntos:

[[página 7]]:

Por ejemplo, esto podría ser una aventura de Squiffy:

Hace mucho tiempo que la vieja cueva se esconde en las montañas cerca de tu aldea. Muchos aventureros han ido y vuelto cargados de tesoros. Otros nunca volvieron.
¿Quieres [[entrar]] o [[volver a la aldea]]?
[[entrar]]:
Entras en la caverna caminando en la oscuridad, de repente sientes ceder el suelo bajo tus pies. Aquí acabaron tus aventuras.
[[volver a la aldea]]:
Vuelves a la aldea, pensando si algún día tendrás el valor de entrar en la caverna.

Sencillo ¿no?

Veamos como añadir un pasaje, que se hace de manera similar, pero con corchetes simples:

Hace mucho tiempo que la vieja [cueva] se esconde en las montañas cerca de tu aldea. Muchos aventureros han ido y vuelto cargados de tesoros. Otros nunca volvieron.
¿Quieres [[entrar]] o [[volver a la aldea]]?
[cueva]:
La cueva está realmente oscura, da un poco de miedo.
[[entrar]]:

En este caso saldrá un enlace sobre “cueva” y al hacer click saldrá el texto “La cueva está realmente oscura, da un poco de miedo.”

Finalmente, es posible que los enlaces tengan un texto, pero lleven a una sección con un nombre diferente. De esa manera si desde distintos sitios queremos llevar a la misma sección, el enlace no tiene por qué ser el mismo:

¿Quieres [[entrar]] o [[volver a la aldea]](rajarse)?

En este caso, aunque el mensaje mostrado será el mismo, al hacer click en “volver a la aldea” en realidad iremos a la sección [[rajarse]]:

Se puede hacer lo mismo con los enlaces de los pasajes.


Aparte de estas funciones básicas, que son suficientes para cualquier aventura CYOA básica, Squiffy tiene algunas opciones que puedes añadir en el texto para hacer cosas especiales. Estos son algunos ejemplos:

Esto cambia el título de la ventana del navegador

@title Este es el título

Esto borra la pantalla, si lo ponemos en una sección:

@clear

Esto crea atributos (un programador los llamaría variables):

@set puntos = 100

Y esto permite incrementarlos o decrementarlos, en uno o en la cantidad que queramos:

@inc puntos
@inc puntos 10
@dec salud
@dec salud 5

Esoss atributos luego podemos usarlos después en el texto, por ejemplo así:

[vida]:
Te quedan {salud} puntos de vida.

O incluso poner un texto u otro dependiendo del valor de un atributo:

{if salud>100:Estás bien.}{else:Estás débil.}

Hay más opciones, como alguna que permite poner fácilmente el típico texto de “Continuar…” y un montón de triquiñuelas más, pero los añadidos básicos a las secciones y pasajes son los indicado arriba.


Si necesitamos más aún, Squiffy permite usar directamente javascript, pero eso es algo que dejo para los programadores, que seguramente podrán leerse la documentación completa :-)

Los pros

Se aprende a usar Squiffy en un rato, y hacer una aventura tipo ETPA sencilla es muy fácil. La herramienta está adaptada perfectamente a esta funcionalidad y realmente hace muy bien su trabajo. Si se quiere hacer algo más complicado, Squiffy tampoco nos deja desarmados, tiene herramientas suficientes para poder hacer cosas más elaboradas.

Finalmente, se puede trabajar en local con un editor (para Windows y OSX) o directamente online en la página de Squiffy.

Los peros

Solo uno, pero que es bastante importante para nosotros: ahora mismo aunque el editor de Squiffy parece soportar bien los acentos, al dar a la opción de generar la versión final de la aventura, estos salen mal. Es un problema que resulta muy incómodo para prácticamente cualquiera que no sea angloparlante, y aunque se puede arreglar retocando los ficheros finales, no es una tarea sencilla para los que no saben programar y no entienden lo que es un encoding de un fichero.

Actualización importante: recientemente el autor de Squiffy ha publicado una nueva versión online (creo que aún no en el editor Windows, pero puedo equivocarme) que soluciona el problema de los acentos. Esto acaba con todos los “peros” que le había encontrado a Squiffy.

Sitio web de Squiffy:

http://docs.textadventures.co.uk/squiffy/