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.
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...
Ahora explicaremos lo que vamos a necesitar para comenzar a trabajar con Decorate... Que viene a ser esto:
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...
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.
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)...