Crea tu propio Wherigo (11) FINALIZANDO NUESTRO CARTUCHO

Esta entrada forma parte del curso “Crea tu propio Wherigo”: Pincha en los siguientes enlaces para ver las entregas anteriores del mismo:

1: EL RETO

2: COMENZANDO NUESTRO CARTUCHO

3: GRÁFICOS Y AUDIO: LOS MEDIA

4: DE ZONA EN ZONA y tiro porque me toca

5: PERSONAJES Y OBJETOS… dialogando con unos y cogiendo a los otros

6: TASK Y VARIABLES… Vamos avanzando

7: INPUTS… ¡Comienza la diversión con la Action If/Else!

8: TIMERS… Carreras contrarreloj!!!

9: FUNCTIONS Y ACTIONS

10: EXPRESSIONS

……………………..

Wherigo es una marca registrada.

Antes de nada recomiendo encarecidamente leer las guidelines oficiales, así como la sección de preguntas frecuentes para tener claro que podemos y que no podemos hacer a la hora de crear y publicar un caché Wherigo.

………………………

Comienza aquí esta undécima entrega del tutorial “Crea tu propio Wherigo” en el que, en primer lugar, realizaremos una pequeña descripción de las distintas propiedades de los Objects de nuestro cartucho con las que podemos trabajar y, finalmente, daremos unas pequeñas recomendaciones a la hora de finalizar el cartucho y publicarlo en Wherigo.com.

OBJECTS AND PROPERTIES

A lo largo de las distintas entregas del tutorial hemos creado distintos Objects (Zones, Items, Characters, Tasks, etc…) y hemos creado eventos utilizando sus distintas propiedades, por lo que ya deberíamos estar familiarizados con muchas de ellas. Sin embargo, a continuación vamos a realizar una enumeración de todo lo que nos ofrece el cuadro “Objects and Properties” en la parte inferior izquierda de la ventana de Urwigo, a fin de tener una enumeración lo más completa posible. Debido a que muchas de las propiedades se repiten de un Object a otro, únicamente realizaremos la descripción y pondremos ejemplo gráfico la primera vez que nombremos cada una de ellas:

  1. Cartridge: Este apartado recoge las propiedades generales de nuestro cartucho.

a) Complete: Esta propiedad nos permite indicar el momento en el que el jugador ha completado el cartucho. Así, una vez lleguemos al momento en el que el jugador ha realizado la acción necesaria para considerar que ha terminado el juego, debemos colocar un SET Cartridge.Complete=True como en la siguiente imagen:

3825744_640pxb) Activity type: En nuestro caso esta propiedad tiene poca importancia, pues sirve para modificar el tipo de cartucho entre las opciones Tourguide, Puzzle, Fiction o Geocache. En principio nuestro cartucho mantendrá su tipo de actividad desde el principio hasta el final, pero si por cualquier motivo quisiéramos modificarla lo haríamos a través de un SET, seleccionando el nuevo tipo en el cuadro que aparecerá en la parte superior derecha de la pantalla:

3825744_640pxc) Display: Como ya sabemos, esta propiedad implica la visibilidad o no del cartucho para el jugador. Si el Display =TRUE, el cartucho es visble, mientras que si es FALSE el jugador no podrá verlo. Su modificación se realiza a través de un SET Cartridge.Display= (TRUE/FALSE).

3825744_640pxd) Image e Icon: Estas propiedades representan la Imagen principal del cartucho y su Icono respectivamente. Podemos modificarla a traves de un SET Cartridge.Image=(la imagen que queramos de nuestros MEDIA) o SET Cartridge.Icon=(la imagen que queramos de nuestros MEDIA).

3825744_640pxe) Name: Sirve para cambiar el nombre a nuestro cartucho a través de un SET Cartridge.Name=(el nuevo nombre que queramos).

3825744_640pxf) Description y Start Description: Sirve para cambiar las descripciones de nuestro cartucho a través de un SET Cartridge.Description=(la nueva descripción que queramos) o SET Cartridge.StartDescription=(la nueva descripción inicial que queramos).

