Crear aventuras conversacionales con Inform7

Las aventuras conversacionales, también conocidas como juegos de texto interactivo, son un género de videojuegos que se originó en los primeros días de la informática. En estos juegos, los jugadores interactúan con un mundo virtual utilizando comandos escritos en lenguaje natural, lo que les permite explorar entornos, resolver acertijos y avanzar en la narrativa. Uno de los motores más populares para crear este tipo de experiencias es Inform, y en su versión más reciente, Inform7, se ha consolidado como una herramienta poderosa y accesible para desarrolladores, escritores y entusiastas del diseño de juegos narrativos.

Historia de Inform

El origen de Inform se remonta a principios de los años 90, cuando Graham Nelson creó el primer compilador de Inform como una herramienta para escribir juegos compatibles con el formato Z-machine, el mismo que fue usado para juegos clásicos de la compañía Infocom, como Zork. Este formato fue un estándar para las aventuras conversacionales, permitiendo que los juegos se ejecutaran en una amplia variedad de plataformas.

En 2006, Nelson lanzó Inform7, una nueva versión del motor, diseñada desde cero para hacer la creación de aventuras conversacionales más intuitiva y accesible. Mientras que las versiones anteriores requerían un conocimiento profundo de programación, Inform7 utiliza un lenguaje de diseño de juegos casi natural, lo que permite que los creadores describan mundos y reglas en inglés, similar a la forma en que escribirían una novela.

Características principales de Inform7

Inform7 se distingue por su enfoque basado en el lenguaje natural, lo que facilita la creación de mundos interactivos con reglas definidas sin necesidad de una programación complicada. Algunas de las características más destacadas de la herramienta son:

• Lenguaje natural: Los juegos se escriben en una sintaxis que se asemeja mucho al inglés común. Esto permite que los desarrolladores, incluso aquellos sin experiencia en programación, puedan diseñar escenarios, personajes y eventos de una manera intuitiva. Por ejemplo, una instrucción como «The kitchen is a room. The player is in the kitchen.» es perfectamente válida y crea un espaio jugable en el que el jugador puede interactuar.
• Un potente sistema de reglas: A pesar de su apariencia sencilla, Inform7 esconde un potente sistema de reglas y lógica que permite la creación de interacciones complejas. Se pueden definir comportamientos para objetos y personajes, establecer condiciones y consecuencias, y gestionar interacciones dinámicas entre elementos del juego.

• Soporte multiplataforma: Los juegos creados con Inform7 se exportan en formatos como Glulx o Z-machine, lo que permite que se ejecuten en una variedad de intérpretes y plataformas, desde ordenadores de escritorio hasta dispositivos móviles.

• Facilidad para la narrativa: Con un fuerte enfoque en la narrativa, Inform7 es ideal para escritores que desean explorar la creación de historias interactivas, permitiéndoles centrarse en la trama y los personajes en lugar de en los detalles técnicos de la programación.

Soporte para aventuras en español

Aunque Inform7 está diseñado principalmente para trabajar con el idioma inglés, existen extensiones para incluir soporte para la creación de aventuras conversacionales en español y otros idiomas. Esto ha sido posible gracias a la comunidad de desarrolladores y traductores que han trabajado en extensiones y adaptaciones que permiten que el motor entienda y genere texto en español.

La comunidad que se ha formado alrededor de Inform ha contribuido a expandir el uso de la plataforma en múltiples lenguas, enriqueciendo el panorama de aventuras conversacionales a nivel global.

¿Cómo jugar a una aventura creada con Inform7?

Para poder jugar a una aventura conversacional creada con Inform7 necesitamos un intérprete compatible con Inform como pueden ser Glulx o Frotz.

Estos intérpretes suelen utilizar la consola del sistema o la Terminal para mostrar el texto de las aventuras aunque hay versiones de GGlulx y Frotz para Windows, iPhone, Android o página Web.

Instalación del entorno de desarrollo

Actualmente Inform7 se distribuye como un IDE o entorno de desarrollo. Esta aplicación permite la creación y depuración de una aventura conversacional incluyendo la posibilidad de utilizar extensiones creadas por otros creadores o crear nuestras propias extensiones. Gracias a las extensiones Inform7 puede crecer para mostrar gráficos, reproducir sonidos o incluir otros idiomas como el español.

Puedes obtener la última versión de Inform7 desde la página del proyecto Inform7. La versión actual es la 10.1.2. Se distribuyen versiones de Inform7 para Mac, Inform7 para Windows e Inform7 para distintas versiones de Linux.

El IDE viene por defecto con soporte para idioma inglés. es necesario obtener las extensiones de Inform7 para español. En el momento de escribir este artículo la versión actual es la extensión para español R10.1.

Dentro del fichero comprimido en zip para las extensiones en español se incluye un fichero readme con instrucciones para instalar las extensiones de forma local.

Un simple ejemplo

Veamos un simple ejemplo de aventura en Inform7 utilizando las extensiones en español.

Abre el IDE de Inform7 y crea un proyecto de nueva aventura llamado Un simple ejemplo.

Cuando creas el proyecto en la ruta donde se guarda el proyecto encontrarás una carpeta llamada Un simple ejemplo.materials y el fichero Un simple ejemplo.inform.

Dentro de la carpeta Un simple ejemplo.materials debes copiar las carpetas Extensions e Inter que estaban dentro del zip de las extensiones de Inform para español. Con esto ya tenemos nuestro proyecto preparado para codificar la aventura.

En la zona de código del proyecto encontramos este código inicial:

"Un simple ejemplo" by Jonathan Chacón Barbero

Example Location is a room.

Borra ese código y escribe el siguiente en su lugar:

"Un simple ejemplo" by Jonathan Chacón Barbero (in spanish)

La sala is a room.
The description is "Estás en una sala donde no hay nada pero existe el potencial para que exista todo. Tu imaginación es el poder creador de la realidad que te rodea.".

Analizando el código

Analizando el código de este primer ejemplo encontramos lo siguiente:

• La primera línea es donde se declara el título y autor de la aventura. Además indicamos que utilizaremos la extensión para español de Inform7.

• Creamos el elemento La sala indicando que es una habitación.

• Indicamos que su descripción es un texto que describirá la sala cuando nuestro personaje esté en ella.

Si pulsamos el botón de Go para probar nuestra aventura nuestro personaje jugador aparecerá en la habitación y podremos realizar acciones como saltar, cantar o más cosas que se nos ocurran. Pero nuestra sala está vacía. Añadir un objeto a nuestra sala es tan sencillo como escribir el siguiente texto en el código de nuestra aventura:
El grano de arena is in la sala.
The description is «Un grano de arena que puede ser el comienzo de todo.».

Con esto hemos añadido un grano de arena a nuestra sala. Volvemos a usar la opción Go y podremos probar la aventura. Podemos coger el grano y aparecerá en nuestro inventario y podemos soltarlo para que aparezca de nuevo en la sala.

Compartiendo nuestra creación

Una vez terminada nuestra aventura podemos crear el fichero para que sea compartido con otras personas para que puedan jugar a la aventura de texto que hemos creado. Para ello debemos buscar en el menú Release la opción Release … que creará el fichero Un simple ejemplo.gblorb dentro de la carpeta Un simple ejemplo.materials/Release. Ese fichero gblorb es el que debemos compartir para que otras personas puedan jugar a nuestra aventura. El fichero se crea utilizando el formato Interactive fiction file format que es compatible con intérpretes como Glulxe o Frotz.

Ahora sólo queda ampliar la sala para crear un mundo más extenso donde nuestra imaginación y nuestra paciencia para aprender Inform7 serán el límite de nuestra aventura.