Gestionando el Inventario, Adventure Game Studio

04 de noviembre de 2008
Valoración del artículo:
Cada personaje del juego puede llevar su propio inventario. Los objetos del inventario son completamente independientes de los objetos de una estancia.
Atención: Contenido exclusivo de DesarrolloMultimedia.es. No reproducir. Copyright.

Y deberás configurar cada objeto que el jugador pueda llevar en el invetario en algún momento del juego.

Gestionando el Inventario

Para evitar confusiones vamos a respetar la diferenciación que existe en la versión inglesa del tutorial. Donde se denomina object a las cosas que hay en una habitación y se usa ítem para denominar a dichas cosas una vez que pasan a formar parte del inventario. Por lo tanto vamos a diferenciar entre objetos de estancia para los objetos que están presentes en una pantalla y objetos de inventario que serán los mismos objetos una vez que se incorporan al inventario.

Para que quede más claro piensa en la llave que estamos usando el tutorial. Esa llave es un objeto de estancia que hemos creado y que solo existe en esa estancia de nuestro juego. Una vez que el jugador la recoge, la llave deja de ser un objeto de estancia y pasa a ser un objeto de inventario con propiedades y opciones de configuración diferentes.

Ve a la opción "Inventory items" (Objetos de Inventorio) del Árbol de Proyectos. Ya vimos de pasada esto en la parte 4, pero ha llegado el momento de que lo veamos en más detalle.

El editor de inventario


Todos los objetos que el jugador pueda llevar en el inventario en algún momento del juego son listados en el Árbol de Proyectos. Todos los objetos tienen un asignado un número, su ID de inventario, que es algo que se usa principalmente para dar compatibilidad con versiones anteriores de AGS.

Para editar un objeto de inventario,  haz doble clic sobre el en el Árbol de Proyectos y aparecerá una nueva ventana con las propiedades de dicho objeto en la rejilla de propiedades. Si quieres que el jugador empiece el juego con ese objeto ya en el inventario, configura la opción "PlayerStartsWithItem" como True. Recuerda que si quieres cambiar la imagen que se usará para representar a ese objeto dentro del inventario, debes seleccionar "Image" y hacer clic en el botón "..." para seleccionar la imagen que quieras usar.

Si en la parte anterior probaste el juego para comprobar si todo funcionaba bien, te darías cuenta de que a pesar de que el jugador podía recoger la llave y esta aparecía en su inventario, el jugador no podía hacer nada con ella, hacer clic en Look-Mirar o Use-Usar sobre el objeto no servía para nada.

Para poder dotar de cierta interactividad a este objeto, tenemos que recurrir una vez más a la lista de Eventos (Events List). Haz clic en el botón "Events" (con el icono de un rayo) para que aparezca la lista:

La lista de eventos…esta vez aplicada al inventario


Ahora es importante que te fijes en que si usas el inventario por defecto (el que estamos usando en este tutorial), los únicos eventos que se pueden usar son "Look at inventory item"(Mirar objeto del inventario) y "Use inventory on this item" (Usar inventario en este objeto). Esto es debido a que el inventario por defecto solo dispone de las opciones Look-Mirar y Select-Seleccionar. El resto de opciones solo están disponibles si diseñas tu propio GUI (algo que es muy complicado, así que vamos a olvidarnos de ello por ahora).

Así que selecciona el evento "Look at inventory item", y haz clic en el botón "...". Te encontrarás con el editor de script, pero esta vez veras que ya hay algunas líneas de código escritas por defecto así como una nueva línea que hemos introducido nosotros, fíjate en la imagen:

Script para mirar la llave


Ahora estamos editando el global script. Este script contiene eventos que se refieren a elementos game-wide (por si no lo recuerdas, esto se refiere a objetos que aparecen en todo el juego, que no están restringidos a una sola estancia) como los objetos de inventario o los personajes. Anteriormente hemos estado trabajando con hotspots y objetos de estancia, los cuales estaban limitados a su propio room script-script de estancia.

Lo único que hemos hecho ha sido añadir un comando Display para que se le muestre un mensaje al jugador cuando mire la llave. Intenta hacer lo mismo, puedes usar un mensaje diferente si quieres.

Hotspots para los objetos de inventario

Por defecto, cuando el jugador seleccione un objeto del inventario para usarlo, y este pasa a ser el puntero del ratón, se tomará el centro del objeto como hotspot, es decir será el centro del objeto lo que tendremos que usar para cliquear sobre el elemento con el que queramos interactuar. Sin embargo, puede que queremos modificar este comportamiento con algunos objetos, por ejemplo con nuestra llave, querremos que sea la punta de la llave y no la empuñadura lo que se use para interactuar con la cerradura.

Para configurar que parte del objeto queremos usar como hostspot, simplemente haz clic sobre la parte de la imagen que quieras usar y aparecerá una marca donde hayas cliqueado.

Si la opción "Draw crosshair" esta activada, se dibujará una marca en ese punto que será visible durante el juego para que el jugador puede identificar fácilmente que parte del puntero esta activa. Puedes configurar los colores internos y externos de la marca.

Recapitulación

  • Los elementos de inventario no son objetos. Ambos son completamente independientes, aunque a menudo, coger un objeto le dará al jugador un elemento de inventario.
  • Cada personaje tiene su propio inventario. Si estas creando un juego como Day of the Tentacle, donde el jugador puede alternar entre diferentes personajes, ten en cuenta que cada personaje tendrá sus propios elementos de inventario. Normalmente usarás comandos de inventario para controlar el personaje activo.
  • Para dar al jugador un elemento de inventario usar el comando player.AddInventory.

Comentarios de los visitantes
Aun no hemos recibido comentarios de este artículo.
Puedes ser el primero en enviar tu comentario.



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...

Un lugar donde se muestran las creaciones de los visitantes de DesarrolloMultimedia.es