3825744_640pxg) Version, Company y Author: Sirve para modificar estos parámetros sin importancia práctica en el cartucho a través de sus respectivos SETs.

2. Player: Este importante Objet representa algunas características del jugador. Al descargar el cartucho de Wherigo.com se utiliza el mismo nick y password que en geocaching.com, por lo que cada cartucho bajado es único y una parte de su código está ligado al usuario concreto que se lo ha bajado.

a) Name: Esta propiedad representa el nick en geocaching.com del usuario que se ha bajado el cartucho, por lo que es posible que el juego le llame por su nombre icluyéndolo dentro de un Dialog como ya hemos visto en alguna ocasión anterior. El siguiente ejemplo gráfico tendría como resultado que el cartucho me dijera “HOLA manupor3”, mientras que a cualquier otro usuario le llamaría por su nick:

3825744_640px

Es una curiosa propiedad con la que, a traves de un simple If Compare Player.Name=manupor3, Else, podríamos hacer que el cartucho planteara un reto distinto al usuario con nick=manupor3, sin embargo hacer esto está explicitamente prohibido por las guidelines específicas de los Wherigo, ya que podría implicar dar un paseo más o menos complicado a los jugadores en función de la afinidad que con ellos tuviera el programador. Pero no deja de ser interesante.

b) Completition Code: Esta propiedad representa un código de desbloqueo para utilizar en wherigo.com válido únicamente para el usuario que se ha bajado el cartucho. Su utilización es idéntica a Player.Name y es conveniente ofrecerlo al jugador una vez haya completado el cartucho de la siguiente forma:

3825744_640pxc) Inventory Count: Esta propiedad representa en número de objetos que el jugador tiene en ese momento en su inventario. Su utilización podría ser variada a traves de Dialogs, If/Elses, etc… en función de lo que necesitemos. Por ejemplo, si queremos que el jugador tenga un inventario limitado a 5 objetos, podríamos crear un evento en el que al ir a coger uno más, se nos dijera que es imposible:

3825744_640px3. Environment: Nunca he utilizado este Object y no creo que sea demasiado útil. Aunque, por supuesto si alguien tiene una opinión contraria, le agradecería que nos la expusiera en un comentario a esta entrada.

4. Current Objects: A través de este Object podremos trabajar con las propiedades de la Zone, Character, Item, Task, Input o Timer que esté en ese momento ejecutándose. Al igual que ocurría con Environment, nunca he trabajado con Current Object, pues prefiero nombrar al Object específico que con el que quiera trabajar en lugar de hacerlo con el que esté “corriente” en ese momento. Sin embargo, si alguien necesita hacerlo de otra forma, por ejemplo porque al tratarse de un elemento aleatorio el programador no sabe de cual se va a tratar, puede utilizar Current Objects.

5: Zones: Comenzamos ya con los Objects que hemos creado nosotros específicamente. En este caso las zonas, cuyas propiedades son las siguientes:

a) Active: Una zona Activa=True es una zona en funcionamiento para nuestro cartucho. En ella se producirán los eventos que se hayan programado cuando corresponda, mientras que una zona Activa=False es una zona que no existe para nuestro cartucho hasta que ese estado cambie a través de un SET Zone.Active=TRUE.

3825744_640pxb) Display: Una Zona.Display=True es visible por el jugador, mientras que una Zona.Display=False se mantiene oculta. Hay que decir que una zona activa puede ser visible o invisible, pero una zona inactiva será siempre invisible.

ESTRATEGIA PARA EVITAR EMULACIÓN DEL CARTUCHO

Personalmente me gusta utilizar la combinación de zonas activas e invisibles para crear una pequeña trampa a aquellos jugadores que pretendan completar el cartucho vía emulación de cualquier tipo en lugar de desplazandose al lugar que yo he determinado. Es tan sencillo como crear una “zona fantasmaactiva pero invisible por la que el jugador no tenga más remedio que pasar en el transcurso normal del juego, por otro lado se crea una variable numérica de valor 0 para los tramposos que se convierte en valor 1 al pasar por la zona fantasma. Al emular el juego, el jugador no pasará por esa zona, sino que se colocará directamente en su destino, por lo que al finalizar la aventura, el buen jugador tendrá un 1 en su variable, mientras que el “tramposo” mantendrá el 0 con el que comenzó.  Así, en el momento de dar las coordenadas finales del caché, a través de un simple If Compare Variable para tramposos=1 (dar coordenadas), else (Llamar tramposo, o lo que se nos ocurra al jugador y hacerle comenzar de nuevo) podemos dejar a más de un listillo con cara de WTF.

