Tutorial de Adventure Game Studio para novatos

Publicado el 26 julio 2012 por Elrosso

Adventure Game Studio es un entorno de desarrollo gratuito orientado a la creación de aventuras point-and-click, concretamente juegos que beben tanto a nivel gráfico como conceptual de la época dorada del género  a principios de los 90 con la consagración de LucasArts, Sierra y otros estudios que iban a la zaga como Westwood o Revolution Software. Tal es su flexibilidad que permite hacer cosas tan dispares como el sistema de puntuación y movimiento por cursores de los primeros King Quest o un simplificado puntero de iconos correlativos con verbos a lo Full Throttle. Aquí va un peregrino tutorial paso a paso con un simple ejemplo que les pondrá en situación en tan solo unos minutillos. Y como apunte fundamental en cuanto a la simpleza de todo esto les remarco que servidor no tenía ni idea de cómo utilizar este software hasta pocas horas antes de la redacción del presente texto, habiendo aprendido todo lo básico para ponerme manos a la obra en un par de horas a lo sumo. Si yo he podido con todas las taras que acarreo, ustedes también. Vayamos al lío.

Lo primero que haremos será evidentemente instalar el software de Adventure Game Studio (AGS a partir de ahora) desde su web oficial, del que existen versiones tanto para Windows como Linux y Mac, aunque el desarrollo de estos últimos está discontinuado. Cuando lo ejecutemos por primera vez se nos dará a elegir entre comenzar un nuevo proyecto o continuar uno existente. De entrada nos vamos a Start a New Game, dondes se nos darán varias estructuras de juego prediseñadas (que posteriormente podremos ampliar importando los templates de otros usuarios). 9-verb MI-style nos proporcionará desde el comienzo un plantilla con el sistema de control SCUMM, Default Game tendrá por defecto el entorno de los juegos de Sierra (transformable en el SCUMM simplificado sin los botones de verbos de los títulos post-Sam&Max de la competencia), además del modo Verb Coin, que sirve para hacer juegos en los que no vemos al personaje en pantalla al estilo de los vieojuegos de Cocktel Vision como  Lost in Time o la saga Inca, por decirles alguno. De momento, empezaremos usando la modalidad Default Game.

Tras haber elegido el nombre del juego y la carpeta donde se albergarán sus archivos en nuestro disco duro, tendremos la pestaña General Settings frente a nosotros. Se trata de una tabla con todas las opciones principales que asignaremos al juego, desde la resolución y efectos gráficos hasta los efectos de transición entre áreas o la forma de moverse del protagonista. Además de esto, en el resto del espacio de trabajo observamos varios campos más. A la derecha tenemos el árbol de proyecto donde tenemos organizados todos los recursos que utilizaremos en el desarrollo. Justo debajo está el cuadro de propiedades (de momento vacío), cuyos campos variarán dependiendo del tipo de recurso con el que estemos tratando. En la parte superior izquierda, además de los botones para ejecutar, abrir y grabar nuestro juego estarán las diferentes pestañas que abramos de forma simultánea dentro del proyecto.

Vamos a crear nuestra primera habitación de juego. En el árbol de proyecto buscamos la pestaña Rooms, y al desplegarla veremos que ya existe una creada por defecto. Si la desplegamos podremos acceder a sus propiedades en la opción Edit room. La pantalla está completamente vacía, así que vamos a ponerle un fondo. Premeditadamente he realizado uno lo más simple posible con el sempiterno Paint, como verán, es un paisaje digno de plasmarse en la capilla Sixtina. Le dais al botón Change y los seleccionáis de la carpeta donde lo hayáis guardado. Recomiendo que todos los gráficos y sonidos que utilicéis los vayáis organizando en la carpeta de proyecto para que no resulte luego un terrible caos. En serio.

Un escenario tiene varias capas a las que podemos acceder desplegando el botón que  hay junto a la frase “Show this room’s:”. Empecemos por las Walkable areas. Sobre el fondo que hemos asociado podremos pintar como si de un programa de dibujo se tratase las zonas por las que nuestro personaje podrá caminar. La forma de delimitar dichas zonas es por ejemplo cogiendo la herramienta de la barra superior llamada Freehand tool y pintando los bordes de dicho área, para luego rellenar el área que hemos delimitado con la herramienta del cubo de pintura. Ojo con la forma de hacerlo, porque esta zona delimitada toma como referencia los pies del personaje como área transitable. Pensad por dónde pisa, más que por dónde se verá el sprite completo

