LECCIÓN 2:
Te daré un poco de luz.

Una lámpara básica paso a paso

Bueno, ya hemos mencionado todo lo necesario para seguir este tutorial —podéis consultarlo al final del capítulo anterior—. Ahora vamos a empezar a escribir nuestras primeras líneas de Decorate... Esta vez crearemos una lámpara que brille e ilumine.

Para empezar, escribiremos algo como esto —en el Bloc de Notas u otro editor de texto similar—:

ACTOR Lampara 20001
{

Esto viene a decir algo así como "crea un personaje llamado Lámpara y asígnale el número de editor 20001".

ACTOR es algo muy importante a la hora de escribir un nuevo objeto Decorate. A continuación tenemos el nombre del objeto que vamos a crear —Lampara, en este caso—, y su número de identificación, 20001, que usaremos para colocarlo en nuestros mapas con cualquier editor como Wadauthor, DoomBuilder, etc.

Después, abrimos un corchete. Esto también tiene su importancia cuando escribamos Decorate, porque cada conjunto de propiedades, estados, etc, irá dentro de corchetes.

Bien, ahora añadiremos esto otro:

  Solid
  Radius 16
  Height 56

Éstas, amigos, son las propiedades. Son importantes a la hora de definir nuestro nuevo objeto o personaje. Aquí acabamos de decir que nuestra lámpara "sea sólida, tenga una altura de 56 unidades y ocupe un radio de 16".

Solid define al objeto como un sólido; es decir, que bloqueará al jugador y a los demás actores —monstruos, etc—. Luego tenemos Height y Radius; Height indica la altura del objeto, y Radius el radio que ocupa. Ambas características se miden en "unidades Doom"1 o píxeles.

Ahora continuamos con esto:

  States
  {

Ahora parece que llegamos a la parte interesante..., los ESTADOS (o "states" in english, ol' chap). Con esta palabra —States— y el corchete abierto comenzamos con los estados; o sea, el bloque de código que especifica lo que ocurre cuando nuestro objeto se mueve, aparece en el mapa, ataca, etc.

Ahora escribiremos lo siguiente:

    Spawn:
      LUZZ ABCD 3 Bright

Spawn define el estado de "aparecer en el juego", que es el único que necesitaremos para la lámpara. Luego encontramos el nombre del sprite que usaremos, LUZZ; los frames2 necesarios ABCD; y la duración en tics de cada uno de ellos —3 en este ejemplo; 35 tics equivalen a un segundo—. Bright serviría para que el sprite estuviera iluminado sin tener en cuenta la iluminación de la parte del mapa dónde lo vayamos a colocar.

Esto funcionaría así: al aparecer el objeto en el mapa, se mostraría primero el frame LUZZA0, luego LUZZB0, después LUZZC0 y por último LUZZD0. Como queremos que esta animación sea continua, añadimos:

      Loop

Esto significa algo como "repite la animación indefinidamente". Creo que lo he dejado claro...

Ahora, lo único que nos queda por hacer para terminar nuestra lámpara es cerrar los corchetes que teníamos abiertos...

  }
}

Y el script completo debería quedar más o menos así:

ACTOR Lampara 20001
{
  Solid
  Radius 16
  Height 56
  States
  {
    Spawn:
      LUZZ ABCD 3 Bright
      Loop
  }
}

Si hemos hecho esto bien, creamos un archivo WAD con un lump DECORATE, importamos el texto en él... Y ya podríamos ver nuestra lámpara en acción, bien colocando algunas en un mapa con un editor, bien tecleando summon lampara en la consola de Zdoom o GZdoom.

¡Hemos terminado con nuestro primer trabajo Decorate! Que, ¿a qué mola? Pues venga, a la siguiente lección...


NOTAS...

1 Las "unidades Doom" serían los valores numéricos que emplea el juego para calcular las distancias. Por ejemplo, el marine que manejamos habitualmente mide unas 64 unidades de alto, que quizá podrían equivaler a unos dos metros.

2 Un "frame" es cada una de las imágenes que componen una animación. En la mayoría de los juegos casi todos los sprites son animados, incluso para representar objetos estáticos del escenario. Por ejemplo, sucede así con las antorchas que encontramos decorando muchos mapas de Doom..., o bueno, con la lámpara que estamos comentando ahora.


Cumple con el estándar HTMLCumple con el estándar CSSApta para cualquier navegador

Podéis copiar libremente cualquier contenido de esta página. Si se trata del texto o las imágenes, mencionad la fuente (www.arcades3d.net)...