Añadiendo algo de interacción, Adventure Game Studio

03 de noviembre de 2008
Valoración del artículo:
Ya tenemos una estancia completamente funcional. El jugador puede caminar dentro de ella todo lo que quiera. Sin embargo, por ahora, nuestro juego es muy aburrido. El jugador aún no tiene nada que hacer.
Atención: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.

Añadiendo algo de interacción

AGS te da la opción de usar tres tipos de cosas con las que el jugador puede interactuar:

hotspotsobjects y characters:

  • Un hotspot o punto caliente es una parte de la imagen de fondo con la que el jugador puede interactuar. Los hotspots se suelen usar para elementos de la pantalla como un árbol o la hierba, que no cambian a lo largo del juego.
  • Un object u objeto es un elemento de una estancia que se puede mover por la pantalla y ser activado o desactivado cuando se quiera. Los objetos deben permanecer dentro de la estancia donde fueron creados.
  • Un character o personaje es similar a un objeto excepto en que se puede mover entre diferentes estancias y por lo tanto puede aparecer a lo largo de todo el juego. Los personajes también tienen algunas cualidades específicas como las animaciones al hablar, por lo que normalmente serán usados para representar NPCs (non-playable characters o personajes no controlados)

Hotspots o Puntos calientes

Vamos a empezar por la opción más sencilla, los hotspots. Abre el editor y  selecciona hotspots de la lista desplegable (la misma lista donde seleccionaste “Walkable areas” en el anterior tutorial).

Los hotspost se dibujan del mismo modo que las áreas transitables y opacas. Probablemente quieras usar varios hotspots para diferentes partes de la pantalla. Una vez que hayas dibujado el primer hotspot, ve a la lista desplegable situada justo encima de la Rejilla de Propiedades y selecciona otro hotspot para dibujar en otro color. Los hotspots que ya estén dibujados pasaran a ser de color gris para facilitarte la tarea.

He dibujado cuatro hotspots diferentes en la pantalla


Una vez que hayas finalizado hay otros dos campos que configurar:

  • The hotspot's description. Aquí asignamos un nombre reconocible para el hotspot, algo que es esencial si planeas usar un interfaz del estilo Lucasarts, en el cual el jugador puede situar el cursor sobre los objetos para ver su descripción. Si usas un interfaz al estilo de Sierra, este nombre nunca se le mostrará al jugador, pero aún así, te puede ser útil para identificar el hotspot cuando estas creando el juego. Por defecto, lo nombres asignados son "Hotspot 1", "Hotspot 2", etc.
  • The hotspot's Name: Este es el nombre con el cual se hará referencia al hotspot dentro del script de la estancia. Este nombre no puede contener ni espacios ni caracteres especiales, solo puede contener letras de la a 'a' la 'z'. La convención en AGS es la de que los nombres de los hotspots comiencen con h, por ejemplo hDoor (también podríamos llamarlo en nuestro caso hPuerta o hMesa). Cada hotspot debe tener un nombre único dentro de su estancia.



    Interacciones

    Ha llegado el momento de hacer que ocurran cosas en nuestro juego. Selecciona el primer hotspot que hayas creado y haz clic en el botón Events tal y como se muestra en la imagen:

    La lista de eventos


    Veras que la apariencia de la rejilla de propiedades ha cambiado y ahora te muestra una lista con todos los eventos disponibles para el hotspot seleccionado. Los eventos se producen cuando el jugador realiza ciertas acciones en el juego. Por ahora, no hemos asignado respuesta a ninguno de los eventos, así que ninguna acción del jugador sobre el hotspot tendrá respuesta.

    Vamos a comenzar con algo simple. Quiero que cuando el jugador miré mi hotspot, se muestre un mensaje diciéndole que esta mirando. Haz clic en el campo "Look at hotspot" y aparecerá un botón "...", como puedes ver en la imagen.

    El botón "..."


    Haz clic en ese botón. Este creará una entrada en el script para este evento, y automáticamente el programa ate llevará al editor de scripts. Si en lugar de eso, aparece un mensaje diciéndote que ese hotspot necesita un nombre, vuelve a leer los párrafos anteriores para saber como asignar un nombre al hotspot.

    Así que ahora estarás ante el editor de scripts. Puede que ahora te parezca algo complicado e intimidante. Deberías ver una pantalla como esta:

    Editor de Script después de haber añadido un evento de hotspot


    La línea "function hDoor_Look" define que el script que contiene se ejecutará cuando ocurra ese evento. En AGS, las llaves { y } sirven para marcar el inicio y el final de un bloque de script. Todo lo que escribas entre las llaves se ejecutará como parte de ese evento.

    Tienes a tu disposición un tutorial que te ofrece una introducción al lenguaje de scripting, así que no me voy a extender en su explicación aquí. Pero podemos empezar con algo sencillo, usando el comando Display, que sirve para mostrar un mensaje al jugador. Escribe en tu script algo así:

    Un script sencillo


    Una vez que hayas finalizado, haz clic en la pestaña "Room 1" para volver al editor de estancias.

    Puntos Walk-to o Ir a…

    Volvemos a la edición de hotspots. Voy a darte una pequeña explicación de la opción "Walk-to point" de la rejilla de propiedades. Esta opción te permite asignar una posición a la que el personaje irá cuando el jugador interactué con el hotspot, del mismo modo que los juegos de la saga Monkey Island de Lucasarts.

    Si creas un punto Ir a… (walk-to point), cuando el jugador haga clic en un hotspot para interactuar o hablar, el personaje primero caminará hasta ese punto antes de que se active el evento asignado a ese hotspot. Si quieres, también puedes hacer que el personaje caminé hasta ese punto cuando utilice la acción LOOK (MIRAR), esta opción se puede ajustar en el panel General Settings.

    Para eliminar un punto Ir a… simplemente asígnale el valor 0,0.

    Edges - Bordes

    Ya hemos visto las bases para la creación de estancias. Pero aún nos queda un detalle, que ya vimos por encima en el anterior tutorial, los bordes.

    Selecciona "Edges" en la lista. Ahora, haz clic en el botón Events de la rejilla de propiedades. Esta vez veremos los eventos de la estancia seleccionada.  Dentro de los eventos listados, fíjate en  "Walks off left edge", "Walks off right edge", etc. Estos eventos se ejecutan cuando el jugador atraviesa alguno de los bordes que definimos en el anterior tutorial. Normalmente usarás el comando de script player.ChangeRoom asociado a estos eventos para que el personaje se displace a otra estancia.

    Ahora pulsa F5 para probar lo que hemos añadido. Asegúrate de que cuando mires el hotspot 1 el juego muestra el mensaje que has especificado para dicho hotspot.

    Tutorial de Scripting

    Ahora es un buen momento para que le eches un vistazo al tutorial sobre scripting para que comprendas mejor como funciona el código que has escrito en los scripts. Otra alternativa es que acabes primero este tutorial y luego revises el tutorial de scripting.

Comentarios sin revisar
Entre los comentarios no revisados puede haber algunos
interesantes que se hayan enviado recientemente.


Se han encontrado 2 comentarios sin revisar




El autor
Rubén Lapuerta
Colaborador Desarrollo Multimedia
http://www.desarrollomultimedia.es
Manuales

Donaciones
Si piensas que te hemos ayudado y merecemos tu apoyo económico...