Walk-behinds tiene una forma de usarse similar, aunque en este caso sirve para rellenar las zonas por las que no se ve al personaje al haber un objeto sólido delante. En el ejemplo he puesto unos arbustos en un primer plano de la escena (sí, eso verde son arbustos), de modo que los rellenamos de la misma forma que antes. Un dato importante: en el cuadro de propiedades de abajo a la derecha podremos definir varias Walk-behind areas. Esto tiene sentido porque cada una de ellas podrá definir su posición con respecto al personaje. Imaginemos que queremos poner un árbol en el centro del escenario; el personaje podrá pasar tras él, pero también debería poder pasar por delante y que no sea tapado por el mismo. Para ello, vemos en dicho cuadro la opción Baseline, que no es más que la posición vertical del objeto donde se encuentra la base del mismo para que así el juego sea capaz de deducir si el protagonista está delante o detrás a partir del eje Y.

Vamos ahora con los Hotspots. Estas son las zonas del escenario con las que podemos interactuar de alguna forma. Vamos a rellenar el sol que hay en el cielo como elemento utilizable y asignar nuestra primera “acción” propiamente dicha en el juego. Para ello, una vez seleccionado el hotspot que hemos creado (se pueden crear varios del mismo modo que los walk-behinds) le daremos un nombre. Description será el nombre que tenga el objeto dentro del juego, mientras que Name se referirá a su nombre dentro del código de nuestra aplicación. Para esto último hay una serie de formalismos. Podríamos llamarlo hSol para saber que es un hotspot del objeto sol. Si en cambio fuera un objeto (que explicaré más adelante), le llamaríamos oSol.

Sobre las propiedades veremos un botoncito con forma de rayo. Al pulsarlo veremos una serie de opciones intuitivas que se referirán a las acciones a tomar según el tipo de interacción que hayamos realizado. Pinchamos en la opción Look at hotspot y le damos a los tres puntos suspensivos. No se asusten con lo que ven. Estas son las tripas de nuestro juego, que se conceptúan usando un simplísimo lenguaje de scripting basado en comandos simples y sentencias orientadas a objetos. Esto último le puede sonar a chino al que no tenga conocimientos de programación, pero el movimiento se demuestra andando y los propios documentos de ayuda que vienen con AGS son bastante esclarecedores.

Como vemos, se nos habrá creado una función llamada hSol_Look() delimitada por corchetes. Todo lo que pongamos entre ellos serán las acciones que sucederán en el juego cuando realicemos la acción de mirar al sol. Hagamos que nuestro protagonista diga una frase cuando se produzca la interacción. Para ello, metemos entre los dos corchetes esta sentencia: “Display(“Hace un sol que te torras.”);” sin las comillas externas. La frase dentro de los paréntesis puede ser la que quieran.

// room script file
 function sol_Look()
 {
    Display("Hace un sol que te torras.");
 }

Tras esto, podemos ver cómo ha quedado nuestro ejemplo. En la pestaña superior llamada Build seleccionamos Build EXE. Tras esto, pulsamos en Run Game Setup, también dentro de Build. Se nos abrirá el menú de configuración de la aplicación, para poder verla en condiciones deseleccionaremos la opción Run in a Windows instead of full-screen. Tras esto, pulsamos en el botón Save and Run y… ¡tachán!

Un momento, ¿quién es ese monigote? Los más curtidos en la materia se darán cuenta de que se trata de Roger Wilco, el protagonista de los Space Quest de Sierra. Es el personaje que AGS pone por defecto en un nuevo proyecto para no tenernos que devanar los sesos realizando los gráficos desde el principio. Deberíamos poder caminar por todas las áreas transitables que hemos delimitado. Ahora realicemos la prueba de fuego. Al hacer click derecho con el ratón cambiaremos la acción de caminar por la de mirar, pinchamos sobre el sol y efectivamente, ¡hace un sol que te torras! Enhorabuena, novato desarrollador, acaba de hacer en pocos minutos su primer mierdijuego en Adventure Game Studio.

Evidentemente hay muchísimas cosas más que podría contarles: cómo poner objetos en el escenario, la forma de cogerlos y asignarlos a nuestro inventario o el modo en el que se definen las conversaciones con otros personajes. Evidentemente esto no es un curso intensivo sobre el juego, tan solo una demostración de que puede más el pánico escénico que la propia dificultad a la hora de meternos en esto de hacer videojuegos. Si hay demanda, les aseguro que echaremos por aquí otro ratillo con tutoriales sobre el resto de cosas que les acabo de mencionar. Por lo pronto, quédense con el mensaje: hace un videojuego no es difícil de por sí, lo verdaderamente complicado es fomentar y mantener a lo largo del tiempo las ganas de hacerlo. Suerte.