Herramientas para desarrollar aventuras conversacionales
El año pasado más o menos a estas alturas, me volvió a entrar el gusanillo de diseñar aventuras conversacionales. Ya sabéis de mis gusto por este tipo de videojuegos. Todo partió de la noticia que llegó a mi ordenador con los resultados de la IFComp 2008, un concurso de aventuras cortas. En la edición de 2009, el podio de ganadores ha estado ocupado por ‘Rover’s Day Out’, ‘Broken Legs’ y ‘Snowquest’ en el primer, segundo y tercer puesto respectivamente. El hecho de que para crear estas piezas de software sea necesaria una dosis extra de creatividad (ya que todo el peso recae sobre las palabras), una parte evidente de técnica de programación y, por supuesto, organizar bien la historia, siempre me llamó mucho la atención. Pero esta fiebre se me fue pasando.
En estos últimos días me estoy empezando a familiarizar con algunas herramientas de creación de aventuras conversacionales como InformATE. Se trata de la versión traducida al castellano de Inform, que es un lenguaje de programación orientado a objetos, un conjunto de librerías y un compilador especializados en el desarrollo de juegos de ficción interactiva. La historia de Inform es ya muy dilatada. Su autor, Graham Nelson, lo creó en 1993 y desde entonces ha sufrido numerosas evoluciones. Después de compilar un videojuego con Inform o InformATE, no nos genera un ejecutable, sino un código intermedio que ha de ser ejecutado o interpretado por una máquina virtual. En este mundillo, los dos intérpretes más utilizados son Máquina-Z y Glulx. La primera de ellas fue diseñada ni más ni menos que en 1979 y fue creada para desarrollar ‘Zork’, una de las primeras aventuras conversacionales de la historia. Glulx es un sistema mucho más evolucionado y con más posibilidades, ya que permite incluso la incorporación de gráficos.
Actualmente existen intérpretes de Máquina-Z, de Glulx y de otros para cualquier plataforma, ya sea Windows, Mac o Linux. En mi caso, con Mac utilizo Spatterlight, que puede leer archivos para todas esas máquinas virtuales. Del mismo modo, también existen compiladores de Inform/InformATE para cualquier sistema operativo. En todos los casos las herramientas son rigurosamente gratuitas. No hay más que darse una vuelta por el repositorio que los chicos de CAAD mantienen en su sitio web y elegir el que mejor se ajuste a nuestras necesidades. También podemos encontrar abundante documentación y ejemplos para aprender este lenguaje.
Inform/InformATE es bastante complejo. Si bien su estructura es similar a la de cualquier lenguaje de programación, es necesario un ejercicio de abstracción para no dejar atrás ninguna de las posibilidades que nos permite. Buena parte de la culpa de esa complejidad se debe a la cantidad de acciones (muchas de ellas combinadas), de tipos de objetos, de situaciones, etc. En cualquier caso es una potente herramienta que nos ahorrará mucho trabajo si queremos programar una buena aventura con un buen vocabulario admitido (recordemos que las acciones se introducen libremente mediante lenguaje natural con el teclado).