Creando juegos de aventura con Adventure Game Studio (y VIII)

AGS Blue Cup Logo Adventure Game Studio es un programa creado por Chris Jones para que amateurs de la creación de videojuegos puedan hacer sus juegos de aventura al estilo de los juegos que hacía Sierra y/o LucasArts a mediados de los 90. En particular, AGS permite concentrar a la persona o al equipo en la creación de contenido del juego y facilitar la programación de los guiones que conformarán la historia. AGS se ha convertido a lo largo de estos años en un programa muy poderoso, con una gran gama de características, un lenguaje de scripting muy flexible, y una excelente comunidad dispuesta a ayudar y con gente bien simpática. En la parte anterior habíamos comenzado a crear habitaciones en AGS, la unidad fundamental de un juego de aventura.

En la parte anterior escribimos los diálogos y las líneas que dicen los personajes solos o entre ellos, y las acciones que pueden hacerse mientras éstos hablan. En esta parte haremos unos toques finales al juego y daremos unos consejos finales.

Parte VIII: Empacando todo

Durante las anteriores 7 partes hemos estado cubriendo cómo hacer un juego de aventura con AGS. Hemos definido el género de juego de aventura tal como era popular a principios de los 90. Hemos hablado de la etapa de la pre-producción: todo lo necesario antes de comenzar a tocar AGS. Esto incluye historia, personajes, acciones, puzzles, arte conceptual, etc., cosas que son incluidas en un documento de diseño. Las siguientes 5 partes las dedicamos a conocer AGS: un tour general, cómo hacer los gráficos para que AGS los utilice correctamente, cómo crear las habitaciones en las que ocurre la acción en AGS, cómo programar las interacciones del personaje con las habitaciones y sus objetos, y cómo escribir diálogos para los personajes.

Como el juego de este tutorial ya fue declarado como finalizado, en esta parte nos dedicaremos a dejar claros ciertos puntos para poder publicar el juego. Hablaremos de la implementación de los menús y los créditos, del manual del juego, y cómo publicar el juego.

Menús y créditos

Por lo general los menús y los créditos son habitaciones más que debes incluir en el juego. La forma más sencilla de implementarlos es hacer una imagen con todas las opciones, importar esta imagen como fondo de una habitación, definir hotspots sobre las opciones, y definir la interacción Any click on hotspot para llevar el juego a la habitación inicial o salir.

Los créditos pueden implementarse con un cambio creativo de habitaciones. Otra alternativa puede ser utilizar los plug-ins de AGS, como el de créditos, que permite hacer unos créditos que se desplazan como los de las películas.

Manual

Es importante escribir un manual. Sí, es un proceso tedioso luego de lo asombroso del proceso de creación de un juego. Pero al fin y al cabo esto será jugado por gente que no está familiarizado con el título. No tiene que ser extremadamente largo, sino simplemente dar unas instrucciones de cómo instalar el juego y cómo manejarse dentro del mismo.

Si te sientes especialmente generoso, puedes incluir en el manual información extra acerca de los personajes o el ambiente donde ocurre la historia. Si a la gente le gusta tu juego, ten por seguro que ese será un excelente detalle para con ellos.

En el manual es necesario incluir los siguientes reconocimientos a ciertos componentes utilizados por AGS:

TrueType font display uses ALFont by Javier Gonzalez and the Freetype project. Distributed under the terms of the FreeType project license.

OGG player is alogg by Javier Gonzalez, using the Ogg Vorbis decoder, which is available from http://www.xiph.org/ Copyright (c) 2002, Xiph.org Foundation

MP3 player is almp3, by Javier Gonzalez and the FreeAmp team. It uses the mpg123 MP3 decoder, and is distributed under the terms of the GNU Lesser General Public License version 2.1.

Para mayor información, consultar la sección Distributing your game del manual de AGS, sobretodo si planeas comercializar tu juego.

Tutorial AGS, Parte VIII: Ejemplo de manual
Un ejemplo de un manual. Debajo se leen algunas secciones del mismo.

Cómo comprimir el juego

Para publicar el juego, debemos comprimir todo lo que esté en el subdirectorio Compiled dentro del directorio del juego, preferiblemente en un ZIP. Lo mejor para hacer, en primer lugar, es cambiar el nombre de Compiled al nombre del juego, y comprimir ese directorio, no el contenido directamente. De esta manera cuando se descomprima el ZIP todo estará dentro de un directorio, en vez de desparramarse en el directorio donde la persona está descomprimiendo. También es recomendable copiar el manual dentro de ese mismo subdirectorio, para que todo esté en un solo archivo.