c) In range e In Proximity: Estas propiedades representan la distancia a la zona que se considera In range e In proximity, a efectos de los eventos que hayamos programado para dichas distancias. Su modificación a través de SETs coincide con lo que se ha visto en el resto de la entrada.

5) Characters: Las propiedades de los personajes no jugables de nuestro cartucho coinciden con las ya expuestas anteriormente salvo la anecdótica Gender, que representa si dicho personaje es masculino, femenino o bien una cosa. Su modificación a través de SETs coincide con lo que se ha visto en el resto de la entrada.

6) Items: Las propiedades de los Items coinciden también con las ya nombradas a excepción de Locked y Opened, que representan respectivamente si el objeto ha sido visto o abierto durante la aventura a los efectos que pudieran interesarnos (principalmente para que ocurran unos acontecimientos u otros a través de los If/Else correspondientes). Su modificación a través de SETs coincide con lo que se ha visto en el resto de la entrada.

7) Tasks: Las propiedades de las tasks ya han sido descritas en esta entrada a excepción de Complete y Correctness, que sirven para establecer si la tarea ha sido completada o no y, a su vez, si se ha hecho con exito o fracaso. Su modificación a través de SETs coincide con lo que se ha visto en el resto de la entrada.

8) Variables: Todas las propiedades de las variables ya han sido descritas en esta entrada.

9) Inputs: Todas las propiedades de los Inputs ya han sido descritos en esta entrada a excepción de Question, que representa la pregunta planteada al jugador por el Input y puede ser utilizada y modificada como consideremos necesario a traves de los procedimientos habituales.

10) Timers: Las propiedades de los Timers son las siguientes:

a) Type: Representa el tipo de timer y podremos alternar entre Interval y Countdown como nos parezca conveniente.

b) Remaining: Esta propiedad representa el tiempo, en segundos, restante que le queda al timer para concluir. Su modificación a través de SETs coincide con lo que se ha visto en el resto de la entrada.

c) Elapsed: Esta propiedad representa el tiempo, en segundos, que ha transcurrido en un timer desde su comienzo. Su modificación a través de SETs coincide con lo que se ha visto en el resto de la entrada.

d) Durantion: Esta propiedad representa la duración del timer en segundos. Su modificación a través de SETs coincide con lo que se ha visto en el resto de la entrada.

11) Functions: Las propiedades de las Functions ya han sido descritas en esta entrada.

12) Media: Las propiedades de los Media ya han sido descritas en esta entrada.

FINALIZANDO NUESTRO CARTUCHO

Una vez hemos completado la programación de nuestra aventura, es recomendable no ovidar algunos aspectos:

  1. Colocar un SET cartridge.Complete=True, como hemos visto en esta misma entrada para indicar al cartucho que se ha finalizado la aventura.

2. Ofrecer al jugador las coordenadas finales donde hayamos escondido el caché y el código para desbloquear el cartucho en Wherigo.com. El método que yo utilizo es crear dos Items (Coordenadas Finales y Código de Desbloqueo) invisibles y en poder del jugador desde el inicio de la aventura. En el On Clicked de cada uno coloco un Dialog con el mensaje que corresponda en este caso (coordenadas y Completition.Code) utilizando Concatenate para crear un mensaje más elegante.

3. Si no son necesarios, hacer invisibles y, en su caso inactivas, todas las zonas, Items, Characters y Tasks que queden visibles en el momento de finalizar la aventura.

4. En el Menú Cartridge, activar la casilla ENABLED de Emulator Protected, añadiendo un mensaje para quien pretenda emular el cartucho en “Displayed Text“.

EMULANDO NUESTRO CARTUCHO

