PRÓLOGO:
Una breve introducción a DECORATE

Hola, y bienvenidos a mi manual de Decorate, basado en las difuntas clases de Wadauthor de Transon —o como leñes se escriba—, de Wintex de Cabro y de DCK de no sé quién...1 Bien, empezaremos con una pequeña introducción a Decorate.

¿QUÉ ES DECORATE?

Durante estos últimos años han ido publicándose nuevas versiones de Zdoom, y también ha aparecido algo llamado GZdoom —un source-port bastante reciente, basado en Zdoom—. Bien, pues dentro de las profundidades recónditas de los wads creados para estos puertos está el lump DECORATE. Supongo que no sabéis para qué sirve, ¿no?

Bueno, DECORATE, sin ninguna matización, sirve para crear nuevos monstruos en Zdoom y GZdoom. Por supuesto que podemos ampliar esta definición: DECORATE es un lump2 que podemos añadir a los wads hechos para Zdoom y puertos derivados. Está basado en un sistema de scripting parecido al ACS,3 que nos da la posibilidad de crear nuevos objetos, monstruos, ítems, armas, etc.

Y ahora que hemos matizado la definición podemos pasar a conocer el funcionamiento de este lump. DECORATE emplea texto plano; esto quiere decir que podemos añadirlo a nuestros wads simplemente importando un archivo TXT en Wintex, XWE o algún programa similar.

Aquí tenéis un ejemplo de un script DECORATE:

============================================
NamiDarkImp
Created by: Nanami
============================================

actor NamiDarkImp 3100
{
  $Category "Zdoom Monster Pack"
  Health 120
  Radius 20
  Height 56
  Speed 8
  PainChance 200
  MONSTER
  +FLOORCLIP
  SeeSound "imp/sight"
  PainSound "imp/pain"
  DeathSound "imp/death"
  ActiveSound "imp/active"
  MeleeSound "imp/melee"
  Obituary "%o was cursed by a dark imp."
  HitObituary "%o was touched by a dark imp."
  MissileType DarkSeeker
  MeleeDamage 3
  States
  {
    Spawn:
      DRKI AB 10 A_Look
      Loop
    See:
      DRKI AABBCCDD 3 A_Chase
      Loop
    Melee:
    Missile:
      DRKI EF 8 A_FaceTarget
      DRKI G 6 A_ComboAttack
      Goto See
    Pain:
      DRKI H 2
      DRKI H 2 A_Pain
      Goto See
    Death:
      DRKI I 8
      DRKI J 8 A_Scream
      DRKI K 6
      DRKI L 6 A_Fall
      DRKI M -1
      Stop
    XDeath:
      DRKI N 5
      DRKI O 5 A_XScream
      DRKI P 5
      DRKI Q 5 A_Fall
      DRKI RST 5
      DRKI U -1
      Stop
    Raise:
      DRKI ML 8
      DRKI KJI 6
      Goto See
  }
}

actor DarkSeeker
{
  Radius 8
  Height 6
  Speed 9
  Damage 3
  +SEEKERMISSILE
  PROJECTILE
  RENDERSTYLE ADD
  ALPHA 0,67
  SeeSound "imp/attack"
  DeathSound "imp/shotx"
  States
  {
    Spawn:
      DKB1 AB 4 Bright A_SeekerMissile (5,10)
      Loop
    Death:
      DKB1 CDE 4 Bright
      Stop
  }
} 

¿Complicado, verdad? Pues bien, nos os preocupéis, porque seguro que en poco tiempo haréis cosas como ésta.

Bueno, prosigamos...

INGREDIENTES RICOS RICOS Y CON FUNDAMENTO (Lección 1)

Ahora explicaremos lo que vamos a necesitar para comenzar a trabajar con Decorate... Que viene a ser esto:

  • Lo primero de todo, necesitaremos un editor de lumps. Yo uso la última versión de XWE, o en caso de emergencia, Lump Editor.
  • Por si acaso, necesitaremos un editor de texto como NotePad (el Bloc de Notas de Windows).
  • Tenemos que poner los sprites que necesitemos antes de empezar a trabajar. En nuestro primer trabajo, usaremos los sprites LUZZA0, LUZZB0, etc.
  • Y por último, vamos a necesitar los sonidos, lumps adicionales, y demás cosas imprescindibles para que nuestra creación funcione.
Pasa a la siguiente lección...

SOBRE ESTE MANUAL:

Este texto es obra de Jack the Ripper, y en un principio apareció publicado en wikihost.org; si no me equivoco, durante el invierno de 2006. De hecho aún sigue allí, y podéis consultar en el siguiente enlace el manual original:

http://wikihost.org/wikis/decoratetut/programm/gebo.prg?&name=start&stay=dyn

A la hora de colgarlo aquí, en Arcades 3D, me he limitado a copiarlo tal y como lo redactó y organizó Jack the Ripper... Bueno, en realidad no ha sido exactamente así; he corregido alguna frase confusa y ampliado alguna explicación —las "notas" que aparecen al final de varias de estas páginas son todas mías— para hacer el tutorial más fácil de seguir... Pero a fin de cuentas se trata de cambios pequeños, y el texto sigue siendo en esencia el mismo.

Mientras copiaba el texto y lo preparaba para su publicación en Arcades 3D me picó la curiosidad por ver algo de esto en acción. Y así, preparé un sencillo nivel de demostración con el nuevo monstruo mencionado en la tercera lección, el "plasmozombi". Bueno, es uno de esos calvitos con escopetas modificado, con un bigote y un guante gris... Este mapa de ejemplo podéis descargarlo de aquí (plasmozombi.rar); supongo que editar el archivo WAD con XWE o Wintex puede ser bastante instructivo.

Actualización: en septiembre de 2008 Doom Missed se ofreció amablemente a completar este tutorial, y escribió el "Apéndice B: Propiedades y flags" que Jack the Ripper dejó pendiente.

Y en fin, nada más. Disfrutad del manual...


NOTAS...

1 El tutorial de DCK mencionado en el texto también fue creado por Cabro; estuvo colgado bastante tiempo en su página personal, hasta que ésta cerró.

2 Los archivos WAD que emplean Doom y otros juegos basados en él contienen una o varias entradas de datos, llamadas lumps. Cada una de ellas tiene un nombre, y puede almacenar gráficos, texto, mapas... Algunas como MAPINFO, ANIMDEFS o DECORATE son propias de Zdoom y sus puertos derivados.

3 Un script es un pequeño texto con un grupo de instrucciones de algún lenguaje de programación, cuyo cometido suele ser muy concreto. El ACS es un sencillo lenguaje usado en Hexen y Zdoom, que permite programar eventos y modificar algunos detalles del juego.


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