jueves, 22 de abril de 2010

Desarrollando una aventura en Alan, capítulo 2: Diseño de la aventura y primeras habitaciones

anterior | índice | siguiente


Vamos a diseñar la aventura a implementar en este tutorial.

La idea básica es que estás en paro, y tu novia te echa del piso y te dice que o bien vuelves con un trabajo y dinero, o que no vuelvas. Por lo tanto, el objetivo de esta aventura es conseguir dinero y un trabajo.

La aventura transcurre en el siguiente mapeado:


En este sencillo mapeado colocaremos los elementos básicos que nos interesan:
  • lugares: las habitaciones del mapa
  • objetos: con los que interactua el jugador
  • PSIs: personajes con los que interactuar
  • scripts de eventos: que hacen que pasen cosas en el tiempo


Por comodidad, yo utilizo templates básicos de lugares y objetos que voy copiando y editando. A continuación tenéis los códigos:
----- templates --------------------

The xx Isa location
  Name xxx.
  Description 
    ".........."
  Exit norte To xx1.
  Exit sur To xx2.
  Exit este To xx3.
  Exit oeste to xx4.
End The xx.

The yy Isa object At xx
  Name yyy.
  Description
    ""
  Verb examinar
    Does Only
      ""
  End Verb.
End The yy.


Una localización necesita un nombre interno, xx, el nombre que muestra el intérprete, xxx, una description, la que ve el jugador, y las conexiones. Como veremos más adelante, se pueden incluir condiciones a las conexiones para hacerlas más complejas.

Un objeto es similar. Consta de un nombre interno yy, es de tipo object, se encuentra en xx. Tiene un nombre yyy (el que el jugador utiliza para cogerlo, examinarlo, etc). En Description va la descripción que aparece del objeto inicialmente en la habitación donde se encuentra, por ejemplo, si fuese una silla Description "Junto a la mesa hay una silla.". La descripción del objeto cuando el jugador lo examina, se da sobreescribiendo el verbo examinar, en la sección Verb examinar.

El Does Only es importante. Hay varios tipos de Does:
  • Does: realiza la acción especificada y después la original del verbo en la librería. (equivalente a un Does Before)
  • Does Only: ignora la librería y solo realiza esta acción.
  • Does After: realiza la acción tras realizar la de la librería

Ahora añadiremos una segunda localización, el lavabo. Y veremos como limitar el acceso con puertas.

Para añadir una dirección, contamos con la instrucción
Exit dirección To lugar
donde dirección es una de las usuales (norte, sur, este, oeste, etc.) y habitación el nombre de uno de nuestros lugares.

The bareto Isa location
  Name Bareto.
  Description
    "Un viejo y maloliente bareto de mala muerte... tu favorito.$nAl norte está el lavabo."
  Exit norte To lavabo.
End The bareto. 

The lavabo Isa location
  Name Lavabo.
  Description
    "De este infecto lavabo sale el olor característico del bareto.$nAl sur puedes volver al bareto."
  Exit sur To bareto.
End The lavabo.

Si ejecutamos la aventura, ahora ya podemos movernos entre los dos lugares por medio de norte y sur.

En el siguiente capítulo, dedicado a los objetos, veremos como añadir un objeto típico de todo bar que se precie: la jarra de cerveza. Y en el cuarto capítulo, aprenderemos a crear puertas y demás objetos similares que afectan a la movilidad entre lugares.

anterior | índice | siguiente

No hay comentarios:

Publicar un comentario