En cualquier momento de la programación de nuestro cartucho podemos emularlo en el ordenador para comprobar que todo funciona como nosotros pretendemos. La forma de hacerlo es a través del botón Build de la barra de Menus de Urwigo y haciendo click en RUN. En este momento se abrirá una consola virtual en la que podremos mover un pequeño personaje que representa al jugador por un mapa para comprobar que todo funciona como hemos planeado.

3825744_640pxPROBANDO NUESTRO CARTUCHO

Una vez hayamos comprobado en el emulador que el cartucho funciona bien, es el momento de crear un archivo para ejecutarlo en nuestro dispositivo móvil y probar el cartucho sobre el terreno antes de mandarlo a publicar. La manera de hacerlo es a través del menú Build de la barra de menús de Urwigo, seleccionando “Compile Cartridge (gwc)” y “Pocket PC“.

A continuación elegiremos un nombre para nuestro archivo de extensión .gwc y la carpeta de nuestro disco duro en la que se creará. Tras esto, sólo debemos copiar el archivo en la carpeta WhereYouGo de la tarjeta de memoria de nuestro dispositivo móvil y utilizarlo en la aplicación como si lo hubieramos bajado de Wherigo.com.

SUBIENDO NUESTRO CARTUCHO

Una vez que el cartucho este finalizado, probado y reprobado, llegó el momento de publicarlo. Para ello debemos crear un archivo de extensión .gwz a través del Menú Build de la barra de menús de Urwigo y seleccionando Build Package (gwc). De las dos opciones que aparecen a continuación yo utilizo Default Encoding, pero he probado ambas y las dos funcionan de forma similar. A continuación pondremos un nombre a nuestro archivo y le daremos una ubicación en nuestro disco duro.

Tras esto entraremos en la web Wherigo.com y haremos sign in utilizando el mismo nick y password que utilizamos en geocaching.com. Allí, seleccionaremos “My Home” y “Upload a Cartridge” para, a continuación pulsar el botón Examinar y seleccionar el archivo de extensión .gwz que hemos creado en nuestro disco duro. Por último haremos click en Upload GWZ file para comenzar a subirlo. Dependiendo del tamaño de nuestro cartucho (que básicamente depende de la cantidad de archivos mp3 que hayamos incluido) la subida puede demorarse unos minutos.

Tras editar los detalles del cartucho como nos apetezca, sólo restará colocar el enlace a la página del mismo en el listig del caché que estemos preparando.

¡¡EL WHERIGO ESTÁ TERMINADO!!

……………………………….

Y con esto doy por finalizado el tutorial “Crea tu propio Wherigo”. Estoy contento con el resultado si bien creo que me ha llevado demasiado trabajo para los pocos compañeros que lo han seguido desde el principio hasta el día de hoy. Sin embargo, con que sólo uno de ellos haya aprendido un poco más sobre la programación en Urwigo y aparezca en el mapa un sólo cache gracias al tutorial, ya habrá merecido la pena.

Para aquellos de vosotros que hayan seguido  EL RETO desde el principio siguiendo las normas establecidas en su momento. Teneis dos semanas para completar vuestro cartucho y darle los últimos retoques, a continuación compilad un cartucho con extensión GWC utilizando las técnicas que hemos visto hasta ahora y enviádmelas a manupor3@gmail.com
El plazo de entrega finalizará a las 21 horas del viernes 23 de octubre de 2015 y el ganador se publicará en el blog antes del 31 de octubre.

Todas las dudas que pudieran surgir de la explicación, agradecería que no se me plantearan por privado, sino como comentario a esta entrada, para que todo el mundo pueda consultarla, así como la respuesta que, si tengo, daré a la misma.

¡¡¡Eso es todo amigos!!!

¡¡¡FELIZ GEOCACHING Y FELICES WHERIGOS A TODOS!!!

Anuncios

2 pensamientos en “Crea tu propio Wherigo (11) FINALIZANDO NUESTRO CARTUCHO

  1. Gracias Manu. No te quepa duda de que aunque tu curso lo siguieran solo unos pocos (por diversos motivos ya que no a todos nos vino bien en su momento) el trabajo que realizaste, ahí queda, para poder ser consultado durante generaciones y generaciones

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s