Al final la estructura de directorios en el ZIP debería ser algo similar a esto (asumiendo que nuestro juego es el de Joe, y el directorio se llama minidemo):

  • minidemo\minidemo.exe – Archivo ejecutable para entrar al juego.
  • minidemo\winsetup.exe – Archivo ejecutable para configurar algunas opciones del juego, como la resolución del juego y la traducción que utilizará.
  • minidemo\acsetup.cfg – Archivo generado por winsetup.exe para guardar la configuración. Es recomendable ejecutar winsetup.exe aunque sea una sola vez para colocar bien los valores de resolución y traducción.
  • minidemo\README.txt – El manual. Puede estar en texto plano, HTML, lo que sea. Puede llamarse manual.htm, o cualquier otra cosa. Pero es importante que esté.

Cómo publicar el juego

Es necesario disponer de algún espacio en internet para subir tu juego. Afortunadamente, existen sitios donde puedes hacer esto gratuitamente o por un precio muy bajo. Luego lo registras en el listado de juegos de AGS para que otros lo puedan ver y bajar. Muy probablemente quieras entrar al foro y anunciar tu juego en la sección Completed Games. Esos dos sitios son los mejores puntos para anunciar tu juego y promocionarlo.

¿Qué hemos dejado de lado?

Desde el inicio declaré este tutorial como un tutorial “sin lujos”. El objetivo del tutorial es tener un juego corriendo de principio a fin, y teniendo eso en mente, se dejó de lado muchos aspectos avanzados de la programación de AGS.

El más notorio de estos aspectos es la construcción de interfaces, seguido de la programación de cutscenes, que requiere un poco de conocimiento de las posibilidades de AGS y algo de paciencia, pues no existe un editor gráfico de cutscenes, por lo que hay que sentarse a escribir las instrucciones de movimiento y diálogo “a mano”. Con respecto a la construcción de interfaces, pues requiere experimentar un poco más de AGS: cómo funciona el motor y cómo se puede adaptar a lo que quieres hacer.

También hemos dejado muchas otras características de AGS, como la sincronización de labios, traducción a múltiples idiomas, y demás. Recomiendo revisar y experimentar con estas características en un juego nuevo para conocerlos.

Con esto cerramos la serie de artículos “Creando juegos de aventura con Adventure Game Studio“. Sus comentarios y preguntas son totalmente bienvenidos. Hasta otra oportunidad.

12 comentarios en “Creando juegos de aventura con Adventure Game Studio (y VIII)”

  1. Quería decir dos personajes cada uno con su inventario y su posición(en que habitación y en que posición en ella), pero pudiendo elegir en mitad de la partida cual de ellos utilizar, y entre ambos resolver un puzle

  2. Ok. Bueno, ya ese tema no es parte de este tutorial, pero existe documentación acerca de cómo hacer esto. Básicamente se resume a hacer otro personaje de la misma manera como creamos a Joe en la parte IV, y luego modificar la interfaz para que te permita cambiar los personajes. La llamada sería algo como <code>character[JOE2].setAsPlayer();</code> donde JOE2 es el otro personaje. AGS es capaz de mantener las posiciones, estados e inventarios de cada personaje.

    Te recomiendo también entrar al foro de esta página, en http://www.elchiguireliterario.com/foro, para que puedas hacer tus preguntas y otras personas puedan ayudarte.

  3. Hola capo: acabo de descargarme tu juego y lo voy a probar. por lo que leí, hay buenos comentarios de él.
    Te cuento, yo recién estoy empezando con el ags. 3. y me está costando un poco, pero veo que está buenisimo el programa.
    Tengo un problemita y no se como hacer para solucionarlo; te cueno, quiero producir en mi juego, por ejemplo que para pasar de una habitación a otra haya una puerta y ella necesite una llave para poder pasar, inserto el if pero el personaje pasa directo. el código que usé es el que está en tu tutorial, pero no pasa lo que quiero que pase, podrias explicarme como lograr esto que deseo hacer por favor.
    Gracias por todos tus consejos, son muy útiles.

    1. Hola Carlos, lamentablemente no estoy prestando soporte para AGS 3, porque no lo he manejado, y este tutorial es de AGS 2. Revisa que estés haciendo el script específicamente para la acción "Interact with Object", es lo único que puedo pensar que está pasando.

  4. 3 años después de escrito, me he leído y acabado todos los capítulos de tu tutorial (+ comentarios), y pese a que, como dices, está escrito para una versión anterior, me ha servido totalmente, apenas he tenido dificultades y tengo el juego que has propuesto completo, funcional y preparado para irle añadiendo más items que me sirvan para seguir aprendiendo.

    Sólo quería agradecer tu enorme trabajo y que supieras que aún muchos años más tarde sigue siendo muy útil.

    Un abrazo, Skay.

Deja un comentario