Ficción interactiva
Sistemas de creación de aventuras
Fecha de
creación de este documento: Febrero de 2013
Baltasar García Perez-Schofield
Introducción
Sistemas
de creación de aventuras hay muchos. Y muchos más si observamos la
historia pasada en la forma de aplicaciones para plataformas obsoletas.
En este documento se trata de hacer una revisión de los sistemas de
escritura de ficción interactiva (o aventuras conversacionales) desde
un punto de vista actual, es decir, herramientas que cualquier autor
podría utilizar a día de hoy (al menos en el momento de escribir este
documento) para crear juegos basados en literatura.
Evidentemente, este documento no trata de ser un ensayo riguroso; es
obvio que si existen muchos sistemas de creación de aventuras, será
necesario escoger los más relevantes, y eso supone implicar la
subjetividad del autor, lo cual es inevitable.
Nótese que las aventuras conversacionales, como se las llamaba
entonces, eran los juegos predominantes en los años 70 y 80. El
objetivo era sencillo: jugar con el ordenador. Sin embargo, en aquella
época las interfaces con los ordenadores eran absolutamente textuales,
sin posibilidades gráficas. Aunque las primeras aventuras fueron
creadas con lenguajes de programación generalistas, como Fortran
(Adventure, de Crowther & Woods), pronto se puso en práctica en
varias compañías la idea de desarrollar una plataforma común para todos
los sistemas existentes en la época. El uso en aventuras
conversacionales, donde no se precisa de una velocidad especial,
pudiéndose interpretar los programas, fue probablemente el primero, con
éxito, de máquinas virtuales. La idea, descrita de una manera basta,
consistía en crear un programa intérprete para cada sistema (por
ejemplo, Spectrum, Amstrad, Commodore...), y posteriormente, escribir
el juego en el código entendible por ese intérprete. Aunque la idea
supone una inversión inicial importante en tiempo y esfuerzo, para
crear el intérprete adaptado a cada máquina, es ainversión pronto se
enjuga con la facilidad de escribir aventuras sin preocuparse de las
características específicas de cada máquina. Los casos más famosos son
el A-Code, de Level 9, que permitía comprimir una aventura como
Adventure en 8K, o la máquina Z, de Infocom, que como se mostrará más
adelante sobrevivió hasta nuestra época.
Hoy en día es interesante el soporte de juego en línea,
es decir, directamente desde el navegador, sin instalar nada ni ocasionar
problemas extraños al usuario. En esta categoría, hay sistemas de autor
que lo soportan, marcados con
Sí, sistemas que no lo
soportan, marcados con
No, y sistemas que lo soportan
parcialmente, marcados como
parcial. Estos últimos son los más
comunes: en muchas ocasiones, permiten jugar en línea, pero recomiendan
bajarse el intérprete para una experiencia más plena.
En cuanto al juego en el escritorio, es decir, en la
propia máquina, la existencia de tantos diferentes intérpretes ha supuesto
la creación de multiintérpretes como
Gargoyle. Este programa, primero
identifica la aventura a ejecutar, y, a continuación, lanza el intérprete
adecuado. Gargoyle aúna muchos intérpretes que muchas veces no son los
oficiales, puesto que estos no existen en una versión multiplataforma
(Gargoyle puede ejecutarse en Windows, Linux y Mac).
Superglús
Superglús (2003) se basa
en un proyecto anterior, llamado Paguaglús. El objetivo era aprovechar la
nueva máquina virtual que acababa de ser creada, Glulx, para Inform 6, con
soporte de imágenes y sonido, para ejecutar aventuras en PAWS, bien fueran
nuevas o antiguas (previa conversión mediante la recompilación del código
fuente).
La creación de aventuras en este sistema se basa en
crear entradas en tablas de vocabulario, objetos, localidades y procesos.
Los mensajes han sido relegados a tareas de sistema, pudiendo visualizarse
directamente mediante Write. Los comandos Beep
y Picture han sido extendidos para poder reproducir
música e imágenes. Finalmente, con la extensión txtpaws, que se
distribuye y se utiliza de serie en Superglús, es posible utilizar
identificadores en lugar de números para objetos, localidades y flags.
Licencia: Libre.
Plataformas: Windows, Linux, Mac.
Plataformas de juego: innumerables, incluso smartphones (a
través de
Git o
Gargoyle).
IDE: Sí.
Soporte de juego en línea: Parcial.
Wiki:
http://wiki.caad.es/Supergl%C3%BAs
Inform 6 Sp
Inform 6 es un compilador creado por
Graham Nelson,
mediante la inspección e ingeniería inversa de los relatos interactivos de
Infocom.
Así, programó la
máquina Z (la máquina virtual de Infocom) en base
a sus descubrimientos, y después desarrolló un lenguaje de programación
(tipo C) para poder crear nuevos juegos. La versión
Sp sustituye a
la antigua InformATE! (Inform ahora totalmente español!), en la que se
traducían todo al español (incluso los nombres de las acciones (
Ir
en lugar de
Go), o de los atributos disponibles
Comestible
en lugar de
Edible), debido a la petición popular de aquel momento
de hacerlo más próximo a los desarrolladores. Desafortunadamente, esto hacía
que fuese muy difícil portar librerías hechas por ingleses de Inform 6
a InformATE!, así como aplicar los parches de las nuevas versiones.
Así, Inform 6 Sp es la
versión en español con las traducciones mínimas, de tal forma que todas
las librerías son válidas, y las traducciones/variaciones son mínimas (se
puede utilizar el manual de Graham Nelson para programar, por ejemplo). El
parser de inform es probablemente, el mejor en este momento, con
diferencia, permitiendo distinguir objetos fácilmente unos de otros
(desambiguación, pregunta si te refieres a la llave pequeña o la grande,
la roja o la azul), apilarlos, acumularlos, tener varios objetos iguales
(canicas, por ejemplo). Permite la comprensión de cuestiones que van más
allá de lo que entienden los parser "normales" hoy en día.
Inform 6 soporta dos máquinas virtuales, la
"tradicional" máquina Z, sólo texto, y la máquina Glulx, diseñada para
soportar gráficos y sonido. El soporte para máquina Z es absolutamente
fantástico, mientras que para Glulx el soporte es mucho más escaso. Hoy en
día, no hay un buen sistema de juego en web para aventuras Glulx, siendo
lo más recomendable Zag, que es capaz de bajarse la aventura antes de
jugar. Sin embargo, Zag está muy desactualizado en este momento y no es
fiel a colores y estilos utilizados.
La forma de programar en Inform 6 consiste en crear una
serie de objetos (en el sentido de Programación Orientada a Objetos), de
tal forma que unos representan las localidades, los objetos en ellas, etc.
Requiere un cierto esfuerzo hacerse con este sistema de programación, ya
que aunque es bastante sencillo, la curva de acceso para el que tan solo
quiere escribir una aventura es un tanto empinada. El compilador tampoco
ayuda demasiado, si bien ha mejorado muchísimo en los últimos años. Eso
sí, una vez comprendido el modelo, es probablemente el sistema más
potente.
Licencia: Libre.
Plataformas: Windows, Linux, Mac.
Plataformas de juego: innumerables, incluso smartphones.
IDE: Varios (no existe uno oficial).
Soporte de juego en línea: Sí para máquina Z, parcial para
Glulx.
Wiki:
http://wiki.caad.es/Inform
Adrift
Adrift revisita la idea
de que los escritores de aventuras no tiene por qué ser programadores, y
crea un entorno sencillo para crear aventuras sin programar (si bien para
realizar ciertas tareas complehas soporta un lenguaje de script).
Está programado en Visual Basic, y de hecho el creador de aventuras sólo
puede ser utilizado en Windows. En el pasado, la última versión (hasta la
4.0) era shareware, y las anteriores eran gratis. Nótese que digo gratis y
no libre, pues el código fuente no está disponible.
La gran desventaja de Adrift es que no soporta
directamente el idioma español. Es necesario traducir una serie de
vocabularios y tablas de respuestas. Si bien esto es posible, sólo un
autor español se animó a empezar el trabajo para presentar sus propias
aventuras en Adrift, y el trabajo sólo se llevó a cabo parcialmente.
La creación de aventuras se basa en crear nodos en un
mapa, que al hacer doble-click sobre ellos permiten cambiar sus
características, o añadir nuevas entidades (objetos, por ejemplo). Es muy
cómodo para cualquiera, pues no es necesario saber programar en nada.
Licencia: Gratis (a partir de la versión 5).
Plataformas: Windows (
ADRIFT Developer).
Plataformas de juego: Windows (
ADRIFT Runner),
Linux (
Adrift Runner), Mac (con
Scare o
Gargoyle).
IDE: Sí.
Soporte de juego en línea: Parcial.
Wiki:
http://wiki.caad.es/Adrift
Aetheria Game Engine
AGE es un sistema
complejísimo (fue diseñado para crear juegos de ROL, soporta partidas
cooperativas...) creado meritoriamente por un español, por lo que soporta
directamente la creación de aventuras en esta lengua. Desgraciadamente, su
parser no es demasiado complejo, y probablemente no sea excesivamente
complicado traducir el sistema para crear una aventura en inglés. Por
decisión personal del autor, no soporta las características medianamente
complejas en un sistema de autor de este tipo, como por ejemplo, contenedores.
AGE está programado en Java, lo que le da varios
enteros en cuanto a soporte multiplataforma. Sin embargo, no incorpora
ninguna forma de juego en línea, sin tener que descargar nada. AGE, pese a
todos los años que tiene a sus espaldas, aún no ha alcanzado completamente
estable, y es muchas veces necesario tener que descargar el sistema de
ejecución junto con la aventura a jugar (muchas veces los cambios han
creado cambios incompatibles entre sí).
AGE soporta para programar un lenguaje de script llamado BSH,
que es muy parecido a Java. Así, la curva de entrada es bastante
pronunciada, pues requiere que el escritor de aventuras sea también
programador, como en Inform 6 Sp, por ejemplo. Es necesario tener
instalado Java en el ordenador, y bajarse los paquetes que se desee según
se quiera sólo jugar o desarrollar también. Finalmente, es de resaltar la
existencia de Puck, un IDE visual que hace menos necesario conocer la
programación, pues reduce la necesidad de crear scripts.
Licencia: Libre.
Plataformas: Windows, Mac y Linux.
Plataformas de juego: Windows, Mac y Linux.
IDE: Sí (Puck).
Soporte de juego en línea: No.
Wiki:
http://wiki.caad.es/Aetheria_Game_Engine
Quest
Quest es un sistema como
Adrift, programado en C#, por lo que, como Adrift, es soportado por la
máquina virtual .NET. Sin embargo, tiene versiones web tanto para el
creador de aventuras como para el jugador, lo cual lo hace virtualmente
multiplataforma. Además, un miembro de la comunidad lo tradujo en su
momento al español.
Así, no es necesario tener ningún conocimiento de
programación para crear juegos en Quest, puesto que es tan sencillo como
manipular nodos en pantalla, como en Adrift. Finalmente, su sistema de
juego en web lo hace muy accesible a todo el mundo.
Licencia: Gratis (excepto si se comercializa como App para
Smartphones).
Plataformas: Windows, multiplataforma (en web).
Plataformas de juego: Windows, multiplataforma (en web).
IDE: Sí.
Soporte de juego en línea: Sí.
Wiki:
http://wiki.caad.es/Quest
Inform 7
Inform 7 es la evolución
de Inform 6. Sin embargo, en este caso se trata de una revolución respecto
al tradicional uso de un compilador y un lenguaje de programación
medianamente complejo: Graham Nelson reclama que es posible programar en
lenguaje natural (inglés). Además, un entorno integrado especialmente
diseñado hace la edición y depuración de la aventura de una forma mucho
más sencilla. Por ejemplo, mientras se trabaja en un puzzle en una
localidad, el sistema con cada compilación, rejuega hasta esa
localidad para poder centrarse en ella. Los mensajes de error también son
mucho más elaborados, lo cual ayuda mucho al escritor de aventuras.
En el lado negativo, no es cierto que se pueda crear
una aventura escribiendo en lenguaje natural. La realidad es que el
lenguaje de programación se parece muchísimo a la lengua inglesa, pero
desde luego, el formato para describir localidades u objetos no es ni
mucho menos libre. En el momento en el que se hace necesario programar,
estructuras como bucles o decisiones están simplemente un tanto camuflados,
pero son fácilmente reconocibles.
El hecho de utilizar una sintaxis tan parecida a la
inglesa hace que la traducción del sistema al español resulte en un
resultado macarrónico (Salón is a room. Its description is "Estás en el
salón"), aunque evidentemente tolerable si al escritor de aventuras le
resulta cómodo. Inform 7 genera sus juegos en máquina Z (con lo cual son
altamente multiplataforma, y jugables a través de Web) o en Glulx (todavía
bastante multiplataforma pero sin soporte claro para jugar a través de
internet). Evidentemente, en el caso de escoger la máquina Z, no será
posible utilizar gráficos.
Licencia: Libre.
Plataformas: Windows, Mac y Linux (parcialmente).
Plataformas de juego: Windows, Mac y Linux e innumerables
(máquina Z y Glulx).
IDE: Sí.
Soporte de juego en línea: Parcial.
Wiki:
http://wiki.caad.es/Inform7_Doc
Kenshira
Kenshira es un sistema de
creación de aventuras basado totalmente en web. Así, soporta hiperenlaces
de forma totalmente natural (es decir, sin requerir ningún tipo de
librería o artificio), por poner un ejemplo. La web de Kenshira incluye el
IDE creador/editor (para el escritor del juego) y el jugador (para el
resto de visitantes a la web).
Por supuesto, para todo
esto es necesario emplear un navegador relativamente moderno, Chrome o
Firefox son totalmente compatibles, IExplorer es lo bastante compatible
para jugar.
Para crear aventuras se
utiliza un lenguaje de script bastante parecido al de Inform, pero con
sintaxis del tipo de Visual Basic. Para utilizar este sistema el escritor
de aventuras debe ser también programador, pero al utilizar scripts
basados en Basic, la curva de acceso no es excesiva. Está creado por un
español, así que la lengua a utilizar es exclusivamente el español. El
parser es casi tan completo como el de Inform.
En el lado negativo, no
tiene demasiada documentación, ya que todavía no goza de gran aceptación o
uso.
Licencia: Libre.
Plataformas: Multiplataforma (web).
Plataformas de juego: Multiplataforma (web).
IDE: Sí.
Soporte de juego en línea: Sí.
Wiki: http://wiki.caad.es/Kenshira