Sei sulla pagina 1di 107

Guia do Levelord Black Edition

-1-

Guia do Levelord Black Edition

DOOM: Guia do Levelord


Construindo e Modificando o DOOM
por Laete Meireles Drak[X]

1 Edio
.:. Black Edition .:.

.:. REVISO FINAL .:.

BrDOOM Portal brasileiro dedicado ao jogo DOOM


( http://www.brdoom.com )
BrDOOM Frum Frum oficial do portal
( http://www.brdoom.com/_forum )
[DBR] Clan Primeiro Cl brasileiro de jogadores
( http://www.dbr.brdoom.com )
[DRB] DOOM Resources Brasil
( http://www.brdoom.com/drb )
.:. DOOM Resources Brasil .:.
Todos os direitos reservados.
Copyright 2006-2008 por Laete Meireles Drak[X]
DOOM, DOOM II e Ultimate DOOM, so marcas registradas de id Software, Inc.,
Atualizado: Domingo 24, Fevereiro, 2008

-2-

Guia do Levelord Black Edition


AGRADECIMENTOS
Faltariam folhas para agradecer e parabenizar todas as pessoas que contribuem para o
desenvolvimento e a disseminao do DOOM aqui no Brasil. Parabns a todos, desde os jogadores que
se agarram a esse ideal com unhas e dentes, at aos programadores que elaboraram softwares que
facilitam a vida dos jogadores. somente com essa unio que faremos do DOOM, no um simples jogo
em 3 dimenso que marcou o incio dos FPS com mais realismo, mas sim, o jogo que marcou uma nova
era.
A era dos doomers!

CHANGELOG
1 edio .:. Black Edition .:. REVISO FINAL - 24/02/2008
Geral - Reviso final do guia sob o ttulo Black Edition
Geral - Correes ortogrficas.
1 edio .:. Black Edition .:. 4/10/2007
Geral - Relanamento do guia como 1 edio sob o ttulo Black Edition
Geral - Reestruturao Geral.
Geral - Acrscimo de texto sobre ACS Script.
Geral - Acrscimo de texto sobre Source Ports.
Geral - Correes ortogrficas.
3 edio .:. Volume Especial .:.
Geral - Acrscimo de texto.
Geral - Excluso do jogo Heretic (ser lanado numa verso futura ou num guia em separado).
Geral - Reorganizado o livro de forma a facilitar sua impresso.
Geral - Correes ortogrficas.
2 edio .:.
Excluso de diversos projetos, por estarem defasados.
Geral - Reestruturao.
Geral - Incluso do jogo Heretic.
Geral - Excluso do apndice Internet.
Geral - Correo ortogrfica.
1 edio .:. Lanamento oficial

-3-

Guia do Levelord Black Edition


NDICE
INTRODUO ............................................................................................................................6
1 - O que DOOM? ....................................................................................................................7
2 - Caractersticas do DOOM ........................................................................................................9
3 - Histria (Enredo) ................................................................................................................ 10
4 - Elementos do Jogo .............................................................................................................. 11
5 Produo ........................................................................................................................... 15
5.1 - Nveis ............................................................................................................................. 16
5.2 - Grficos .......................................................................................................................... 16
5.3 - Som ............................................................................................................................... 16
5.4 - Tecnologia....................................................................................................................... 16
5.5 - Controvrsia.................................................................................................................... 17
5.6 - Plataformas ..................................................................................................................... 17
6 - Portabilizao ..................................................................................................................... 19
6.1 - Confuso entre Portabilizao e Emulao............................................................................ 19
6.2 - Exemplo de "O que seria uma portabilizao" ....................................................................... 20
6.3 - Limite entre Portabilizao e a Reescritura de Software.......................................................... 20
7 - Liberao do Cdigo Fonte (Source-Code) .............................................................................. 22
8 - Source-Ports ...................................................................................................................... 23
9 - Principais Source Ports......................................................................................................... 24
9.1 - Boom e Variantes ............................................................................................................. 24
9.2 - PrBoom........................................................................................................................... 24
9.3 - PrBoom + (PrBoom Plus)..................................................................................................24
9.4 - Marines Best Friend (MBF) ................................................................................................ 25
9.5 - Eternity Engine ................................................................................................................ 25
9.6 - ZDoom e Variantes........................................................................................................... 25
9.7 - GZDoom ......................................................................................................................... 25
9.8 - csDoom .......................................................................................................................... 26
9.9 - ZDaemon ........................................................................................................................ 26
9.10 - Skulltag ........................................................................................................................ 26
9.11 - Odamex ........................................................................................................................ 26
9.12 - DOSDoom e Variantes .....................................................................................................27
9.13 - Doom Legacy ................................................................................................................. 27
9.14 - EDGE............................................................................................................................ 27
9.15 Doomsday Engine .......................................................................................................... 27
9.16 - nxDoom ........................................................................................................................ 28
10 Jogos em Rede ou Internet ................................................................................................ 29
11 Qual a diferena entre IWAD e PWAD? .............................................................................. 30
12 - Tirando Screenshots do Jogo...............................................................................................31
13 - Jogando Off-line (Single-Player) ..........................................................................................32
14 - Usando arquivos WAD externos ........................................................................................... 33
15 - Jogando atravs da linha de comando (Terminal)................................................................... 34
16 - Cdigos de Trapaa (Cheat Code) ........................................................................................ 37
17 - Editores de Mapas ............................................................................................................. 39
18 - Conhecendo o WadAuthor................................................................................................... 40
18.1 - A Aparncia do WadAuthor............................................................................................... 40
18.2 - Guia de Botes............................................................................................................... 41
19 - Configurando o WadAuthor ................................................................................................. 42
19.1 - Localizao dos Arquivos WADs ........................................................................................ 42
19.2 - Opes (Options)............................................................................................................ 42
19.3 - Cores (Colors)................................................................................................................ 42
19.4 - Arquivos (Files) .............................................................................................................. 43
19.5 - Geral (General) .............................................................................................................. 43
19.6 - Barras de Ferramentas (Toolbars) ..................................................................................... 44
19.7 - Visualizar (Views) ........................................................................................................... 44

-4-

Guia do Levelord Black Edition


20 - Selecionando um Jogo ....................................................................................................... 45
21 - Criando um Mapa .............................................................................................................. 46
21.1 - Criando a Primeira Sala ................................................................................................... 46
23.2 - Mudando o Formato da Sala ............................................................................................. 47
23.3 - Girando e Redimensionando (Escalando) a Sala .................................................................. 48
23.4 - Adicionando Jogadores e Inimigos..................................................................................... 48
24 - Editando Propriedades dos Objetos do Mapa.......................................................................... 50
25 - Criando um Corredor ......................................................................................................... 51
25.1 - Conectando o Corredor a Sala Principal.............................................................................. 51
25.2 - Criando uma Porta Local .................................................................................................. 52
25.3 - Providenciando uma Sada ............................................................................................... 53
25.4 - Jogando o Mapa ............................................................................................................. 55
26 - Edio Avanada de Mapas ................................................................................................. 56
26.1 - Criando uma Sala Secreta................................................................................................56
26.2 - Criando um Teleporter..................................................................................................... 57
26.3 - Criando uma Escada Bsica.............................................................................................. 58
26.4 - Criando uma Janela Padro .............................................................................................. 60
26.5 - Ajustes Finais................................................................................................................. 65
27 - O Que ACS Script? .......................................................................................................... 67
28 - Dominando ACS Script ....................................................................................................... 69
28.1 - ACS Script Bsico ........................................................................................................... 69
28.2 - Estrutura de um Script .................................................................................................... 69
28.3 - Comentrios .................................................................................................................. 70
28.4 - Variveis ....................................................................................................................... 71
28.5 - Usando Variveis ............................................................................................................ 72
29 - Criando um Script ............................................................................................................. 79
29.1 - Um Script Bsico ............................................................................................................ 79
29.2 - Executando Aes num Script........................................................................................... 82
30 - Criando um Script no Doom Builder ..................................................................................... 85
31 - Lista de Comandos ACS (ZDoom) ........................................................................................ 91
32 - PolyObjects ...................................................................................................................... 96
32.1 - Porta Dupla ................................................................................................................... 96
33 - LUMPS ............................................................................................................................. 99
33.1 - Lumps Textuais .............................................................................................................. 99
33.2 - Lumps Compilados.......................................................................................................... 99
34 Operadores ( Apndice ) .................................................................................................. 100
35 - Links Interessantes ......................................................................................................... 105
36 - Bibliografia ..................................................................................................................... 107

-5-

Guia do Levelord Black Edition

INTRODUO
Desde o princpio, inmeras pessoas fizeram muito mais que somente aceitar mudanas no
suporte a arquivos no DOOM. Muitas pessoas trabalharam para criar programas utilitrios e editores
para tornar mais fcil para qualquer pessoa efetuar mudanas. Estas pessoas se tornaram mestres
peritos no trabalho de construir arquivos (WAD) suplementares carregados pela engine de DOOM.
Aps uma longa pesquisa na Internet e um ano de trabalho na construo e teste de arquivos
extras (WADs), eu resolvi colocar todo o meu conhecimento adquirido neste livro, voc ir conhecer um
pouco da histria de DOOM e seus sucessores aprender a criar e modificar arquivos WADs, criando
mapas novos e modificando os mapas j existentes.
Este livro tambm inclui um estudo bsico sobre DOOM II (futuras verses deste livro tambm
iro tratar do Heretic e Hexen). Voc perceber depressa que este no um livro ensinando como jogar
estes jogos, nem ser um livro sobre como jogar os add-ons (WADs extras) para estes jogos. Nem um
livro de documentao para um arquivo WAD particular ou programa utilitrio em especial, com exceo
dos programas WadAuthor e Doom Builder, estes sero os programas usados para criar mapas para
DOOM, DOOM II.
Este livro no s lhe ensinar as dicas e truques de um dos maiores fenmenos de jogos para
computador de todos os tempos, mas tambm o apresentar a alguns dos mais altamente aclamados
arquivos WADs disponveis, tambm lhe ensinar a desenvolver seus prprios mundos atravs da
observao e anlise dos mapas criados por outros jogadores.
Em resumo, o colocar no caminho para o esclarecimento por meio de trabalho duro,
perseverana e claro, esforo prprio, voc pode um dia se tornas um completo desenvolvedor de
mapas para DOOM.
Este livro tambm inclui uma seleo de editores e outras ferramentas para voc usar. Voc
aprender a usar estas ferramentas com as pessoas que de fato os criaram.
Como nenhum livro, website ou CD-ROM pode conter todos os arquivos que podem ser achados
ou usados, o episdio final do livro contm informaes de onde voc pode obter mais arquivos de
DOOM. Tambm h informao de como e onde voc pode distribuir seus prprios arquivos de DOOM.
(Se voc estiver interessado em DOOM, definitivamente h muitos lugares para ir e pessoas para ver!).
Bom, vamos iniciar a nossa jornada rumo ao Inferno! Jogadores! Atirem em tudo que se mover!!!

-6-

Guia do Levelord Black Edition

1 - O que DOOM?
DOOM. Quem teria pensado que esta simples palavra se tornaria o padro pelo quais todos os
outros jogos seriam analisados? Mas, afinal o que DOOM? DOOM um fenmeno! DOOM um jogo
rpido, com realidade virtual e uma espcie de efeito 3D, criado pela produtora id Software. DOOM
tambm muito, muito mais! Como ns esperamos mostrar para voc neste livro.
DOOM (e seus add-ons - seqncias e nveis extras) considerado o Estado de Arte dos jogos de
computador. DOOM tremendamente popular e possui uma legio enorme de seguidores por todo
mundo. Porm, este livro no um manual para o jogador. Este livro para as pessoas que querem
criar os seus prprios nveis para DOOM (e para os jogos baseados nele!). So discutidos muitas
caractersticas deste jogo, e muitos dos melhores editores e outros utilitrios sero examinados em
detalhes, porm, os editores que sero utilizados neste livro so o WadAuthor e Doom Builder. Todo
esforo ser feito para apresentar tcnicas provadas e eficientes para que voc possa fazer o que quiser
com DOOM - de como a criar seus prprios nveis Singleplayer ou Multiplayer, ou mesmo alterar os
nveis j existentes para o jogo. Tambm lhe ser mostrado como continuar se divertindo com o jogo
depois que voc completar todos os seus nveis.
DOOM um jogo produzido pela empresa id Software seguindo o modelo lanado pelo jogo
Wolfenstein 3D. DOOM um jogo de perspectiva em primeira pessoa, e alcanou um sucesso
surpreendente conquistando uma legio de fs.
DOOM um jogo de computador lanado em 1993 pela id Software, e um dos ttulos seminais do
gnero first-shot (tiro em primeira pessoa). Combinando grficos 3D com violncia grfica, ele tornouse tanto controverso quanto imensamente popular, com um lanamento em verso shareware que
estima-se ter sido jogada por 15 milhes de pessoas. Alm de definir muitos elementos de jogo dos
games de tiro em primeira pessoa, Doom estabeleceu uma sub-cultura por popularizar os jogos em rede
e permitir expanses criadas pelos jogadores (WADs). O sucesso do jogo influenciou a exploso de jogos
nos anos 90 at o ponto desses jogos serem algumas vezes chamados de "clones do DOOM".
A franquia DOOM continuou com DOOM II: Hell on Earth (lanado em 1994) e numerosos
pacotes de expanso, incluindo The Ultimate Doom (lanado em 1995), Master Levels for Doom II
(lanado em 1995), e Final Doom (lanado em 1996). Originalmente lanado para o PC/DOS, esses
jogos foram subseqentemente portados para vrias outras plataformas, incluindo nove diferentes jogos
para consoles. A srie perdeu o apelo to logo o mecanismo grfico do Doom se tornou obsoleto no final
dos anos 90, mas foi revivido em 2004 com o lanamento do DOOM 3, uma releitura do jogo original
usando nova tecnologia.
Em 2004 foi lanada uma verso em tabuleiro, pela Fantasy Flight Games, com miniaturas dos
monstros e personagens.
J em 2005, foi lanada uma adaptao cinematogrfica de DOOM, batizada no Brasil de DOOM:
A Porta do Inferno.
DOOM possui as seguintes seqncias oficiais:
DOOM (Original) - Primeira verso do jogo, contendo trs sangrentos episdios, com vrios
nveis cada.
DOOM 2: Hell on Earth - Seqncia do jogo, agora j no existe mais o esquema de episdios.
Os nveis so lineares, ou seja, voc deve atravessar 32 nveis!

-7-

Guia do Levelord Black Edition


Final DOOM (TNT / Plutonia) - Verso especial de DOOM contendo dois episdios (TNT:
Evilution & The Plutonia Experiment), cada episdio com 32 nveis! Este um pacote especial contendo
nveis criados por jogadores de vrias partes do mundo!
Ultimate DOOM - Trata-se de um add-on (upgrade) para o jogo DOOM (para a verso original).
Este upgrade adiciona um quarto episdio (Thy Flesh Consumed).
The Master Levels for Doom II - Um pacote especial contendo 21 nveis criados por jogadores
de vrias partes do mundo!
DOOM 3 - Uma releitura do jogo original com nova tecnologia e grficos espetaculares!
DOOM 3: Resurrection of Evil - Pacote de expanso com mais carnificina!

Fig. 1 - Genealogia original de DOOM

-8-

Guia do Levelord Black Edition

2 - Caractersticas do DOOM
A engine de DOOM no apenas um upgrade da engine do Wolfenstein 3D. Ao contrrio, ele foi
totalmente reescrito linha por linha e melhorou incrivelmente. A estrutura de dados usada pela engine
tambm foi completamente redesenhada, de tal modo que permita um uso muito mais flexvel. Os vrios
captulos deste livro iro mostra para voc como flexvel (ou no!) essa nova engine usada pelo
DOOM.
Foram adicionadas texturas de cho e teto para tornar o DOOM muito mais realstico que
Wolfenstein 3D. Texturas de cu foram adicionadas para transmitir a sensao de reas amplas ao ar
livre. As texturas de cu so adies muito bem-vindas ao DOOM; reas ao ar livre so fceis de fazer, e
elas adicionam a iluso de espaos amplos. Tambm foram adicionadas texturas especiais de cho e teto
animadas que do a impresso de movimento, enquanto permitem reas com gua e at mesmo fludos
venenosos como cido! O primeiro nvel de abertura do DOOM apresenta o jogador a estas novas
caractersticas do jogo, como voc pode ver na imagem abaixo.

Fig. 2 - A janela, a arena e o cu.

-9-

Guia do Levelord Black Edition

3 - Histria (Enredo)
DOOM tem um tema de fico-de-horror, e um enredo bem simples. No entanto, o enredo s
aparece no manual, e a histria dentro do jogo em si mostrada em mensagens entre os episdios.
O jogador recebe o papel de um fuzileiro espacial, "one of Earth's toughest, hardened in
combat and trained for action", (Um dos mais dures na terra, endurecido em combate e treinado
para a ao) que foi deportado para Marte por atirar num oficial superior quando ordenado a matar civis
desarmados.
Ele forado a trabalhar para a Union Aerospace Corporation (UAC), um complexo militarindustrial que est realizando experincias secretas em teleportao entre as luas de Marte, Fobos e
Deimos. De sbito, algo d errado e criaturas do Inferno comeam a vir das reas de teleporte. Uma
resposta defensiva da segurana da base falha em deter a invaso, rapidamente dominada por
demnios, com toda a guarnio morta ou transformada em zumbis.
Ao mesmo tempo, Deimos desaparece inteiramente. Um time da UAC em Mars enviado a
Phobos para investigar o incidente, mas o contato pelo rdio cessa em breve e apenas permanece vivo;
o jogador, cuja tarefa escapar vivo.
Para terminar o jogo, o jogador precisa batalhar em trs episdios contendo nove fases cada.
Knee-Deep in the Dead, o primeiro episdio (e o nico, na verso shareware), se passa numa base
militar high-tech em Phobos.
Ele termina com o jogador lutando contra os Barons of Hell, entrando no teleportador que leva a
Deimos, onde ele estraalhado por monstros e aparentemente morre.
No segundo episdio, Shores of Hell, o jogador faz uma jornada atravs das instalaes em
Deimos, cujas reas mostram uma arquitetura bestial. Depois de encontrar o Cyberdemon (um demnio
com uma bazuca no lugar de um brao), a verdade sobre a lua desaparecida descoberta: ela flutua
sobre o Inferno!
O jogador desce at a superfcie e o episdio final, Inferno, comea.
Depois de destruir o chefo final, Spider Mastermind (uma espcie de crebro com patas,
altamente armado), uma porta secreta se abre para o heri, "proved too tough for Hell to contain"
("que provou ser macho demais para o Inferno conter"), ser levado de volta Terra. O pacote de
expanso Ultimate Doom adiciona um quarto episdio contando as peripcias da volta ao lar do
fuzileiro.

- 10 -

Guia do Levelord Black Edition

4 - Elementos do Jogo
Sendo um jogo de tiro em primeira pessoa, DOOM sentido atravs do ponto-de-vista do
personagem principal. O objetivo de cada fase simplesmente encontrar a sada que leva ao prximo
nvel (convidativamente rotulada com um sinal de EXIT em vermelho), enquanto se sobrevive a todos os
perigos ao longo do caminho. Entre os obstculos esto monstros, tanques com lixo txico, tetos que
vm abaixo e esmagam o jogador e portas trancadas por um carto-chave ou interruptor que precisa ser
encontrado. Os nveis so s vezes labirnticos (o auto-mapa uma ajuda crucial ao naveg-los), e
apresentam uma abundncia de reas secretas com power-ups como recompensa para que o jogador as
explore.
DOOM notvel pelo arsenal disponvel, que se tornou uma espcie de prottipo para os jogos de
tiro em primeira pessoa. O jogador comea armado apenas com uma pistola, e punhos com soco ingls,
mas podem-se apanhar armas melhores: a motoserra, a escopeta, a metralhadora giratria, o lana
foguetes, o rifle de plasma, e a imensamente poderosa BFG 9000 (acrnimo de Big Fucking' Gun ou,
numa verso adaptada pelos jogadores brasileiros ao portugus Bola de Fogo Gigante). H uma grande
variedade de power-ups, como a mochila que aumenta a capacidade de carregar munio, armadura, kit
de primeiros-socorros para restaurar a sade, e esferas azuis demonacas que aumentam a sade do
jogador alm de 100%, at um total de 200%.
Os inimigos no DOOM so os elementos principais do jogo. O jogador os encara em grandes
nmeros - no mais difcil dos nveis de dificuldade encontra at 12 inimigos numa mesma sala. Existem
10 tipos de monstros (DOOM II dobra essa quantia), incluindo tanto humanos possessos quanto
demnios de diferentes foras, indo desde os fracos, mas onipresentes Imp (monstros marrons com
espinhos) e Cacodemon (espcie de almndega flutuante que cospe bolas matria incandescente) at os
chefes de final de fase, que agentam mltiplos ataques mesmo das armas mais potentes.
Os monstros tm comportamento simples, que consiste entre ou andar ao redor do jogador ou
atacar atirando bolas-de-fogo, mordendo, e rasgando a pele (a sua, no a deles!), apesar de eles
poderem tambm lutar entre si.
Alm do modo single-player, DOOM apresenta dois modos multiplayer: Cooperative, em que 2 a
4 jogadores (usando o engine original - mais de 32 usando engines mais modernas!) lutam contra as
legies do Inferno, ou Deathmatch (engines mais modernas permitem outras modalidades de jogo!),
em que os jogadores lutam entre si.
Lista de todos os inimigos:
Former Guard (Former Human /Zombieman) - O mais
fraco dos inimigos ataca com uma pistola. Basta dois tiros de
pistola para neutralizar este inimigo.
Former Sarge (Former Human Sergeant / Shotgun Guy) Zumbi armado com uma escopeta, muito perigoso de perto.
Porm de longe o efeito do poder do tiro neutro, devido s
partculas da munio da escopeta espalhar, assim como a
escopeta real.
Former
Commando
(Heavy
Weapons
Dude
/
Chaingunner) - O mais poderoso da classe dos zumbis.
Armado com uma metralhadora giratria (Chaingun), muito
perigoso. Em bandos so difceis de derrotar, pelo fato deles
metralharem o jogador. Exclusivo do DOOM II.

- 11 -

Guia do Levelord Black Edition


Imp - O mais comum dos inimigos ao decorrer do jogo. Tem o
poder de lanar bolas de fogo no jogador, mas tem poder fraco.
Seu golpe mais poderoso o talho, que ele usa ao se aproximar
do jogador.
Demon (Pinky Demon / Shaved Gorilla / Bull Demon) Criatura que no tm ataque distncia, porm ataca suas
vtimas mordendo-as e estraalhando-as. Ele tambm se move
bem rpido e resistente. Andam em bandos na maioria dos
casos.
Spectre - Idntico ao Demon, porm transparente. Muito
perigoso em mapas escuros por ser difcil a percepo dele pelo
jogador.
Cacodemon - O nome deste demnio vem da palavra grega
caco (que significa feio), esta criatura pode voar e atira bolas de
matria incandescente contra o jogador. Muito difceis de matar
com as armas primrias, normalmente esto em bando, assim
como os Demons.
Lost Soul - Almas aprisionadas que esto condenadas a servir
ao inferno. Um dos mais odiados inimigos do jogo. No possui
ataque distncia, mas possui uma velocidade incrvel. So
invocados pelas Pain Elementals, ou podem ser encontrados
soltos no jogo.
Pain Elemental - Esse demnio semelhante ao Cacodemon.
Ele invoca Lost Souls para te atacar. No tem ataque prprio.
Quando ele invoca 20 Lost Souls em um local, ele no invoca
mais, a no ser que elas sejam mortas. Exclusivo do Doom II.
Baron of Hell - Este ser pertence classe mais poderosa de
demnios. Um escudo vivo que possui uma vitalidade grande e
ataque alto. Atira bolas de fogo incandescentes, que apesar de
serem lentas e facilmente desviveis, causam muito dano se
acertam o jogador.
Seu talho muito mais mortal que o do Imp. No primeiro
Doom, so os "chefes" do primeiro episdio Knee-Deep in
Dead. Voc deve enfrentar dois desses monstros, que foram
apelidados pela prpria id Software de Bruiser Brothers, em
uma clara referncia aos Hammer Brothers, de Super Mario
Bros. 3.
Hell Knight - Uma verso mais fraca do Baron of Hell, que tem
menos vitalidade, porm o ataque to poderoso quanto o do
Baron of Hell. Exclusivo do Doom II.

Arachnotron - Crebros que se locomovem com pernas


mecnicas, como se fossem aranhas. Atacam com uma plasma
gun, e em grupo podem te matar facilmente. Exclusivo do
Doom II.

- 12 -

Guia do Levelord Black Edition


Revenant - Demnios mortos tm seus esqueletos revividos,
colocado uma armadura e dois lana-msseis em seus ombros, e
so mandados de volta batalha. Apesar da vitalidade baixa,
tm trs tipos de ataques.
O primeiro lanar um foguete. O segundo tambm um
foguete, porm te segue, o que exige que o jogador se
esconda. O terceiro um soco, o mais mortal dos ataques
desse demnio. Exclusivo do Doom II.
Mancubus - Criaturas lentas, mas perigosas. Lanam uma
sequncia de bolas de fogo, porm so rpidas e difceis de
desviar. Por serem lentos, fcil de escapar deles, porm
difceis de matar. Exclusivo do Doom II.
Arch-Vile - Uma das mais perigosas e odiadas criaturas do
jogo. Alm de imolar o jogador em chamas e atirar uma bola de
fogo hitscan (atinge o jogador instantaneamente, como os tiros
dos zumbis), necessitando que o jogador se esconda atrs de
paredes, pode ressuscitar inimigos j mortos pelo jogador. Por
isto so odiados pelos fs do jogo. Exclusivo do Doom II.
Spider Mastermind (Spiderdemon) - Este crebro gigante,
alm de controlar os Arachnotrons, controla tambm todos os
outros demnios. Foi o grande responsvel pelo ataque do
Inferno s luas de Marte, Phobos e Deimos, comandando a
invaso. Possuem uma gigantesca metralhadora giratria que
pode matar o jogador em segundos.
o ltimo chefe do primeiro jogo, no episdio Inferno, e
tambm no episdio Thy Flesh Consumed, exclusivo do Ultimate
Doom. So muito difceis de matar com armas normais, voc
precisar da BFG 9000 para matar este demnio.
Cyberdemon - Este demnio o mais forte do jogo, atira
rockets (msseis) em voc, altamente destrutivos, podendo
matar voc com um nico disparo. O "chefe" do episdio The
shores of Hell, do primeiro Doom. quase impossvel derrot-lo
com armas comuns e mesmo com a rocket launcher ou a
plasma gun vai levar muito tempo para destruir este grotesco
monstro. Necessitar vrios tiros da BFG 9000 para destru-lo.
The Icon of Sin (The Baphomet) - No necessariamente
um inimigo. Est como uma "parede". Aparece na fase 30 do
Doom II, como o ltimo "chefe". Ele no tem ataque. Porm,
invoca todos os tipos de demnios (com exceo da Spider
Mastermind, Cyberdemon e os zumbis). Para derrot-lo,
preciso atirar com uma arma potente no "crebro" dele. Repita
o processo at ele explodir todo. H um easter egg dentro dele,
que s possvel descobrir usando o cheat #idclip. Entre no
crebro do Baphomet. Voc ver a cabea de John Romero, um
dos criadores do jogo. ela que voc realmente atinge quando
voc atira no crebro, e ela que voc deve matar na verdade.
Quando voc entra na grande sala para derrotar o Baphomet,
ele emite uma voz demonaca. Na verdade, a voz de John
Romero, invertida e distorcida. Ele diz "To win the game, you
must kill me, John Romero." (Para vencer o jogo, voc deve
matar a mim, John Romero.)

- 13 -

Guia do Levelord Black Edition


The Wolfenstein SS Soldiers (SS Nazi) - Outro easter egg.
Ele apenas aparece nas fases 31-Wolfenstein e 32-Grosse. um
inimigo do clssico jogo Wolfenstein 3D. Quando voc termina o
jogo, ele no aparece na lista dos monstros que existem, por
ser secreto. Na verso alem, nem ele e nem as fases secretas
aparecem, por determinao do governo alemo.
Commander Keen - Este tambm no um inimigo, um
easter egg. Ele est presente na fase 32-Grosse. Para liberar a
sada, voc deve matar os quatro destes, que esto pendurados
numa corda. Diz a id Software que este boneco de Billy Blaze.
Quando voc vai para a fase 32, antes de voc comear, ele
fala: "Better blaze this one!", em uma clara referncia ao Billy
Blaze.

- 14 -

Guia do Levelord Black Edition

5 - Produo

Fig. 3 A Escultura
A produo de DOOM comeou em 1992, com John Carmack construindo o mecanismo grfico
enquanto a id terminava Spear of Destiny, a continuao de Wolfenstein 3D. As grandes influncias dos
criadores foram os filmes Aliens e Evil Dead II, com os demnios tendo sado de uma partida de
Dungeons & Dragons que terminou com o planeta infestado deles. O ttulo fora escolhido por Carmack:
Tem uma cena de "A Cor do Dinheiro" onde Tom Cruse [sic] aparece no bar com seu taco de sinuca.
Perguntam: "O que voc tem a?", "Perdio" (Doom) Cruse responde sorrindo.
Aquilo, e a carnificina resultante, foi como eu vi a incurso de nosso jogo na indstria.
Tom Hall criou um documento chamado Bblia de Doom, com uma histria complexa, no qual 5
soldados numa base militar no planeta Tei Tenga enfrentam os demnios, e viajariam ao Inferno. Mas
Carmack rejeitou, dizendo que "histria num jogo to importante quanto histria num filme porn".
Conflitos com a equipe (Hall queria mais realismo em vez de jogabilidade melhor) levaram Hall a
sair em 1993.
A Bblia foi rejeitada, mas diversas idias ficariam: tambm comea numa base militar, ficaram
as luas de Marte; as viagens ao inferno; e apenas um protagonista soldado. Muitos nveis e criaturas
tambm ficariam com algumas alteraes.

- 15 -

Guia do Levelord Black Edition


5.1 - Nveis
Os nveis de Tom Hall, muito realistas e inspirados em Wolf 3D, comearam a ser feitos, mas
adaptados a medida que progredia para serem mais "legais" e mostrarem a capacidade do jogo. Os
nveis do primeiro episdio foram feitos por John Romero, mas como ele no podia fazer os outros 2
episdios, Sandy Petersen fora contratado 10 semanas antes do lanamento.

Fig. 4 - Doomguy

5.2 - Grficos
Adrian Carmack e Kevin Cloud foram os artistas principais. Don Ivan Punchatz criou o logo e
capa, e seu filho Gregor esculpiu alguns monstros. A maioria das imagens foi feita mo, mas alguns
foram esculturas digitalizadas, como o personagem jogvel, o Cyberdemon, os Barons of Hell e o Spider
Mastermind. As armas vieram de fotos de armas de brinquedo e a motoserra fora emprestada pela
namorada de Tom Hall. As mos do personagem jogvel so de Kevin Cloud.

5.3 - Som
As msicas de fundo foram feitas por Bobby Prince, que j fizera Wolfenstein 3D. Algumas
msicas so verses de Metallica, Pantera, AC/DC, e Slayer.

5.4 - Tecnologia
A principal caracterstica que distinguiu DOOM em seu lanamento foi qualidade de seu
mecanismo grfico, sem paralelo em outros jogos da poca. O avano em relao ao jogo anterior da id
Software, Wolfenstein 3D, foi conseguido graas a um novo mecanismo grfico criado por John Carmack.
Aps o sucesso do jogo, a sua tecnologia ainda serviu como "exemplo" para outros jogos do
mesmo gnero como Heretic, Hexen e Duke Nukem 3D. Suas principais caractersticas so:

- 16 -

Guia do Levelord Black Edition

Diferenas de altura (todas as salas em Wolfenstein 3D so da mesma altura);


Paredes no-perpendiculares (todas as paredes em Wolfenstein 3D correm ao longo de um
grid quadrangular);
Mapeamento de textura em todas as superfcies (em Wolfenstein 3D, o teto e o cho no
tinham texturas);
Nveis variados de luz (todas as reas em Wolfenstein 3D so completamente iluminadas
com o mesmo brilho). Apesar de tambm contribuir para a autenticidade visual do jogo,
isso provavelmente e mais importante ainda adicionou atmosfera do jogo; o uso da
escurido como meio de amedrontar e confundir o jogador foi um elemento indito nos
jogos.

Em contraste com as fases estticas do Wolfenstein 3D, as do DOOM so altamente interativas:

Plataformas podem subir e descer;


O cho pode subir em seqncia para formar degraus;
Pontes podem subir e descer.

A sensao de realidade do ambiente foi aperfeioada ainda mais pelo sistema de som estreo,
que tornou possvel dizer de que direo e distncia o som se origina. Como o som estreo no
proporciona um senso de 360 perfeito, no desenvolvimento de Doom 3 exigiu-se o uso do som Dolby
Surround 5.1 para passar o realismo ao jogador que os produtores desejavam. Com esse sistema de
som, o jogador pode sentir todos os efeitos sonoros com fidelidade extrema ao que se v na tela, desde
que possua esse sistema sonoro em seu local de jogo.

5.5 - Controvrsia
DOOM foi e permanece notrio por seus nveis de sangue e imagens satnicas, vistas pela
primeira vez naquela poca, gerando ento controvrsias num amplo nmero de grupos.
Ele foi criticado numerosas vezes por organizaes crists por suas tonalidades satnicas e
chamado de "simulador de assassino em massa" ("mass murder simulator") pelo Col. David Grossman,
crtico e fundador do Killology Research Group.
DOOM causou temores quanto ao uso da ento emergente tecnologia de realidade virtual para
simular matanas extremamente realistas, e, em 1994 levou as tentativas mal-sucedidas pelo senador
estadual de Washington Phil Talmadge de introduzir o cadastramento compulsrio para uso de RV.
O jogo causou controvrsia novamente no Massacre de Columbine quando se soube que Eric
Harris e Dylan Klebold, que cometeram o massacre em 1999, eram vidos jogadores de DOOM.
Nota: O ttulo pode tambm ser escrito "DOOM", tudo maiscula, a id Software inconsistente
entre escolher "Doom" e "DOOM". A variao "DooM", estilizada a partir do logotipo, ainda encontrada,
mas caiu em desuso geral nos ltimos anos.

5.6 - Plataformas
DOOM fora "portado" para diversas plataformas:
Computador

MS-DOS - Doom - 1993

Windows 95 - 1996

Amiga PC - 1997 - ?

Macintosh - 1995 - ?

- 17 -

Guia do Levelord Black Edition

Linux - 2005
Windows XP - Doom 3 - 2004

Video Games

Sega 32X - 1994

Playstation - 1995

Super Nintendo - 1996

3DO - 1996

Atari Jaguar - 1996

Sega Saturn - 1997

Nintendo 64 - 1997

Game Boy Advance - 2001

Xbox (como bnus de DOOM 3) - 2005

Xbox 360 (Xbox Live Arcade) - 2006

Dreamcast - 2002

Playstation Portable (PSP) - 2005


Celulares

DOOM RPG - 2005 - ?


Arcade (Fliperama) ???
Srio eu j vi imagens em sites estrangeiros de mquinas de arcade com o jogo DOOM rodando,
porm no tenho dados oficiais para confirmar a autenticidade das imagens.

- 18 -

Guia do Levelord Black Edition

6 - Portabilizao
Portabilizao a palavra adaptada para o portugus baseada no ingls "porting", que significa
"adaptar" ou "tornar compatvel". Na informtica e outros sistemas eletrnicos como vdeo-games, por
exemplo, ocorre por vezes a necessidade de se executar um determinado software que no seja
compatvel com o sistema em que se est trabalhando no momento. Um bom exemplo disso so os
jogos, como o Doom, que um grande clssico dos PCs da dcada de 90, porm um software de MSDOS, e grande parte dos usurios de PCs passaram a usar o Windows XP na dcada seguinte, que por
sua vez no oferece suporte total aplicativos de MS-DOS.
Para resolver esse problema, diversos fs do jogo, que entendiam de programao, aproveitaram
o fato de os donos originais do software (a empresa Id Software) terem liberado o cdigo fonte do jogo,
e fizeram pequenas alteraes no cdigo para que ele fosse transformado em um software nativo de
Windows.
Esses programas adaptados so os Source-Ports.

6.1 - Confuso entre Portabilizao e Emulao


Muito se confunde quando o assunto portabilizao e emulao, simplesmente pelo fato de que
o resultado final, em linhas gerais, quase que idntico. Esse resultado final :

Conseguir rodar um software em uma plataforma diferente de sua original.

Porm a maneira na qual esse resultado obtido difere completamente entre a emulao e a
portabilizao.
Emulao
Emular "recriar" virtualmente um componente fsico de um aparelho eletrnico como, por
exemplo, um processador. Ou seja, emulador uma "Rplica Virtual de um Processador ou um Sistema
Operacional", o que d margem a possibilidade de interpretar um emulador como o prprio sistema,
porm convertido em software.
Exemplo: Tanto o console "Super Nintendo", quanto o emulador "ZSnes" so ambos um SUPER
NINTENDO e aptos a interpretar softwares feitos para ele, porm o primeiro um hardware, fsico, e o
segundo um software.
Portabilizao
Portabilizar mexer no software original a fim de fazer algumas modificaes necessrias de
forma que ele consiga ser lido e interpretado em uma outra plataforma, geralmente uma plataforma
para a qual ele no tenha sido projetado originalmente.
Quando se est jogando um ROM de GameBoy Advance, por exemplo, no computador, usando o
Windows XP, no o computador que est lendo, interpretando e processando o jogo. O computador
est apenas lendo o Emulador, e esse sim que est lendo o jogo. O computador executa o software do
emulador que l o arquivo da ROM, executando as instrues do jogo contidas neste arquivo.

- 19 -

Guia do Levelord Black Edition

Fig. 5 Esquema de Emulao


No caso de um software que foi portabilizado para uma determinada plataforma, ele foi
realmente transformado e naturalmente adaptado para ser rodado nela sem a necessidade de uma
mquina virtual.

6.2 - Exemplo de "O que seria uma portabilizao"


Pegando como exemplo uma ROM de Super Nintendo. Se um usurio desejar jogar esse game no
Windows, ele precisaria usar um emulador, afinal o Windows por si s no tem a capacidade de
interpretar um software desenvolvido para a plataforma "Super Nintendo".
Porm, se o jogo for portabilizado, significar que um programador que teve acesso ao cdigo
fonte do jogo, o abriu e modificou sutilmente a fim de faz-lo poder ser entendido diretamente pelo
Windows, sem que se precise ter um emulador.
Seria como poder jogar, por exemplo, o ROM do jogo "Mortal Kombat" do Super Nintendo sem a
necessidade de um emulador, ou seja, a prpria ROM por si s seria um software naturalmente
executado pelo Sistema Operacional.
Isso tudo resultaria num desempenho bem mais realista do Software, 100% fiel ao original (pois
o original) e exigiria menos esforo do processador e menor utilizao de memria RAM, pois o
software estaria sendo rodado diretamente, sem a necessidade de um software intermedirio, que
exigiria muito mais do processador e da memria RAM.

6.3 - Limite entre Portabilizao e a Reescritura de Software


Em geral tem-se que portabilizar fazer o menor nmero possvel de modificaes no cdigo
original de forma que ele funcione perfeitamente bem em outra plataforma, sem precisar alterar mais
nada, ou reescrever qualquer outra parte do cdigo.
Porm em alguns casos no basta que sejam apenas portabilizados para uma nova plataforma,
mas exige-se que mude mais alguma coisa no contedo devido a algum tipo de limitao ou exigncia
da plataforma em questo.

- 20 -

Guia do Levelord Black Edition


Por exemplo, um jogo que poderia ser naturalmente portabilizado para ser rodado numa outra
plataforma, porm essa nova plataforma possui um limite de memria RAM inferior ao da plataforma
original desse software. Nesse caso provavelmente ser necessrio mexer nos arquivos de som e
imagem do game diminuindo seu tamanho, resoluo, nvel de detalhe, etc, a fim de conseguir rodar
sem empecilhos.
No universo dos jogos exatamente isso que est sempre acontecendo quando os
programadores de uma empresa esto envolvidos em um projeto de um game que ser lanado para
diversas plataformas diferentes ao mesmo tempo, sendo que cada uma delas tem caractersticas
tcnicas superiores ou inferiores em relao umas s outras.
No caso de jogos feitos originalmente para arcade na dcada de 90, era necessrio fazer diversas
modificaes adicionais ao resto do jogo a fim de portabiliz-lo para os consoles de 16 bits, pois esses
aparelhos caseiros possuam caractersticas tcnicas amplamente inferiores aos arcades, portanto no
bastava apenas fazer com que o software seja legvel pelo vdeo game, mas tambm dar um tratamento
em todas as imagens, diminuir nmeros de layers, a resoluo do jogo, nmero de cores, e at mesmo
retirar alguns frames (quadros de animao).
Tambm era necessrio recriar os menus, afinal arcades utilizam fichas e um nico nvel de
dificuldade, e em consoles caseiros possvel mexer nas opes do jogo. Por muitas vezes os joysticks
tem mais ou menos botes em relao ao arcade, e essas diferenas todas obrigavam os programadores
a fazer tantas outras modificaes no contedo do game, alm de simplesmente portabiliz-lo
neutramente, que se chega num nvel em que em certos casos difcil definir se um determinado
software tido como portabilizado, ou como reescrito.

- 21 -

Guia do Levelord Black Edition

7 - Liberao do Cdigo Fonte (Source-Code)


O cdigo fonte da engine do jogo Doom foi liberado ao pblico em 1997. Embora o Doom fosse
criado originalmente para o MS-DOS, a liberao original da fonte era para a verso subseqente de
Linux. Isto ocorreu devido ao uso de uma biblioteca de som proprietria na verso para MS-DOS. Como
o cdigo fonte teve que inicialmente ser portado de volta para o DOS, o termo "source port" foi usado.
Fora do costume, este termo veio a ser usado para todas as modificaes da fonte do Doom, mesmo
aquelas que no movem a modificao para uma outra plataforma.
A finalidade original das portabilizaes da fonte era compatibilidade entre plataformas, mas logo
depois a liberao da fonte do Doom, programadores resolveram corrigir velhos erros do Doom e
deficincias em suas prprias portabilizaes da fonte, e mais tarde fizeram adio de mais
caractersticas ao cdigo fonte para adicionar novas modalidades de jogo, bem como alterar o fator
diverso.
Os ports da fonte do Doom foram criados para permitir que o Doom funcione em muitos sistemas
operacionais e arquiteturas de computador diferentes, incluindo Linux, Mac OSX, e Windows.
Os ports foram criados tambm para permitir que o Doom funcione em tipos diferentes de
mquinas. Um desses ports Game Park 32. Uma companhia britnica chamada WildPalm produziu um
port para os telefones celulares Nokia 7650 e 9210. H um port para Sega Dreamcast, bem como para o
videogame Xbox.
O cdigo fonte foi liberado originalmente sob uma licena proprietria que proibia o uso comercial
e no requeria que os programadores liberassem o cdigo fonte com as modificaes efetuadas no
arquivo executvel do jogo. Em conseqncia disso, o cdigo fonte para GLDoom, (primeiro port
adicionar grficos de OpenGL) ao Doom, perdeu-se numa falha de hardware do disco rgido, o cdigo foi
re-liberado em 1999 sob a GNU General Public License, aps pedidos da comunidade.
Como os ports da fonte do Doom romperam as limitaes da engine original do Doom, o termo
Vanilla Doom foi inventado para referir-se a engine original do Doom com todas as limitaes intactas.
Esse termo foi inventado por fs aps o aumento da popularidade dos diversos ports do Doom. O termo
Vanilla usado na referncia do tipo "unmodified", ou seja, no modificado. Isto foi estendido para o
port nomeado Chocolate Doom, uma portabilizao entre plataformas que busca emular exatamente o
Vanilla Doom e as suas limitaes.

- 22 -

Guia do Levelord Black Edition

8 - Source-Ports
Source Port o nome dado portabilizao de um programa, que geralmente apenas um
arquivo executvel que foi modificado a partir do cdigo fonte do programa original, e substitui o
executvel original, para que possa ser rodado em uma outra plataforma para a qual no foi
originalmente escrito.
Com certeza voc deve possuir um daqueles excelentes jogos de aventura da dcada de 90 que
roda em DOS, porm nos dias de hoje onde a maioria das pessoas utiliza Windows XP, que da famlia
NT (tecnologia NT), muitos aplicativos de DOS no rodam com perfeio. Em casos como esse, se o
software tiver cdigo fonte aberto, ele poder ser modificado por qualquer um que entenda de
programao, de forma a se transformar em um software compatvel com Windows XP. Quando isso
ocorre, dizemos que esse software foi "portabilizado" para a plataforma Windows.
Essas modificaes permitem melhorar muitas caractersticas do jogo, permitindo at mesmo a
incluso de recursos que no esto disponveis na engine original do jogo, como mira automtica, efeitos
de luz e transparncia, etc.

Fig. 6 - Genealogia atual do Doom baseada nos ports mais importantes

- 23 -

Guia do Levelord Black Edition

9 - Principais Source Ports


Estes so os ports de DOOM baseados no nmero de usurios ou no nmero de modificaes
disponveis, ou naqueles que possuem as caractersticas originais e interessantes, alguns que foram
consideradas tcnicas impossveis dentro dos confins da engine do Doom.

9.1 - Boom e Variantes


Boom um port do cdigo fonte de Doom criado por TeamTNT. Boom corrigiu numerosos erros
aleatrios do software e adicionaram numerosas outras caractersticas a engine, a tal grau que suas
adies esto incorporadas na maioria da engines modernas do Doom existentes atualmente (tais como
ZDoom e Doom Legacy).
Embora Boom seja mais simples do que os outros ports e no seja mais atualizado (ultima
atualizao ocorrida em 22 de outubro de 1998), ele ainda o preferido por muitos fs de Doom, porque
permaneceu relativamente prxima do comportamento dos jogos originais, incluindo suporte a
demonstrao do jogo (tela de demo). Alguns jogadores sustentam que a correo de erros e mudanas
do comportamento dos outros ports, pode desequilibrar o comportamento dos mapas feitos para os
jogos originais, dando aos jogadores determinadas vantagens ou desvantagens.
Link: http://www.teamtnt.com/boompubl/boom2.htm

9.2 - PrBoom
PrBoom um port derivado do Boom original que projetado para o uso em Windows. Foi
portado tambm para Linux, Sega Dreamcast, GP2X, Nintendo DS, e Rockbox. O PrBoom possui em seu
cdigo fonte todas as melhores caractersticas dos seguintes projetos, Boom, MBF, LxDoom e
ISDLDoom.
Link: http://prboom.sourceforge.net/index.html

9.3 - PrBoom + (PrBoom Plus)


PrBoom+ um port da fonte do Doom desenvolvido a partir do projeto original PrBoom.
baseado atualmente no cdigo fonte de sua verso estvel mais recente, 2.4.8 (SVN). O alvo do projeto
est em estender o port original com caractersticas que so necessrias ou teis para todos aqueles
interessados em novas maneiras de jogar. Vale a pena anotar que todas as mudanas introduzidas no
prejudicam em nada a compatibilidade com o PrBoom atual, tambm mantendo compatibilidade com as
engines originais de Doom e Doom2. O criador tambm adverte que jamais ir permitir desvios no
PrBoom+, pois a compatibilidade extremamente importante para o projeto PrBoom.
Link: http://prboom-plus.sourceforge.net/

- 24 -

Guia do Levelord Black Edition


9.4 - Marines Best Friend (MBF)
Marine's Best Friend (MBF) um port feito para DOS. baseado no Boom, e adiciona diversas
caractersticas novas incluindo grficos de alta resoluo, monstros com AI melhorada, e a emulao das
pr-liberaes das verses beta do Doom. Foi desenvolvido por Lee Killough em 1998 e atualmente no
mais mantida.
Seu cdigo foi usado mais tarde como base do port Smack My Marine Up (SMMU), que foi usado
por sua vez na construo da engine Eternity. Em 2004 James Haley e Steven McGranahan portaram o
Marine's Best Friend para Windows como WinMBF.
Link: NO DISPONVEL :-(

9.5 - Eternity Engine


A engine Eternity um port da fonte para Windows licenciada sob a GNU General Public License.
Originalmente criada para mostrar o poder de uma converso total do Doom, esse projeto tornou-se um
fogo de palha (a ltima verso disponvel data de 17 de maio de 2006), apenas a engine transformouse no foco principal.
A engine baseada no Smack My Marine Up (SMMU). Inclui caractersticas como scripting (uma
espcie de linguagem de programao), portals, polyobjects, suporte ao jogo Heretic, e suporte total
as modificaes Millennium and Mordeth TC. Segundo algumas fontes do universo dos jogos, o projeto
foi cancelado.
Link: http://doomworld.com/eternity/

9.6 - ZDoom e Variantes


ZDoom um port do cdigo fonte oficial do Doom tendo como alvo o Microsoft Windows, com
verses no muito atualizadas para o MS-DOS e Linux. um dos mais avanados e populares ports para
Doom, suportando BEE (Boom Editing Extensions Extenses de Edio do Boom), mais todas as
extenses feitas pela engine do jogo Hexen, bem como a adio de 3D Floor (multi-pisos, ou seja, um
andar em cima de outro andar) simulando os andares de um prdio, caractersticas novas no
encontradas no Doom original. Alm, do suporte ao Heretic, Hexen e Strife.
Link: http://www.zdoom.org

9.7 - GZDoom
GZDoom um port para Windows baseado no ZDoom que estende as caractersticas do jogo ao
incluir suporte a OpenGL. Tambm inclui suporte a 3D Floor (multi-pisos) usados no Doom Legacy,
suporte a cus com 360 (skyboxes), modelos em 3D, e outras caractersticas.
Link: http://grafzahl.drdteam.org/

- 25 -

Guia do Levelord Black Edition


9.8 - csDoom
csDoom, ou "Doom Client/Server", era um port GPL para Windows baseado no ZDoom construdo
expressamente para jogos multiplayer do Doom atravs da Internet. Foi o primeiro port a usar o cdigo
de rede cliente/servidor (do Quakeworld) para facilitar a criao de jogos mais rpidos e tranqilos
atravs da Internet. O projeto foi encerrado pelo criador em 31 de janeiro de 2001.
Link: http://csdoom.sourceforge.net/eng.html

9.9 - ZDaemon
ZDaemon um port, originalmente baseado no csDoom, para Windows e * NIX (somente
servidor), propositalmente construdo para jogos multiplayer do Doom atravs da Internet.
Originalmente o cdigo fonte estava liberado sob a GPL, como medida de segurana, o cdigo fonte foi
fechado devido aos incidentes com trapaceiros. O jogo inclui o cdigo de rede cliente/servidor para jogos
na Internet, um launcher (programa grfico) para ajudar os usurios a encontrar jogos na rede, uma
lista dos favoritos para ajudar a revisitar seus servidores preferidos, e um utilitrio que automaticamente
procura e efetua o download dos WADs personalizados necessrios para jogar em diversos servidores.
Link: http://zdaemon.org/

9.10 - Skulltag
Skulltag um outro port multiplayer centrado no Doom para Windows que baseado tambm
em ZDoom. Alm do cdigo de rede cliente/servidor, Skulltag inclui bots (jogadores controlados pelo
computador) para jogos multiplayer offline (sem rede ou Internet); modalidades novas do jogo tais
como Capture the Flag (Capturar a Bandeira), Instagib, Invasion (Invaso), e outros; bem como novas
armas, monstros, itens, powerups, e objetos.
Link: http://skulltag.com/

9.11 - Odamex
Odamex um outro port multiplayer baseado no csDoom. Odamex inclui as caractersticas da
engine Boom, e atualmente suporta a modalidade Capture the Flag (Capturar a Bandeira). O objetivo de
Odamex expandir a base de jogadores possveis s plataformas computacionais mltiplas, incluindo
Windows, Linux, Mac OSX, e outros sistemas operacionais. Odamex open source (cdigo fonte
disponvel), e est atualmente em desenvolvimento.
Link: http://odamex.net/

- 26 -

Guia do Levelord Black Edition


9.12 - DOSDoom e Variantes
DOSDoom era um dos primeiros ports da fonte do Doom, criado atravs da liberao original do
cdigo fonte de Doom para Linux e portado para o DOS. Evoluiu para incluir diversas caractersticas
novas, que no foram includas originalmente no cdigo fonte original do jogo Doom, tal como
transparncias, alta resoluo, e renderizao de cores em 16-bit.
Link: NO DISPONVEL :-(

9.13 - Doom Legacy


Doom Legacy um port de Doom originalmente escrito como um fork do DOSDoom, introduzindo
mouse-look, jumping (pulo), um console (terminal), deathmatch para 32 jogadores, skins (peles), ports
nativos para Windows e Mac OSX. Evoluiu tambm para suportar muitas caractersticas do Boom.
Adicionou tambm algumas caractersticas novas, notavelmente a habilidade para que os nveis
contenham pisos sobre pisos (mltiplos andares), o que significa que os nveis no esto presos ao
modo 2D como no Doom original.
Link: http://legacy.newdoom.com/

9.14 - EDGE
Enhanced Doom Gaming Engine, ou EDGE, um port derivado do DOSDoom. A caracterstica
mais atrativa do EDGE seu sistema de DDF, que descreve todo o comportamento do jogo dentro de
um arquivo de texto externo que lido pelo arquivo executvel do jogo. Em conseqncia, popular
entre os modders (pessoas que fazem modificaes em jogos) que usam essa caracterstica para
adicionar muitas armas e caractersticas novas com muito menos trabalho do que os apresentados pelos
limites atuais dos outros ports existentes. EDGE inclui ports para muitos sistemas operacionais, incluindo
MS-DOS, Windows, Linux, BeOS e Mac OS X.
Link: http://edge.sourceforge.net/

9.15 - Doomsday Engine


A engine Doomsday um port sob a licena GPL que funciona em Linux, Mac OS X, e Windows. O
port suporta tambm o Heretic e o Hexen. Essa engine oferece suporte a acelerao por hardware para
modelos 3D, objetos e movimentos com smoothing (suaviza o contorno dos objetos), shadows
(sombras), dynamic lighting (iluminao dinmica), e outras caractersticas. Tambm oferece suporte a
extenses para edio XG e setores aprimorados, bem como um launcher. Infelizmente, sofre com
numerosos erros de programao e ainda no completamente estvel.
Link: http://www.doomsdayhq.com/

- 27 -

Guia do Levelord Black Edition


9.16 - nxDoom
nxDoom um port do cdigo fonte de Doom para Sega Dreamcast, baseado no DoomDC. Inclui
uma lista de mods, que permite a seleo de arquivos WAD e patches DeHacked para jogar. Tambm
suporta salvamento diretamente para o VMU, suporta som e msica quando os arquivos WADs de
msicas so carregados.
Link: NO DISPONVEL :-(

- 28 -

Guia do Levelord Black Edition

10 - Jogos em Rede ou Internet


Atualmente existem vrios launchers, ou seja, programas grficos que permitem jogos atravs
de uma Rede TCP/IP ou via Internet. Abaixo esto listados alguns destes programas, sendo que
atualmente os mais utilizados so o IDE - Internet Doom Explorer (para partidas atravs das engines
ZDaemon, Skulltag e Odamex) e o ZDaemon Launcher (para partidas atravs da engine ZDaemon).

IDE - Internet Doom Explorer


http://nfdfn.jinr.ru/~bond/csdoom/

ZDaemon Launcher
http://www.zdaemon.org/

Nota: A engine Skulltag a mais poderosa atualmente, pois possui mais opes de jogos, porm
a engine ZDaemon a mais utilizada, portanto, eu recomendo que voc instale o programa para essa
engine. Aps instalar um desses 'launchers', ao iniciar o programa pela primeira vez, voc dever criar
uma conta dentro do provedor de partidas on-line para poder jogar.

- 29 -

Guia do Levelord Black Edition

11 - Qual a diferena entre IWAD e PWAD?


Antes de entrarmos na edio de mapas, vou dar uma breve explicao sobre um conceito que
todo mapper obrigado a conhecer.
"IWAD" o "WAD interno". Basicamente o arquivo WAD original e principal do jogo
'doom2.wad, doom.wad, hexen.wad, plutonia.wad, tnt.wad e heretic.wad' so todos exemplos de WADs
internos.
"PWAD" como um "patch WAD", ou seja, grosso modo podemos dizer que um 'remendo'. Os
"PWAD" so essencialmente todos os WADs que no so produzidos ou suportados oficialmente pela
produtora do jogo.
Os WADs de 'remendo' adicionam novas caractersticas ao jogo original. Normalmente so novos
mapas, texturas, sons, sprites, etc. Basicamente qualquer coisa que substitua o material original.
dwango5.wad, zdctfmp.wad, dweller2.wad, icarus.wad, zvox.wad e udm2.wad so exemplos de
PWADs.
Existem milhares de PWADs e voc tambm pode fazer o seu!
Nota: Modificar o contedo dos arquivos IWADs e redistribu-lo crime! Se voc quer distribuir
os seus mapas, eles devem ser criados no formato PWAD.

- 30 -

Guia do Levelord Black Edition

12 - Tirando Screenshots do Jogo


Todos os engines (Ports) e inclusive o engine original de DOOM (Vanilla Doom) possui um
comando especial usado para tirar screenshots das telas do jogo.
Na linha de comando digite '-devparm'. Alguns ports possuem um local apropriado para a
digitao de comandos extras!
Ex:
[source_port] <comando><arquivo_wad>
zdoom.exe -devparm -iwad plutonia.wad
Esse comando ir permitir que voc tire screenshots de qualquer mapa do Plutonia Experiment.
Nota: A qualidade da imagem ir depender da resoluo utilizada pelo seu Port. Quanto maior a
resoluo, melhor ser a imagem. O comando '-devparm' pode ser utilizado em qualquer verso do
DOOM.

- 31 -

Guia do Levelord Black Edition

13 - Jogando Off-line (Single-Player)


O jogo DOOM foi originalmente projetado para ser jogado em modo Dual Game, ou seja, off-line
e on-line. Com partidas Singleplayer e Multiplayer. Para jogar off-line, basta que voc rode o executvel
principal do Vanilla Doom ou do seu Port preferido (ZDoom.exe, ZDaemon.exe, Legacy.exe, jDoom.exe,
etc...). Por padro, ser rodado o jogo DOOM 2. Para rodar outro DOOM, use os comandos -file e -iwad
na linha de comando.
Ex:
[source_port] <comando> <aquivo_wad>
zdoom.exe -iwad tnt.wad (ir rodar o TNT:Evilution)
zdaemon.exe -file mywads.wad (ir rodar o WAD 'mywads.wad')
Nota: Os comandos mostrados acima supem que os arquivos WADs estejam no diretrio raiz do
seu Port, caso os arquivos WADs estejam em outro diretrio, voc deve especificar o caminho at eles.
Ex:
O comando abaixo ir carregar o arquivo TNT.wad localizado no subdiretrio 'wads' dentro do
diretrio raz do seu Port.
zdoom.exe -iwad \wads\tnt.wad
Nota: Ao carregar a engine ZDoom ser exibido um launcher grfico que permitir que voc
escolha qual verso de Doom voc ir querer rodar, esse launcher somente ser exibido se voc tiver
mais que um IWAD instalado no mesmo diretrio da engine.

- 32 -

Guia do Levelord Black Edition

14 - Usando arquivos WAD externos


Existem apenas 2 tipos de arquivos WADs e 2 comandos para carregar um arquivo WAD externo.
Lembre-se que os arquivos WADs podem ser PWAD ou IWAD. Os comandos para usar esses arquivos
so respectivamente -file e iwad
A maioria dos Ports possui uma interface grfica que facilita na hora de utilizar um arquivo WAD
externo. No entanto, eu vou explicar apenas como utilizar 'Linha de Comando (Terminal)', para
carregar um arquivo WAD externo. Se voc j leu os tpicos anteriores, deve estar sabendo que a
maneira correta de utilizar comando no terminal :
[source_port] <comando> <arquivo_wad>
OBS: Para os exemplos abaixo, admitido que os arquivos WADs estejam dentro do diretrio
raiz do seu Port.
Carregando um arquivo PWAD
No prompt do terminal, digite:
zdaemon.exe -file armagedom.wad
Esse comando ir carregar o arquivo PWAD 'armagedom.wad', que um arquivo criado por outro
jogador ou por voc mesmo. Agora:
zdaemon.exe -iwad plutonia.wad
Esse comando ir carregar o arquivo IWAD 'plutonia.wad', que um arquivo oficial do jogo (The
Plutonia Experiment), criado pela produtora do jogo.
Agora voc deve estar se perguntando: 'Mas qual a diferena entre esses comandos?'
muito simples! O comando -file, carrega arquivos WADs que possuem monstros, sprites,
msicas, efeitos e muitos mais. Porm esses arquivos no possuem todos os recursos necessrios para
serem executados sem o arquivo WAD principal do jogo (que um arquivo IWAD - doom.wad,
doom2.wad, tnt.wad e plutonia.wad). Esse arquivo basicamente possui apenas as instrues necessrias
para carregar corretamente o seu mapa.
J o comando -iwad, carrega os arquivos do tipo IWAD (criados pela produtora do jogo ou por
empresas licenciadas pela produtora), esses arquivos possuem todos os recursos necessrios para a
execuo do jogo, no necessitando de nenhum outro arquivo WAD adicional.
Portanto, para voc carregar os arquivos 'doom.wad, doom2.wad, tnt.wad e plutonia.wad,
voc deve utilizar o comando -iwad, pois esses so arquivos do tipo IWAD (Internal WAD).
E para voc carregar arquivos criados por outros jogadores ou por voc (como dwango5.wad,
frags.wad e torment.wad), voc deve utilizar o comando -file, pois esses so arquivos do tipo PWAD
(Patch WAD).

- 33 -

Guia do Levelord Black Edition

15 - Jogando atravs da linha de comando


(Terminal)
Todas as engines jogo DOOM possuem opes exclusivas que funcionam apenas em
determinadas engines, porm, elas tambm possuem comandos padronizados derivados da engine
original do jogo. Abaixo esto listadas algumas das opes disponveis:
Para usar um comando digite:
[source_port] <comando> <arquivo_wad>
Exemplo:
zdaemon.exe -file mywads.wad
zdaemon.exe -iwad tnt.wad
Comandos Gerais para Controle de Configurao

@filename
Especifica um arquivo de resposta (Response File), com um ou mais comandos que sero
lidos durante o carregamento do jogo.

-avg
Restringe a operao do jogo para 20 minutos. Usado normalmente para torneios. (Veja
tambm a opo '-timer').

-cdrom
Usado apenas caso o jogo esteja gravado em CD-ROM. A configurao do jogo e os arquivos
de salvamento sero gravados no disco rgido (drive C).

-config <filename>
Carrega um arquivo de configurao alternativo. Usado normalmente para jogos em rede,
onde cada mquina requer uma configurao diferente.

-episode <episodeNo>
Permite iniciar o jogo diretamente na primeira fase do episdio especificado (vlido somente
para DOOM). Os episdios disponveis vo do 1 ao 3 (4 para o Ultimate DOOM).

-loadgame <game_munber>
Permite carregar o jogo e iniciar a partir de um jogo j salvo. As opes vlidas vo de 0 5.
(Note que um jogo salvo em uma verso de DOOM no poder ser usado em outra verso do
jogo.)

-file <wadname>
Carrega um arquivo PWAD externo. Ou seja, um arquivo WAD criado por terceiros.

-iwad
Carrega um arquivo IWAD original. Ou seja, os arquivos 'tnt.wad, plutonia.wad, doom.wad e
doom2.wad'

-nojoy
Desliga o uso do joystick.

- 34 -

Guia do Levelord Black Edition

-nomouse
Desliga o uso do mouse.

-nomusic
Desliga a msica.

-nosfx
Desliga os efeitos especiais de udio.

-nosound
Desliga todos os efeitos de udio.

-timer <minutes>
Obriga o jogo a sair da fase atual depois de x minutos especificados. Essa opo muito
usada em torneios.

-turbo <boost>
Aumenta a velocidade do jogo. Os valores vlidos vo de 0 at 250. Essa opo muito
utilizada em Deathmatchs.

Comandos para Controle de Multiplayer

-altdeath
Inicia uma partida Deathmatch usando DM v2.0 como padro. Neste modo, todos os itens de
energia, munio e armadura que forem coletados pelos jogadores, reaparecem aps 30
segundos. Os artefatos de invulnerabilidade e as mega esferas de energia no reaparecem.
Neste modo, o suicdio considerado ilegal, e voc perder um ponto para cada suicdio
cometido.

-deathmatch
Inicia uma partida no modo Deathmatch. Se este comando no for utilizado, o jogo ir iniciar
uma partida single-player no modo cooperativo.

-net <players>
Inicia o jogo no modo Multiplayer, com um nmero especfico de jogadores. Para funcionar, o
nmero de jogadores vlidos deve estar entre 1 e 4. Para iniciar uma partida em modo
Cooperativo, no utilize a opo -deathmatch.

-nodes <players>
Trabalha como -net. Se no for especificado o nmero de jogadores, DOOM assumir o valor
2 como padro.

-port <port_no>
Especifica a porta que ser usada. Deve ser usada somente em partidas multiplayer.

Comandos para Desenvolverdores

-debugfile <id>
Obriga o jogo a gravar informaes em um arquivo .txt

-devparm
Utilizado no desenvolvimento de mapas, til para tirar screenshots e verificar slow-down nas
partidas.

- 35 -

Guia do Levelord Black Edition

-warp <episode><mission>
Serve para iniciar o jogo diretamente dentro de uma fase especfica no DOOM e Ultimate
DOOM. Os valores vlidos so: para episdios de 1 at 4, para misses de 1 at 9 (sendo 9 a
fase secreta de cada episdio).

-warp <map>
Serve para iniciar o jogo dentro de uma fase especfica no DOOM 2, e nos outros arquivos
WADs que usam a engine do DOOM 2. Os valores vlidos vo de 1 at 32 (sendo os mapas
31 e 32 secretos).

-fast
Faz com que os monstros reajam como no modo Nightmare, ou seja, eles estaro
extremamente rpidos.

-nomonsters
Inicia um jogo sem nenhum tipo de monstro. Ideal para partidas Deathmatch.

-respawn
Faz com que os monstros ressuscitem aps um determinado tempo. Como no modo
Nightmare.

-skill <level>
Seleciona o nvel de dificuldade do jogo. Os valores vlidos vo de 1 at 5.

Comandos para Gravao de Demos e Screenshots

-devparm
Utilizado no desenvolvimento de mapas, til para tirar screenshots e verificar slow-down nas
partidas. Os screenshots tirados sero colocados no diretrio raz do jogo, sendo numerados
de forma crescente.

-maxdemo <size>
Especifica o tamanho em kilobytes do demo que ser gravado. Se voc no especificar um
valor, ser assumido o tamanho padro de 128K.

-playdemo <filename>
Executa um demo previamente gravado (arquivo LMP). Todo os demos possuem .LMP como
extenso.

-record <filename>
Grava um demo com o nome especificado em filename. Voc no precisa colocar a extenso
.LMP pois ela ser colocada automaticamente.

-recordfrom <slot> <filename>


Faz com que a engine grave um demo diretamente para um slot de salvamento (0-5).

- 36 -

Guia do Levelord Black Edition

16 - Cdigos de Trapaa (Cheat Code)


Abaixo esto listados os cdigos oficias da engine original do jogo Doom (Vanilla Doom).
DOOM & Ultimate DOOM

God Mode
iddqd - Modo Deus (Invulnervel)

Very Happy Ammo


idkfa - Todas as armas e munio completa

Acquire Chainsaw
idchoppers - Pegar a motoserra

Acquire item
idbehold - Pegar todos os itens

No Clipping
idspispopd - Atravessar paredes

Map Information
iddt - Mapa completo com informaes (digite uma vez para exibir o mapa, digite duas
vezes para exibir os monstros e jogadores)

Warp
idclev <level> <episode> - Seleo de nveis (ex: 'idclev 2 3' - pula para o terceiro nvel
do episdio 2)

Report Location
idmypos - Exibe a sua localizao

DOOM 2 (TNT & Plutonia Experiment)

God Mode
iddqd - Modo Deus (Invulnervel)

Very Happy Ammo


idkfa - Todas as armas e munio completa

All Weapons
idfa - Todas as armas

Acquire Chainsaw
idchoppers - Pegar a motoserra

Acquire item
idbehold - Pegar todos os itens

No Clipping
idspispopd - Atravessar paredes

- 37 -

Guia do Levelord Black Edition

Map Information
iddt - Mapa completo com informaes (digite uma vez para exibir o mapa, digite duas
vezes para exibir os monstros e jogadores)

Warp
idclev <level> - Seleo de nveis (ex: 'idclev 26' - pula para o mapa 26 - os valores
aceitos vo de 01 at 32)

Report Location
idmypos - Exibe a sua localizao em coordenadas

- 38 -

Guia do Levelord Black Edition

17 - Editores de Mapas
Voc deve estar perguntando se fcil criar ou modificar mapas para o DOOM. Bom, a resposta
simples: DEPENDE!
Mas, depende do que ou de quem?
Depende apenas de voc, pois voc quem ir criar ou modificar um mapa, portanto, depende
da sua vontade em aprender a criar os mais incrveis efeitos para o jogo DOOM.
Milhares de pessoas em todo mundo que jogam DOOM gostam de criar os seus prprios nveis
para o jogo.
Essas pessoas fazem nveis conforme o seu conhecimento em edio de mapas, por isso eu
resolvi criar esse guia, para ajud-lo a aprender e expandir os seus conhecimentos sobre edio de
mapas.
Abaixo esto listados alguns editores de mapas para o DOOM.

DOOM Builder - OpenSource - Gratuito (Windows)


http://www.doombuilder.com/

DeepSea - Shareware (Windows)


http://www.sbsoftware.com/

WadAuthor - Shareware (Windows)


http://www.gamers.org/pub/idgames/utils/level_edit/

Yadex - OpenSource - Gratuito (Linux - *nix)


http://www.teaser.fr/~amajorel/yadex/

Nota: Atualmente o melhor e mais poderoso editor de mapas para o DOOM o DOOM Builder.

- 39 -

Guia do Levelord Black Edition

18 - Conhecendo o WadAuthor
18.1 - A Aparncia do WadAuthor
A imagem abaixo mostra a aparncia do WadAuthor v1.30.

Fig. 7 Tela principal do WadAuthor


Observe que o programa muito semelhante dos demais programas encontrados no Windows
(como o Word, por exemplo), isso torna o aprendizado muito mais simples e fcil.
DOOM.

Iremos agora entrar na parte realmente divertida, que a criao de um novo mapa para o

- 40 -

Guia do Levelord Black Edition


18.2 - Guia de Botes
A tabela abaixo mostra todos os botes disponveis no WadAuthor (v1.30):

TABELA DE BOTES
CONE

INGLS

PORTUGUS

DESCRIO

New Wadfile

Novo arquivo WAD

Cria um novo arquivo WAD vazio.

Open

Abrir

Abre um arquivo WAD j existente.

Save

Salvar

Salva o arquivo atualmente aberto.

Cut

Cortar

Copy

Copiar

Paste

Colar

Undo

Desfazer

Apaga a seleo copiando para a rea


de transferncia.
Copia a seleo para a rea de
transferncia.
Cola o contedo da rea de
transferncia.
Desfaz a ltima ao.

Print

Imprimir

Check Map

Checar Mapa

Run Map

Iniciar Mapa

Help Topics

Tpicos de Ajuda

Imprime o mapa do arquivo WAD


aberto.
Procura erros e exibe um relatrio dos
dados.
Inicia o jogo com o mapa atualmente
aberto.
Exibe os tpicos da ajuda do programa.

Help

Ajuda

Exibe a ajuda do WadAuthor.

New Rectangular
Sector
New Polygonal
Sector
New Thing

Novo
Setor
Retangular
Novo Setor Poligonal

Insere um novo setor retangular.

Novo Objeto

Insere um novo objeto.

Zoom In

Mais Zoom

Aumentar Zoom.

Zoom Out

Menos Zoom

Diminuir Zoom.

Best Fit

Melhor Ajuste

Increase Grid

Aumentar Grade

Ajusta a exibio para uma melhor


visualizao.
Aumenta a grade de trabalho.

Decrease Grid

Diminuir Grade

Diminui a grade de trabalho.

Show Thing
Bitmaps
Show Grid

Exibir Imagens dos


Objetos
Exibir Grade

Exibe imagens dos objetos existentes do


mapa.
Exibe a grade padro.

Show Floor Grid

Exibir Grade

Exibe as intercesses da grade.

Snap To Grid

Ajustar a Grade

Ajusta os vrtices automaticamente nas


intercesses da grade.

- 41 -

Insere um novo setor poligonal.

Guia do Levelord Black Edition

19 - Configurando o WadAuthor
Aqui ser mostrada a maneira correta de configurar o WadAuthor (v1.30). Leia atentamente.

19.1 - Localizao dos Arquivos WADs


Na primeira vez que o programa WadAuthor for aberto, provavelmente a janela abaixo ir
aparecer. Nessa janela voc dever indicar o local exato de cada arquivo WAD dos jogos DOOM
(Ultimate DOOM), DOOM II, Heretic e Hexen. Lembre-se de utilizar somente arquivos originais, no
utilize arquivos piratas!
Indique o local do arquivo WAD
(Wadfile), o nome do jogo (Name) e o
nome do mapa a ser criado ou aberto
(New Map). Para evitar problemas,
altere apenas primeira opo indicando
o local correto para o arquivo WAD.
Pronto! A configurao bsica est
completa.
Fig. 8 Configurao Inicial

19.2 - Opes (Options)


Para configurar as opes do WadAuthor clique em Tools Options... Na janela que aparece
voc poder ver vrias abas, cada uma possui diversas opes de configurao, que podero ajudar
voc no processo de edio de mapas.

19.3 - Cores (Colors)


A primeira aba a Colors (Cores), nessa
opo, todas as cores j esto pr-definidas para
um melhor aproveitamento.
Portanto, no necessrio alterar nada (eu
mesmo no recomendo isso!).
Veja cada uma das cores e suas
respectivas definies associadas. Se algo
no te agradar, simplesmente mude!
Fig. 9 Aba Colors (Cores)

- 42 -

Guia do Levelord Black Edition


19.4 - Arquivos (Files)
Na aba Files (Arquivos), clique em Make Backups e no quadro Node Building clique em
Internal.
A primeira opo ir criar cpias de segurana
(backups) de cada arquivo WAD salvo. Os arquivos de
backup do WadAuthor possuem a extenso BAK.
J a opo Node Building trabalha a estrutura
interna dos arquivos WADs, atravs de um processo de
otimizao que complementado com o Reject Table.
Nessa parte existem trs opes:
None (Nenhum), Internal (Interno) e External
(Externo), explicadas a seguir.
Em None, nenhuma ao ser realizada.
Em Internal, o prprio programa WadAuthor ir
realizar o trabalho de Node Building.

Fig. 10 Aba Files (Arquivos)

Em External, voc poder escolher um programa externo que far todo o trabalho de Node
Bulding, para isso basta digitar o nome do arquivo executvel na opo Command, bem como as
opes extras necessrias, e se voc desejar poder ver todo o trabalho que est sendo realizado
ativando a opo Show External Node Build. Caso voc resolva usar um programa externo, o
executvel desse programa deve estar dentro do mesmo diretrio do WadAuthor. Para evitar possveis
problemas ative apenas s opes Make Backups e Internal.

19.5 - Geral (General)


Essa bem simples, afinal so apenas duas
opes. Ative as duas opes.
Restore Main Window Position:
Restabelecer a posio da janela

principal.

Unlimited Undo: Desfazer Ilimitado


A primeira opo no tem segredo, ela apenas
ir restaurar a posio original da janela principal do
programa.
A segunda opo a que realmente interessa,
essa opo ir permitir que voc possa desfazer
qualquer ao efetuada quantas vezes forem necessrias.

- 43 -

Fig. 11 Aba General (Geral)

Guia do Levelord Black Edition


19.6 - Barras de Ferramentas (Toolbars)
Este tambm muito fcil, basta ativar as
opes Standard, View e Status Bar. A opo User
Tools, permite que voc insira uma barra com botes
extras que podem ser configurados manualmente por
voc. Com isso, voc pode iniciar um programa
externo para executar alguma funo que voc achar
apropriado. Para configurar cada boto clique em
Tools Customize... e configure conforme as suas
necessidades.
Standard: Padro
View: Visualizar
User Tools: Utilitrios do Usurio
Status Bar: Barra de Status
Fig. 12 Aba Toolbars (Barra de Utilitrios)

19.7 - Visualizar (Views)


Aqui no h muito que explicar ative todas as opes e configure a opo Default Grid para 64.
Mas, como j costume, vamos l:
Start Maximized: Iniciar Maximizado
Show Thing Bitmaps: Exibir Imagens dos
Objetos
Use Drag Cursor: Usar Opo DragnDrop
(Arrastar e Soltar)
Show Grid: Exibir a Grade Padro
Show Floor Grid: Exibe as intercesses da
grade
Snap
To
Grid:
Ajusta
os
vrtices
automaticamente nas intercesses da grade.
Fig. 13 Aba Views (Visualizar)
Bom,
chega
de
configuraes
(por
enquanto...). Vamos ao que interessa a edio de
mapas!

- 44 -

Guia do Levelord Black Edition

20 - Selecionando um Jogo
Para selecionar um jogo, voc deve iniciar o programa WadAuthor, na tela principal do programa
clique em File Select Configuration File, na janela que aparece (fig. 14), escolha o arquivo
correspondente ao jogo que voc quer editar.
As opes so: DOOM (Ultimate DOOM), DOOM 2, Heretic e Hexen.
OBS: A opo Select Configuration File somente ir aparecer se no existir nenhum arquivo
WAD aberto!
Tudo o que voc aprender neste livro sobre edio de mapas para o DOOM e DOOM 2 tambm
servem para o Heretic (Algumas coisas tambm funcionam no Hexen, porm a edio de mapas para ele
muito mais complexa!). Bom, selecione o arquivo DOOM2.WCF e vamos prosseguir...

Fig. 14 Caixa de seleo de configurao

- 45 -

Guia do Levelord Black Edition

21 - Criando um Mapa
na barra de ferramentas
A criao de um novo arquivo WAD muito simples. Clique no boto
ou selecione New no menu File. Uma nova janela ser criada com um mapa vazio pronto para editar,
maximize a janela. A janela devera se parecer com a figura 15:

Fig. 15 Novo mapa vazio

21.1 - Criando a Primeira Sala


Para criar a primeira sala, clique com o boto direito do mouse no lugar onde a sala devera ser
criada. Um pequeno menu de contexto suspenso dever aparecer. Este menu sempre trar as operaes
que so mais apropriadas para o objeto clicado.
Selecione a opo New Polygonal Sector... no menu de contexto, e digite a informao pedida
na caixa de dilogo resultante. Clique no boto OK para completar o processo e criar o novo setor.
Um setor corresponde simplesmente a uma nica sala. Eu digo simplesmente,
porque uma sala, da perspectiva do jogador, pode ser composta de muitos setores
diferentes para alcanar efeitos diferentes.
Na ilustrao abaixo, eu criei um setor com 5 sides (lados), 256 radius (dimetro) para o mapa.
O WadAuthor ir ajustar a janela para a melhor viso possvel quando voc pressionar a tecla Home.
Pressione Home e ajuste o zoom usando as teclas menos (-) e mais (+) at que voc esteja satisfeito
com a exibio.

Fig. 16 Sala com 5 lados

- 46 -

Guia do Levelord Black Edition

Fig. 17 Sala com 5 lados e 256 de dimetro

23.2 - Mudando o Formato da Sala


Para mudar a forma de um setor existente, clique e segure o boto esquerdo do mouse num dos
retngulos pequenos onde duas ou mais paredes de um setor se encontram (esse retngulo o ponto
de vrtice!).
Ao fazer isso, ter incio o sistema de Arrastar e Soltar (DragnDrop), que lhe permitir
posicionar o determinado o vrtice onde voc quiser.
As linhas (linedefs), de um setor so chamadas de paredes, e os pequenos
retngulos onde as linhas se encontram so chamados vrtices. As linhas sempre
conectam no mnimo dois vrtices, ao mover um vrtice voc estar mudando a
forma global de um determinado setor. Note que cada linha tem uma outra pequena
linha em seu centro apontando para dentro do setor. Estas linhas indicam qual o
lado frontal da linha. Isso se mostrar ser importante mais tarde no decorrer deste
guia.
Voc tambm pode mudar o nmero de lados que um determinado setor simplesmente mudando
o nmero de linhas. Clique com o boto direito do mouse em qualquer linha e selecione a opo Split
Linedef(s) no menu de contexto. Isto criar um novo vrtice no centro da linha, enquanto divide a
linha pela metade. Voc pode posicionar o novo vrtice onde quiser como descrito acima, e modificar a
forma da sala. Na ilustrao abaixo, eu dividi uma das linhas e arrastei o novo vrtice.

Fig. 18 movendo um vrtice

- 47 -

Guia do Levelord Black Edition


23.3 - Girando e Redimensionando (Escalando) a Sala
O WadAuthor torna isto muito fcil de fazer, possibilitando que voc mude a forma de uma sala
enquanto altera o seu tamanho global e orientao. Tentemos um exemplo.
Clique com o boto direito do mouse em qualquer lugar dentro do setor, e selecione a opo
Rotate Sector... no menu de contexto. Na caixa de dilogo resultante, digite um valor para o ngulo e
clique no boto OK.
O setor foi girado ao redor de seu centro conforme o nmero especificado de graus.
Agora mudaremos o tamanho. Clique com o boto direito do mouse em qualquer lugar dentro do
setor, e selecione a opo Scale Sector... no menu de contexto. Na caixa de dilogo resultante, digite
um valor para a porcentagem e clique no boto OK. O setor foi escalado ao redor de seu centro pelo
valor especificado.
Aplicando escalas diferentes e rotaes diferentes a setores diferentes, voc poder criar
virtualmente qualquer setor que desejar. Na ilustrao abaixo, eu apliquei o valor de 30 graus para a
rotao do setor e escalei o setor com um valor de 150%.

Fig. 19 Redimensionando um setor

23.4 - Adicionando Jogadores e Inimigos


Para especificar onde o jogador comear dentro do mapa, ns temos que criar um objeto que
indica o jogador no local desejado. Clique com o boto direito do mouse em qualquer lugar dentro do
setor e selecione a opo New Thing... no menu de contexto.
Na caixa de dilogo resultante, selecione Start na caixa Class, Player 1 na caixa Type, e a
direo na qual o jogador estar olhando quando o jogo comear. Tenha certeza que as opes
denominadas Level 1/2, 3, e 4/5 esto selecionadas e clique no boto OK.
Um mapa sem inimigos realmente seria muito chato, sendo assim antes de continuar, coloque
pelo menos um inimigo em algum lugar dentro do setor. Para fazer isto, repita o procedimento anterior
para adicionar jogadores, selecione Enemy na caixa Class, e coloque algum inimigo da caixa Type.

- 48 -

Guia do Levelord Black Edition


Na terminologia de edio de um arquivo WAD, um objeto qualquer objeto
(diferente de paredes, chos, etc.) com os quais o jogador pode interagir. Alguns
objetos podem ser apanhados e usados (munio, energia, etc.), outros
funcionam como paisagem (rvores, pilares, etc.), e alguns so completamente
perigosos sade do jogador!
Na ilustrao abaixo, eu adicionei um objeto de incio para o jogador, um inimigo e uma arma.

Fig. 20 - O jogador, um inimigo e uma arma

Fig. 21 - Observando os Objetos Colocados


(Nota: Voc no pode ver o jogador porque
ele voc!)

- 49 -

Guia do Levelord Black Edition

24 - Editando Propriedades dos Objetos do Mapa


A edio de propriedades uma das coisas mais bsicas e compreende a maioria das operaes
flexveis no WadAuthor. Para editar as propriedades de um objeto existente no mapa, selecione um
objeto e escolha Properties... no menu de contexto, ou escolha Properties... no menu Edit, ou tecle
Alt+Enter para exibir a caixa de dilogo apropriada.
Nessa janela, voc poder editar diversos aspectos que definem as caractersticas do objeto
selecionado.
Essa janela diferente para objetos e para linhas, ou seja, cada um tem a sua janela prpria com
opes prprias.

- 50 -

Guia do Levelord Black Edition

25 - Criando um Corredor
Clique com o boto direito do mouse em uma seo em branco do mapa perto de um setor, e
selecione a opo New Rectangular Sector no menu de contexto. Digite a informao pedida na caixa
de dilogo resultante, e tecle o boto OK para completar o processo. Clique e segure o boto esquerdo
do mouse sobre uma linha, arraste e solte at que voc obtenha um corredor semelhante ao mostrado
na ilustrao abaixo.

Fig. 22 Criando um setor adicional

25.1 - Conectando o Corredor a Sala Principal


Agora o nosso mapa caracteriza-se por possuir dois setores: a sala e o corredor. Ns precisamos
conect-los de forma que o jogador possa mover-se entre eles. O WadAuthor automatiza este processo
para voc lhe permitindo unir duas linhas facilmente. Siga as instrues seguintes:

Clique com o boto esquerdo do mouse na primeira linha a ser unida;


Pressione e segure a tecla Ctrl, clique o boto esquerdo do mouse na segunda linha para a
qual a primeira ser unida;
Solte a tecla Ctrl e clique com o boto direito do mouse em qualquer uma das duas linhas
selecionadas;
Selecione a opo Join Linedefs no menu de contexto.

Voc tambm pode executar essa operao clicando em um vrtice, como boto esquerdo do
mouse, mantendo o boto pressionado arraste at um outro vrtice e solte. Uma caixa de dilogo ir
aparecer perguntando se voc deseja unir esses vrtices, clique OK.
muito importante que voc use estes mtodos para conectar setores em um arquivo WAD. Para
cada linha, o WadAuthor tem que saber qual setor o mestre em cada lado da linha. Se esta informao
estiver corrompida, voc no poder jogar seu mapa.

- 51 -

Guia do Levelord Black Edition


Na ilustrao abaixo, eu uni uma das linhas da sala ao corredor.

Fig. 23 Conectando um setor ao outro

25.2 - Criando uma Porta Local


Uma das caractersticas arquitetnicas mais comuns encontradas em um mapa a porta local.
Uma porta local simplesmente uma porta que abre para cima quando o jogador clica nela usando o
boto de use (normalmente a barra de espao). O WadAuthor simplifica o processo de criao
convertendo um setor existente em uma porta local. O setor a ser convertido tem que ter pelo menos
duas linhas de apoio, que unem o setor principal a um segundo setor.
Na ilustrao abaixo, eu uni dois setores adicionais (um retangular, e um setor hexagonal de
cinco lados, com radius 256) a outro setor no fim do corredor existente e marquei usando um crculo o
setor a ser convertido em uma porta.

Fig. 24 Criando uma porta nova

- 52 -

Guia do Levelord Black Edition


Clique com o boto direito do mouse em qualquer setor que satisfaa as exigncias listadas acima
e selecione a opo Convert Sector To Door... no menu de contexto. A caixa de dilogo resultante lhe
permitir selecionar como a porta deveria se aparecer e se comportar (por padro, apenas uma porta
bsica est previamente definida voc poder criar outras portas se assim desejar!). Na ilustrao
abaixo, eu converti o setor previamente circulado em uma porta. Note que as linhas centrais mudaram
sua orientao, ficando invertidas uma em relao outra.
Isto muito importante! S o lado dianteiro de uma linha pode ser usado para ativar uma
determinada ao (Estas informaes sero teis mais tarde no decorrer deste guia).

Fig. 25 Nova porta criada

Fig. 26 Visualizando a nova porta

25.3 - Providenciando uma Sada


sempre uma boa idia providenciar um meio pelos quais os jogadores possam encerrar um
determinado mapa e com isso poderem continuar no prximo. Caso contrrio, o nico modo de encerrar
ser a morte! Evitarei entrar em tpicos mais avanados, iremos fazer o bsico. Ns aproveitaremos
esta oportunidade para criar o nosso primeiro sub-setor e ajustar as nossas primeiras aes das linhas.

- 53 -

Guia do Levelord Black Edition


Vamos criar uma rea dentro da segunda sala que encerrar o nvel quando o jogador pisar
dentro dessa rea.
Coloque um novo setor retangular no centro do setor no qual voc criou por ltimo ao adicionar a
porta. Para isso, clique com o boto direito do mouse dentro de um setor existente e selecione a opo
New Rectangular Sector... no menu de contexto. O WadAuthor bastante inteligente para interpretar
que voc est criando um setor dentro de um outro setor. O novo setor automaticamente compartilhar
o cho, teto e a iluminao atribuda previamente neste setor.
Lembre-se daquele negcio sobre o lado dianteiro de uma linha, pois o nico lado que pode
ativar aes. Aqui est o primeiro caso onde isto importante. Os lados dianteiros das linhas em nosso
sub-setor esto virados com a face para dentro. Ns vamos precisar inverter as linhas do subsetor para
podermos criar uma sada.
Para inverter as linhas, clique com o boto direito do mouse dentro do sub-setor e selecione a
opo Flip Linedef(s)... no menu de contexto. Na janela que aparecer, selecione Include Textures
and Other Data e clique no boto OK. As linhas deveriam estar apontando para a direo correta agora
(ou seja, devem estar apontando para fora do sub-setor). Tudo bem resta apenas ajustar as linhas para
que o jogo saiba que este setor uma sada.
Clique com o boto direito do mouse novamente dentro do sub-setor e selecione a opo
Properties... no menu de contexto. Isto exibir a janela Map Object Properties. Esta caixa de dilogo
ser explicada mais tarde com maiores detalhes durante o guia. Agora, clique na guia
Linedefs/Sidedefs no topo. Na opo Class, selecione Exit, em Type selecione nW1: end level, go
to next, e clique no boto OK. Agora as linhas do nosso sub-setor esto configuradas para que o mapa
seja encerrado quando o jogador pisar dentro.
Na ilustrao abaixo, eu criei um setor retangular pequeno dentro da segunda sala como descrito
nos pargrafos anteriores.

Fig. 27 Criando uma sada

- 54 -

Guia do Levelord Black Edition

Fig. 28 Observando a nova sada

25.4 - Jogando o Mapa


Bem, no deve haver nenhuma dvida at agora, voc j deve estar se cansando de criar um
mapa novo. Afinal de contas, a parte mais divertida est em jogar o mapa! O programa WadAuthor
torna isto muito fcil, o que excelente para voc poder testar o seu novo mapa sem precisar encerrar o
programa.
ou selecione Run Map... no menu Tools, agora, na janela que apareceu
Clique no boto
selecione o nvel de dificuldade em Skill Level, se voc quiser jogar sem inimigos selecione No
Monsters, se no quiser nenhum som escolha No Sound, embaixo existe uma caixa onde voc poder
digitar opes extras que sero passadas ao jogo durante o carregamento do seu mapa. Aps escolher
as opes, clique no boto OK.
O WadAuthor ir abrir uma sesso do DOS e carregar o arquivo WAD mestre do jogo DOOM,
especificado no arquivo de configurao do WadAuthor, com o seu mapa novo.

- 55 -

Guia do Levelord Black Edition

26 - Edio Avanada de Mapas


26.1 - Criando uma Sala Secreta
Uma sala secreta um tipo de porta; normalmente a entrada para uma sala, que de fato o
verdadeiro segredo. Detalhes parte, eu criei um pequeno mapa para ilustrar a criao de uma sala
secreta. Considere a ilustrao seguinte.

Fig. 29 Criando uma sala secreta


O mapa acima tem uma sala hexagonal grande com uma porta em sua parede nordeste que
conduz, por um corredor, at uma sala pentagonal menor. Seguindo os passos abaixo, voc far uma
sala menor e a transformar numa sala secreta.

Mude a imagem da porta (apenas na linha que est voltado para a sala maior a sala
hexagonal) colocando a mesma textura utilizada nas paredes desta sala.
Clique com o boto direito do mouse na linha da porta (apenas na linha que est voltada
para a sala menor a sala hexagonal), selecione Properties... na janela Map Object
Properties, selecione a opo Secret, clique no boto OK.
Clique com o boto direito do mouse no centro da sala hexagonal, selecione
Properties..., agora clique na guia Linedefs/Sidedefs, selecione a opo Secret.
Colocando a linha como Secret, ela s trabalhar se a altura do cho ou teto do
setor for um pouco mais acima que a sala, o mapa mostrar a sala secreta
imediatamente at mesmo nas linhas depois da porta e antes da porta, mesmo
antes de abrir a porta.

- 56 -

Guia do Levelord Black Edition


26.2 - Criando um Teleporter
Um teleporter, no senso mais tradicional (se pode ser dito at mesmo que um senso tradicional
existe para algo assim), um pequeno sub-setor (normalmente um quadrado de 64 unidades) cuja suas
linhas foram ajustadas para causar teleportao quando cruzadas. Porm, a criao de um teleporter
tambm requer um local de destino de teleporter dentro de um setor devidamente marcado. Os passos
seguintes iro ensinar a criar uma plataforma de incio e destino para um teleporter.

Crie um novo setor retangular, opcionalmente ajuste as texturas de cho e teto, e as


condies de iluminao como uma sugesto visual para o jogador. Esta ser a plataforma
do teleporter;
Inverta todas as linhas no setor novo, inclusive texturas e outros dados. Para fazer isto,
selecione o novo setor e escolha a opo Flip Linedef(s)... no menu de contexto;
Ajuste as linhas do teleporter ao desejada. Para fazer isto, edite as linhas da
plataforma do teleporter e selecione o tipo de teleport desejado;
Crie um objeto de destino. Para fazer isto, coloque um destino de teleport dentro do setor
para o qual o jogador deveria ser teleportado;
Ao criar um teleporter, voc tem que aplicar valores (Tags) as linhas da plataforma do
teleporter e ao setor de destino. Para fazer isto, abra a janela de Tags, e crie uma
etiqueta nova, acrescentando os objetos necessrios lista.
Sempre tenha certeza que as linhas da plataforma do teleporter esto ajustadas
corretamente. Lembre-se que a ao de teleport acontece quando o jogador
cruzar o lado frontal de uma linha.

Na ilustrao seguinte, eu adicionei um teleporter para permitir passagem de mo nica entre


duas salas retangulares sem conexo. Quando o jogador cruzar as linhas na plataforma de teleporter no
quadrado 1, ele ser imediatamente teleportado ao local 2.

Fig. 30 Criando um teleporter

- 57 -

Guia do Levelord Black Edition

Fig. 31 Teleporter criado


Note que o setor de teleporter est alinhado com uma grade igual a 64 (um
quadrado padro). As texturas de cho e teto da plataforma de teleporter devem
ter um padro especfico, isto necessrio para fazer com que o teleporter
aparea corretamente para o jogador.

26.3 - Criando uma Escada Bsica


O WadAuthor automatiza um pouco o processo lhe permitindo especificar a direo, nmero de
degraus, iluminao, cho, teto, e as vrias imagens que auxiliam na converso de um setor retangular
pr-existente em uma escadaria. Os passos seguintes iro ensin-lo a criar uma escada bsica.

Crie um setor retangular no local desejado caso no exista nenhum;


Clique com o boto direito do mouse no setor retangular, selecione a opo Convert
Sector To Stairs... no menu de contexto;
Especifique o nmero desejado de degraus, as texturas dos degraus, e direo do setor a
ser convertido na janela resultante.

Sero preservados a orientao e atributos das linhas em todos os lados da escada. Isto pode ser
muito importante para alcanar efeitos especiais. Observe as imagens abaixo:

Fig. 32 Novo setor de escada

- 58 -

Guia do Levelord Black Edition

Fig. 33 Observando o novo setor


da escada

- 59 -

Guia do Levelord Black Edition


26.4 - Criando uma Janela Padro
Para facilitar o entendimento, primeiramente iremos criar trs setores separados conforme
mostra a figura abaixo:

Fig. 34 Trs setores criados


A imagem mostra dois quadrados e um retngulo, no quadrado da esquerda, aponte o mouse
para a linha que est ao lado do retngulo, clique com o boto direito e selecione a opo Split
Linedef(s), um ponto dever aparecer na linha selecionada.
Repita a operao mais uma vez na mesma linha, e faa a mesma coisa na linha ao lado do
retngulo no quadrado direito. Clique e arraste cada ponto at a posio que voc desejar, ou seja, deve
haver um espao entre eles. Na imagem abaixo eu deixei dois quadrados entre cada linha.

Fig. 35 Dividindo linhas


Vale lembrar que as janelas podem ter qualquer formato: retangular, quadrada, circular, etc...

- 60 -

Guia do Levelord Black Edition


Agora vamos unir as linhas para criarmos a nossa primeira janela.
Clique com o boto esquerdo do mouse num dos pontos (vrtices) do retngulo, segure e arraste
at um dos pontos de um dos quadrados, conforme indica a imagem abaixo. Se voc fez certo, uma
mensagem ir aparecer perguntando se voc deseja unir esses dois vrtices, clique Sim.

Fig. 36 Unindo vrtices


O resultado da unio mostrado na imagem abaixo. Faa o mesmo com os outros vrtices.

Fig. 37 Vrtices unidos

ATENO: Nunca cruze duas ou mais linhas sem que elas estejam unidas por vrtices!

- 61 -

Guia do Levelord Black Edition


Para finalizar, ajuste as dimenses da janela, de acordo com suas preferncias. Tome como base
imagem abaixo.

Fig. 38 Dimenses da janela ajustada


Agora vamos testar e ver como ficou a nossa janela. No WadAuthor tecle Ctrl+R para iniciar o
novo mapa.
Vejamos como ficou!

Fig. 39 Cad a janela? S tem um buraco!


Voc deve estar se perguntando: Onde diabos est a janela? Eu s vejo um buraco na parede!

- 62 -

Guia do Levelord Black Edition


Calma! Falta uma parte importante do processo, que simplesmente ajustar a altura da janela
(relao: cho X teto).
D um clique duplo no centro da janela (retngulo), uma tela com diversas opes ir aparecer
conforme mostra a imagem abaixo.

Fig. 40 Janela de opes


Nessa tela, voc poder ajustar alguns efeitos para a rea da janela, como as texturas de cho e
teto, altura do cho e teto, luminosidade, entre outras opes.
No momento as opes que iremos usar so:
Ceiling / Heigth altura do teto
Floor / Height altura do cho
Altere o valor de Ceiling / Height para 104, e o Floor / Height para 24, no menu do WadAuthor,
clique ou selecione a opo Check Map. Isso ir verificar e listar todos os erros existentes no seu mapa.
Como o nosso mapa simples, devero ser exibidos apenas quatro erros relacionados s
texturas.
Isso se deve ao fato de termos abaixado o teto e levantado o cho no local da janela, criando
uma nova parede sem nenhuma textura. Para corrigir esse problema clique na opo Fix All, conforme
mostra a imagem abaixo.

- 63 -

Guia do Levelord Black Edition

Fig. 41 Corrigindo o erro das texturas


Teste o mapa novamente e veja o resultado. A imagem abaixo mostra como ficou a janela.

Fig. 42 Janela criada!

- 64 -

Guia do Levelord Black Edition


26.5 - Ajustes Finais
Parabns! Voc acaba de criar a sua primeira janela!
Observe na imagem anterior, que as texturas no esto devidamente alinhadas com o resto da
parede, e o que pior, voc pode atravessar a janela como se ela no existisse! Vamos ajustar isso
agora!
Clique com o boto direito no centro da janela (retngulo), e selecione a opo Properties.

Fig. 43 Opo propriedades


Na janela Map Object Properties, clique na aba Linedefs/Sidedefs.
Na seo Attributes selecione as opes Impassable, Upper Unpegged e Lower Unpegged.
Respectivamente:
Impassable Impede que voc atravesse um setor
Upper Unpegged Ajustar textura superior
Lower Unpegged Ajustar textura inferior

DICA: A opo Impassable pode ser utilizada para bloquear a passagem em


qualquer lugar do mapa.

- 65 -

Guia do Levelord Black Edition


Selecione as opes conforme a imagem abaixo.

Fig. 44 Opes selecionadas


Inicie o mapa e teste os resultados. Parabns!

Fig. 45 Janela pronta!

- 66 -

Guia do Levelord Black Edition

27 - O Que ACS Script?


ACS uma linguagem de scripting que foi criada para o jogo Hexen e posteriormente expandida
pelo port ZDoom. A linguagem ACS permite a criao de eventos dentro dos nveis durante uma partida,
possibilitando a criao de ambientes interativos usando a engine de DOOM modificada e expandida.
Com comandos muito bsicos, um autor pode modificar a estrutura de um nvel possibilitando a
incluso de efeitos que no existem na engine original, como mergulhar e nadar em guas profundas,
portas que abrem para ambos os lados, cho e teto que sobem e descem separadamente ou
simultaneamente, entre muitos outros efeitos.
Voc pode at mesmo mover determinadas paredes que possuem determinados critrios (veja a
seo PolyObjects). As texturas indicadas em pisos e em paredes podem ser mudadas. Os monstros (e
alguns outros objetos) podem ser colocados, removidos, monitorados, terem suas propriedades
alteradas, terem seus objetivos ajustados, etc...
Definido de uma maneira menos tcnica, um script algo que uma pessoa pode escrever em um
editor de textos, contendo scripts individuais (como de sub-rotinas), comandos, declaraes variveis, e
assim por diante.
Atualmente existe apenas um compilador de ACS Script, o ACC.exe (que pode ser pego no site do
ZDoom), e um descompilador, o DEACC.exe. A linguagem ACS muito poderosa e extremamente
flexvel, possuindo uma gama enorme de possibilidades para uma pessoa com talento, pacincia e
imaginao!
A linguagem ACS possui muitas caractersticas e semelhanas com outras linguagens de
programao, ele foi estruturado em C/C++ (e tambm pode ser comentada, como mostrado no
exemplo). Um script iniciado escrevendo algo tal como o seguinte:
// This is a comment
int AvailableToAllScripts = 101;
int ICanMakeArrays[3] = {3,6,9};
SCRIPT 1 OPEN {
If (AvailableToAllScripts == 101){
Restart;
}
}
Por favor, note que isso criar um looping em um script sem provocar qualquer tipo de atraso, e
far com que o ZDoom termine automaticamente o script, porque no dar a qualquer outra coisa no
mapa uma possibilidade de funcionar. Voc ver uma mensagem como o seguinte quando isso
acontecer:
Runaway script 1 terminated
Variveis so dimensionadas em muitas linguagens de programao. Se voc quiser que uma
varivel esteja disponvel para todos os scripts, declare ou a defina fora de todos os scripts. As
disposies, ou as variveis que voc pode armazenar e consultar possuem muitos valores,
diferenciando-se entre eles atravs de um ndice (ICanMakeArrays[2] = 9) vlido em ZDoom.

- 67 -

Guia do Levelord Black Edition


Note que um script definido como uma funo em C, com exceo do oddity que no precisa
ser encerrado aps a execuo de todas as indicaes restantes. "OPEN" usado neste exemplo, um
tipo de instruo do script que diz ao ZDoom que o script deve ser executado no momento em que
comear o nvel.
Note tambm que o ACS suporta indicaes condicionais, e conseqentemente os loops feitos
com indicaes condicionais. Suporta a maioria das implementaes de C/C++ (mas no todas!) para
indicaes condicionais e loops condicionais. ACS necessita ser compilado antes que possa ser usado em
um mapa. O utilitrio de linha-de-comando ACC.exe foi projetado para esta finalidade.

- 68 -

Guia do Levelord Black Edition

28 - Dominando ACS Script


Agora irei passar uma lio bsica sobre ACS Script, ensinando alguns conceitos e definies.

28.1 - ACS Script Bsico

28.2 - Estrutura de um Script


ACS, como toda linguagem de programao ou de um grupo, usa seu prprio jogo dos smbolos e
deve seguir um determinado formato a fim de ser compreendido pela engine. Quando a linguagem ACS
foi criada, escolheu-se modelar o formato e a sintaxe o mais prximo possvel da linguagem de
programao C. Aqueles que forem familiarizados com C sero capazes de entender prontamente seu
script.
Como escrever um script? Deixe-me comear com um exemplo simples:
// My first ACS script
#include "zcommon.acs"
script 1 enter
{
Print (s:"Hello world!");
}

O que este script faz? Vou explicar cada linha:


// My first ACS script
Esta uma linha comentada. Os comentrios no afetam o comportamento do script, servem
somente para notas ou explicaes curtas sobre o script (veja a seo comentrios). Todo arquivo de
script deve comear com a seguinte linha de comando:
#include "zcommon.acs"
O comando #include instrui o compilador a abrir o arquivo e execut-lo antes de continuar
processando o arquivo atual, ele denomina uma diretriz orientadora e uma instruo a engine. O
arquivo zcommon.acs uma arquivo padro que contem todas as definies bsicas. Este arquivo
carrega internamente instrues para o processamento de trs outros arquivos e fornece a engine uma
srie de outros elementos. Permite tambm que o programador do script use valores que podem ser
lidos varias vezes, como aes humanas. Basicamente cada script que voc fizer deve incluir essa linha.
script 1 enter
Este o comeo de uma definio do script. O nmero de identificao do script 1 e o enter
significa que o script est ativado por cada jogador que entrar no mapa. O numero deve ser nico entre
todos os outros scripts que seguem o ACS que o programador quiser fazer para seu mapa, eles NUNCA
devem se repetir.

- 69 -

Guia do Levelord Black Edition


print (s:"Hello world!");
Essa linha uma indicao de ACS. A opo print o nome da funo interna que imprime uma
mensagem na tela - esta imprime Hello world!.
Outro exemplo, o programador do script pode tambm incluir diretamente a um script o seguinte
comando:
#define pausetime 70
Esta indicao diz a engine para substituir todos os valores que aparecem na palavra pausetime
pelo nmero 70.
H somente uma varivel datilografada dentro do ACS. As duas palavras chaves INT e STR
definem seu uso. INT usado para um nmero e o STR usado para uma informao de personagem.
As variveis so simplesmente valores que armazenam informaes para o uso em outra ocasio.
Um script tambm pode ser definido pela lista de parmetros, como OPEN e (void).
OPEN faz com que seu script seja carregado antes que o mapa comece a rodar, e (void)
utilizado quando voc quer que o script seja executado somente com a ao do jogador, como na morte
de um monstro ou na ativao de uma linha.
importante que seu script comece com um { e termine com }, no meio dessas chaves que
os comandos do seu script so executados. Todos os comandos do seu script devem terminar com um
(;), somente assim a engine identifica que o comando parou.
Este exemplo de script no usa nenhum parmetro e carregado ao iniciar o mapa.
#define mysector 1
script 1 OPEN
{
sector_setcolor (mysector, 255, 255, 0);
}
O prximo script tem um parmetro (void):
script 2 (void)
{
light_changetovalue (1, 180);
}
O prximo manda o script bloquear uma linha, e tambm usa um valor humano, para desligar
e ligar.
script 3 (int line) {
setlineblocking (line, OFF);
}

28.3 - Comentrios
Os comentrios so partes do cdigo fonte ignorada pelo compilador. Simplesmente no fazem
nada. Sua finalidade permitir que os programadores introduzam notas ou descries no cdigo fonte.
ACS suporta 2 estilos de comentrios:

- 70 -

Guia do Levelord Black Edition

// line comment
/* block comment */
O primeiro tipo, como indicado acima, inicia onde o par de sinais barra normal (//) comea e
termina na extremidade da mesma linha. O segundo tipo, como indicado acima, inicia com os caracteres
/* e termina com os mesmos caracteres em formatao oposta */.
Veja o exemplo seguinte que utiliza os dois tipos de comentrios:
/* Wow my second ACS script, now with more comments.
As you can see this is a block comment so it can go through
more lines */
#include "zcommon.acs"
// This is executed when player enters the level
script 1 enter
{
Print (s: "Hello world!"); // Print the sequence "Hello world!"
}

28.4 - Variveis
ACS (Action Code Scripting) possui apenas um tipo de dado, um byte de quatro letras, e para que
uma varivel venha a ser usada ela deve ser declarada.
int line; str message;
As indicaes acima dizem a engine que deve colocar um espao na memria para duas
variveis, uma ser um nmero (int) e a outra uma mensagem (str). As variveis neste momento, no
tm nenhum valor significativo uma vez que elas no foram inicializadas. Essa declarao reservou
simplesmente alguma memria para usar no futuro.
Para usar uma varivel voc deve ajust-la a um valor significativo usando um dos operadores de
atribuio. O ACS reconhece os seguintes operadores de atribuio: =, + =, - =, * =, /=, % =, + +, - -.
Eles sero familiares aos programadores de C, e para o resto de ns, as seguintes definies
esclarecero seu uso.
= atribua o valor na varivel. A = 1;
+ = adicione ao valor j na varivel. A + = 1; Isso o mesmo A = A + 1.
-= subtraia do valor j na varivel. A - = 1; Isso o mesmo A = A - 1.
* = multiplique ao valor j na varivel. A * = 2; Isso o mesmo A = A * 2.
/ = divida pelo valor j na varivel. A/= 2; Isso o mesmo A = A/2.
% = atribua o restante (mdulos) varivel. Um % = 3; Isso o mesmo que A = A % 3.
+ + adiciona 1 ao valor j na varivel. A++; Isso o mesmo A = A + 1.
- - subtraia 1 do valor j na varivel. Um - -; Isso o mesmo A = A - 1.

- 71 -

Guia do Levelord Black Edition


Alm de um valor, uma varivel tem uma propriedade chamada espace (espao). O espao a
visibilidade da varivel. H trs nveis possveis no ACS. So eles: World, Map e Script.
O World significa que a varivel visvel a todos os scripts em todos os mapas. Este tipo de
varivel seria usado para a informao que pertence ao WAD como um todo. Uma varivel World pode
ser usada em qualquer parte do script e em qualquer mapa do WAD.
O Map significa que a varivel visvel somente em um mapa particular. Isto , se voc declarar
uma varivel no map01, ela no acessvel ao map02. Todos os scripts em map01, tero o acesso
varivel.
O Script significa que a varivel visvel somente em um script em particular. Se voc definir
uma varivel dentro do script 1, ela no ser acessvel ao script 2.
O espao de uma varivel depende sobre onde a varivel declarada. O espao das variveis
World pode ser definido fora de todo o script e devem ser identificadas pela palavra world, seguido por
um nmero de ndice e pelo nome da varivel.
world int 1:wadbadguycount;
A varivel wadbadguycount ser acessvel a todos os scripts em qualquer mapa. As variveis
Map so declaradas fora de todos os scripts, dentro de um mapa particular.
int mapbadguycount;
A varivel mapbadguycount poder ser acessada por todo o script no mapa atual.
As variveis de map do script so declaradas dentro do script.
script 1 (void)
{
str message;
message = "Hello";
...commands...;
}
A varivel message s pode ser usada dentro do script 1 e no pode ser usada em nenhum
outro script.

28.5 - Usando Variveis


Uma das coisas legais de se fazer com o ZDoom so as variveis, elas so simples e podem gerar
efeitos complexos e bem divertidos em um mapa.
Por exemplo, possvel fazer uma varivel em que o jogador precise ativar 5 alavancas para que
uma porta se levante, e se algum tentar abrir essa porta antes de ter ativado as 5 alavancas, a porta
fala que voc deve ativar essas alavancas.
Para comear uma varivel, lembre-se de saber o que voc quer fazer com ela, depois de ter
imaginado um exemplo vamos ao script. Lembre-se de fazer pelo menos o esqueleto do script.
#include "zcommon.acs"
script 1 (void) ou script 1 open
{
}
Agora vamos definir nossa varivel, uma varivel definida com um simples int;

- 72 -

Guia do Levelord Black Edition


Esse int; ser o comando para definir uma varivel, voc pode usar qualquer nome para ela por
exemplo, vamos usar o exemplo das 5 alavancas, vamos colocar o nome da nossa varivel de alavacnt.
#include "zcommon.acs"
int alavacnt;
script 1 (void) ou script 1 open
{
commandos // Aqui sero colocados os comandos
}
J definimos nossa varivel, ela tem o valor 0 (zero), isso significa que ela no est ativada, e
tambm significa que enquanto ela no estiver com o valor 1, ela estar executando outros comandos.
No entendeu? Fique calmo, eu explico.
O ACS trabalha com variveis da seguinte maneira:
Basicamente enquanto a varivel X no estiver com seu valor verdadeiro (TRUE), sero ativados
os comandos falsos (FALSE). Em um script quando escrevemos uma varivel e ela no est sendo
usada, ela no tem valor nenhum, isso quer dizer que ela no tem nem mesmo o valor 0 (zero), significa
tambm que ela no ser utilizada, enquanto no for chamada por um script.
Para us-la em um script voc deve lembrar que o ZDoom trabalha com operadores lgicos, isso
significa que voc vai basicamente trabalhar com operaes matemticas. Ou seja, se voc pssimo
em matemtica, no use variveis!!!
Lembra-se que ela no est ativa porque no estamos usando-a em um script?
Ento vamos us-la, para us-la vamos fazer o seguinte script:
// Esses traos aqui so comentrios, nos deixamos isso no script para
// que eles ajam como notas para programadores ou pessoas que queriam
// modificar o script. Eles no influenciam nas aes em si
#include "zcommon.acs"
// Aqui a varivel est sendo definida
int alavacnt;
// Esse script irar executar antes do mapa abrir
script 1 (open)
{
{if (alavacnt==5); // Se o contador for igual a 5 ativao OK
door_open(12,5,13);
acs_terminate(1,0);
}
else {
delay(16);
restart;
}
}
Parece um monte de numero sem conexo no mesmo? Mas a engine ir identificar esses
valores e interpretar o contedo do script. Observe como isso funciona. Quando colocamos esse IF a
engine l o script da seguinte maneira:
if (alavacnt==5);
Isso que dizer que se o contador das alavancas for igual a 5, todos os comandos abaixo dela
sero ativados, no nosso script os comandos abaixo desse IF so:

- 73 -

Guia do Levelord Black Edition


door_open(12,5,13);
acs_terminate(1,0);
Lembra-se que era s para quando o jogador ativar as 5 alavancas que a porta deveria abrir?
Pois o door_open s ativado quando as 5 alavancas forem ativadas, o acs_terminate, ir
terminar o script dessas alavancas assim que elas estiverem ativadas, assim voc no corre o risco de
ter erros.
Mas o que acontece se as alavancas no estiverem ativadas? Simples! Voc lembra que no meio
daquele script tem um else (equivalente a se no). Ele funciona da seguinte maneira, lembra-se que
no script 1 tinha o contador de alavancas, e que se o valor delas no estivesse em 5 a porta no iria
abrir, ento o else funciona em uma varivel da seguinte maneira.
//Se as 5 alavancas no estiverem ativadas execute esses comandos
else {
delay(16);
restart;
}
}
Entendeu ? No?? Calma que eu explico.
Esse delay um intervalo para que o ZDoom possa calcular o script, se no houvesse esse
intervalo o script sairia correndo literalmente e iria ocasionar um erro. O infame Runaway Script.
O restart indica que o script deve ser executado vrias vezes para que assim a engine possa
trabalhar com a varivel.
Bom voc se lembra que nossa varivel esta com valor 0 (FALSE) e que precisamos comear a
colocar valores nela certo? Ento como fazer? Simples! Com os operadores lgicos, recapitulando que o
ZDoom trabalha com os seguintes operadores lgicos:
=
+
*
*
%
+
-

atribua o valor na varivel. A = 1;


= adicione ao valor j na varivel. A + = 1; Isso o mesmo A = A + 1.
= subtraia do valor j na varivel. A - = 1; Isso o mesmo A = A - 1.
= multiplique ao valor j na varivel. A * = 2; Isso o mesmo A = A * 2.
= divida pelo valor j na varivel. A/= 2; Isso o mesmo A = A/2.
= atribua o restante (mdulos) varivel. Um % = 3; Isso o mesmo que A = A % 3.
+ adiciona 1 ao valor j na varivel. A++; Este o mesmo A = A + 1.
- subtraia 1 do valor j na varivel. Um --; isto o mesmo A = A - 1.

Ento o que temos que fazer que a somatria da nossa varivel chegue at 5, assim a porta se
abre! E para fazer isso vamos usar o operador lgico += assim ele soma valores na nossa varivel.
Para fazer com que a nossa varivel ganhe valores vamos definir o script 2.
script 2 (void)
{
alavacnt+=1;
}
Isso significa que toda vez que o jogador ativar esse script a varivel alavacnt vai ganhar o valor
1, por que o operador += soma valores na varivel!
Ento se colocarmos 5 scripts desse a nossa varivel teria o valor 5. E ai a porta iria se abrir!

- 74 -

Guia do Levelord Black Edition


#include "zcommon.acs"
//definindo a varivel
int alavacnt;
script 1 (open)
//se a varivel estiver com valor 5 executar esses comandos
{
{if (alavacnt==5);
door_open(12,5,13);
acs_terminate(1,0);
}
// caso no esteja executar esses comandos
else {
delay(16);
restart;
}
}
//somando valores na varivel
script 2 (void)
{
alavacnt+=1;
}
script 3 (void)
{
alavacnt+=1;
}
script 4 (void)
{
alavacnt+=1;
}
script 5 (void)
{
alavacnt+=1;
}
script 6 (void)
{
alavacnt+=1;
}
Assim que a varivel estivesse com valor 5 todos os comandos abaixo dela seriam ativados, no
nosso caso uma porta seria aberta, e esse script seria encerrado.
Bom isso tudo que precisamos, mas vamos deixar as coisas mais interessantes.
Voc pode usar mais de 1 script do tipo OPEN no seu WAD, ento que tal fazermos o seguinte,
cada vez que o jogador ativar os scripts que somam valores na nossa varivel uma mensagem diz
quantas alavancas ou quantas ativaes faltam?
Voc se lembra que a nossa varivel comea com valor 0 (zero), e que s quando ela alcanar o
valor 5 que a porta ser aberta, ento vamos colocar um script para que a cada vez que ela receber
um valor, ela faa algo, usando a mesma varivel.
Voc lembra que s tinha um script que seria executado quando a varivel tivesse valor 5,
apenas vamos fazer mais scripts quando a varivel tiver mais valores, como a nossa varivel tem valor 5
vamos fazer mais 4 scripts OPEN, afinal j temos 1. Ento apenas precisamos colocar mais scripts OPEN
que funcionem com os valores das variveis, observe:

- 75 -

Guia do Levelord Black Edition


script 6 open
{
{if (alavacnt==1);
print(s:"4 activations left");
acs_terminate(6,0);
}
else {
delay(16);
restart;
}
}
Esse script manda uma mensagem (print) sempre que a alavanca estiver com um valor 1, lembra
que a porta s abre quando tiver com o valor 5, ento apenas coloque vrios scripts antes da varivel
tomar o valor 5.
script 6 open
{
{if (alavacnt==1);
print(s:"4 activations left");
acs_terminate(6,0);
}
else {
delay(16);
restart;
}
}
script 7 open
{
{if (alavacnt==2);
print(s:"3 activations left");
acs_terminate(7,0);
}
else {
delay(16);
restart;
}
}
script 8 open
{
{if (alavacnt==3);
print(s:"2 activations left");
acs_terminate(8,0);
}
else {
delay(16);
restart;
}
}
script 9 open
{

- 76 -

Guia do Levelord Black Edition


{if (alavacnt==4);
print(s:"1 activations left");
acs_terminate(9,0);
}
else {
delay(16);
restart;
}
}
Observe que a cada vez que a pessoa colocar um valor na varivel as mensagens aparecem!
Se quiser colocar um script onde a pessoa fica sabendo quantas ativaes faltam apenas copie e
cole esse script abaixo. O script esta limitado a 5 ativaes mas voc pode mudar isso, ele est
devidamente comentado, isso ir ajud-lo a lembrar-se de substituir os comandos de acordo com os
rtulos e valores que voc quer.
//Switch Script
//by [DBR]Megamanx3
#include "zcommon.acs"
//identificando a varivel
int alavacnt;
//limite de ativaes, se quiser mude para a quantidade que quiser na linha
//{if (alavacnt==5);
//Lembre-se de que mudando a quantidade voc ter que colocar mais scripts.
script 1 open
{
{if (alavacnt==5);
print(s:"seguence complete");
door_open(tag,speed,amount); // door_open(rotulo,velocidade,quantidade)
acs_terminate(1,0);
}
else {
delay(16);
restart;
}
}
script 2 open
{
{if (alavacnt==4);
print(s:"one activation left");
acs_terminate(2,0);
}
else {
delay(16);
restart;
}

- 77 -

Guia do Levelord Black Edition


}
script 3 open
{
{if (alavacnt==3);
print(s:"two activations left");
acs_terminate(3,0);
}
else {
delay(16);
restart;
}
}
script 4 open
{
{if (alavacnt==2);
print(s:"three activations left");
acs_terminate(4,0);
}
else {
delay(16);
restart;
}
}
script 5 open
{
{if (alavacnt==1);
print(s:"four activations left");
acs_terminate(5,0);
}
else {
delay(16);
restart;
}
}
ativar.

Esse o script que insere valores na varivel, coloque esse script nas linhas que o jogador deve
script 6 (void)
{ alavacnt+=1 }

- 78 -

Guia do Levelord Black Edition

29 - Criando um Script
29.1 - Um Script Bsico
Para comear um script a primeira coisa importante a se fazer , saber o que voc quer fazer, por
exemplo, suponhamos que voc queira que um evento acontea da seguinte maneira.
1.
2.
3.
4.

Um jogador aperta um boto;


Alguns setores levantam seus pisos;
Algumas paredes trocam suas texturas para texturas de sangue;
Depois de 5 segundos, esse setor fica vermelho e aparece um Archvile.

Pode parecer complicado, mas muito simples de se fazer, antes de tudo tenha o mapa
preparado, para tal evento. Rotule os setores que tero seus pisos levantados, agora para se rotular
uma textura no formato ZDoom (Doom in Hexen Format), use a linedef 121 (H - Line Identification),
ele usa apenas um parmetro o LineID, que o rtulo da linha, este rtulo pode ser o mesmo rtulo de
um setor, porque o ZDoom trata de forma diferente o rtulo de um setor e o rtulo de uma linha.
Agora escolha as linhas nas quais voc quer que a textura se transforme em sangue. Lembre-se
de que essas texturas podem ou no conter o mesmo rtulo, se elas estiverem com o mesmo rtulo,
voc no precisar de um script muito grande, caso elas no estejam com o mesmo rtulo, voc vai ter
que definir a troca de cada uma delas, aps ter feito esse processo, rotule o ltimo setor que dever ter
uma cor nova.
Agora que j sabemos o que queremos que acontea, est na hora de comear o script, vamos
comear pelas linhas, voc se lembra que ns tnhamos suposto que o jogador deveria apertar um boto
antes de todo o script comear a rodar, bem, faa esse boto em um editor de mapas e coloque uma
textura no mesmo, depois de criar o boto, vamos rotular uma das linhas com o linedef 80 (H - Script
Execute), assim o script somente ser executado quando essa linha for ativada, antes de comear a criar
o script lembre-se de checar a ativao dessa linha, ela pode ser ativada por vrios fatores os quais so:

Player Walks Over: O jogador passa por cima da linha, e esta ativada;
Player Presses Use: O jogador ativa a linha apertando a tecla Use (Barra de Espao);
Monster Walks Over: Um monstro de qualquer tipo passa por cima da linha ativando-a;
Projectle Hits: Um projtil, como um tiro disparado por um monstro ou um jogador ativa a
linha;
Player Bumps: O jogador esbarra na linha ativando-a;
Projectle Flies Over: Um projtil disparado de um monstro ou de um jogador passa pela
linha ativando-a;
Player Presses Use (Pass Thru): O jogador pressiona a tecla Use (Barra de Espao), mas
ele tambm passa pela linha, para ser ativada;
Projectle Hits or Crosses: Um projtil atinge ou passa pela linha para que essa seja
ativada.

No nosso caso a ativao ser pelo Player Presses Use. Agora vamos ao script, a maioria dos
editores de mapas, vem com uma configurao de script diferente para cada formato, ento, no
adianta usar ACS no DOOM Legacy (isso ser abordado mais tarde).
Abra um editor de textos qualquer (use o Notepad Bloco de Notas) para fazer scripts, na
primeira linha do seu script digite:
#include "zcommon.acs"

- 79 -

Guia do Levelord Black Edition


Este #include diz a engine que inclua o ACS no seu arquivo WAD, sem ele o script no seria
compilado, o zcommon.acs um dos ACS que a engine do ZDoom usa, o zcommon.acs inclui todas as
outras configuraes de ACS do ZDoom, depois apenas defina seu script:
#include "zcommon.acs"
script 1
Esse script apenas define que isso um script e o 1 o numero do script, agora devemos definir
se ele vai ser ativado antes do mapa ser carregado ou apenas quando um jogador ativa-lo. No nosso
caso, o jogador deve ativar o nosso script, para fazer isso devemos definir se o script OPEN ou
(void):

OPEN: O script ser executado antes de o mapa ser carregado;


(void): O script s executado quando uma linha ou um evento for ativado.

No nosso exemplo fica:


#include "zcommon.acs"
script 1 (void)
Depois de definir o script vamos colocar as aes desse script, essas aes devem estar dentro
do mesmo script, ento para definir aes em um mesmo script se usa { e } dentro dessas chaves suas
aes estaro sendo definidas.
ATENO!
TODA AO DEVE SER DEFINIDA DENTRO DE UM SMBOLO!
#include "zcommon.acs"
script 1 (void)
{comandos
}
Agora vamos parte mais importante, no nosso script vrias aes iriam acontecer depois que o
jogador ativa-se o boto certo, o primeiro passo saber quais comandos se encaixam no nosso script,
por exemplo, existe uma lista imensa no ZDoom wiki de comandos, voc apenas deve achar um que se
encaixa no seu script no nosso caso, alguns pisos vo subir, esse efeito obtido pelo simples comando:
Floor_raisebyvalue (Piso_levantaporvalor), esse comando faz com que um piso (floor) se levante
por um determinado valor, todos os comandos de um script possuem uma opo chamada de valor
(value), indicam o que pode ser usado em um comando e devem ficar entre dois () para que a engine
possa identificar.
Exemplo:
Floor_raisebyvalue(tag,speed,value) // Sendo, (rtulo,velocidade,valor)
Ento apenas preencha de acordo com o que voc quer no seu script, digamos que o rtulo dos
pisos que tero seus valores alterados seja 2:
#include "zcommon.acs"
script 1 (void) {
Floor_raisebyvalue(2,........)
}
Agora s falta definirmos a velocidade e o quanto esse piso ser elevado.

- 80 -

Guia do Levelord Black Edition


script 1 (void) {
Floor_raisebyvalue(2,25,......)
}
e agora s falta o valor.
script 1 (void)
{
Floor_raisebyvalue(2,25,35)
}
Pronto! O seu piso j ir elevar-se com a velocidade de 25 e vai elevar-se em 35 unidades. Bom
agora nossos pisos j iro levantar, ento o que falta? As paredes trocarem suas texturas! Lembra-se de
que s precisamos achar algum comando que se encaixe com o que queremos em nosso script, nesse
caso o setlinetexture.
setlinetexture(side,position,texture) // Sendo, (lado,posio,textura)
Agora digamos que as linhas rotuladas tem um valor 3, vamos colocar em nosso script, mas
antes, vamos usar a cabea. Pense bem, se voc um jogador, no iria achar estranho que de repente
uma textura de parede ir virar sangue, o setor fica vermelho e um Archvile aparece em menos de 2
segundos!?!? Para resolver isso foi inventado o delay (intervalo), esse intervalo trabalha com tics.
delay(tics) // Sendo, (tempo)
Lembre-se de que 35 tics equivalem a 1 segundo ento vamos colocar um intervalo de 1
segundo entre os comandos, para que assim parea mais real.
script 1 (void) {
Floor_raisebyvalue(2,25,35);
delay(35);
setlinetexture(side,position,texture)
}
Agora vamos continuar o nosso script, completando o setlinetexture, lembre-se de colocar tudo
corretamente, e do jeito que voc quer, no nosso caso a textura ser de sangue, ento mudamos a
Texture_Middle para blood1, que a textura de sangue do Doom 2.
setlinetexture(3,SIDE_FRONT,TEXTURE_MIDDLE,"Blood1");
Agora o comando esta completo, vamos adicion-lo em nosso script.
script 1 (void) {
Floor_raisebyvalue(2,25,35);
delay(35);
setlinetexture(3,SIDE_FRONT,TEXTURE_MIDDLE,"Blood1");
}
Agora a sala fica vermelha, usaremos o comando sector_setcolor(tag,red,blue,green), vamos
dizer que nossa sala tem o rtulo 5. Lembre-se de que a sala s fica vermelha depois de 5 segundos,
ento... Intervalo neles! 35x5 = 255
script 1 (void) {
Floor_raisebyvalue(2,25,35);
delay(35);
setlinetexture(3,SIDE_FRONT,TEXTURE_MIDDLE,"Blood1");
delay(255);
sector_setcolor(5,203,0,0); }

- 81 -

Guia do Levelord Black Edition


E agora colocamos o Archvile!
thing_spawn(tid,type,byte,tid). Vamos
mapspot no mapa para indicar onde o
tambm pode ser igual ao de um setor.
script.

O comando para colocar objetos no mapa obtido pelo


apenas colocar um Archvile, mas antes necessrio um
Archvile ir aparecer, ento rotule um mapspot, o rtulo dele
O rtulo do nosso mapspot ser 4, vamos coloca-lo em nosso

script 1 (void) {
Floor_raisebyvalue(2,25,35);
delay(35);
setlinetexture(3,SIDE_FRONT,TEXTURE_MIDDLE,"Blood1");
delay(255);
sector_setcolor(5,203,0,0);
delay(35);
thing_spawn(4,T_Archville,0,0);
}
Pronto seu script est completo, no foi to difcil foi?

29.2 - Executando Aes num Script


O verdadeiro poder do ACS vem tona na hora de fazer decises. No Doom uma ao s poderia
ocorrer quando um jogador clica-se num boto, atravessa-se uma linha ou tivesse uma chave (amarela,
azul ou vermelha), assim uma porta abriria ou um evento ocorreria. Mas agora uma srie de critrios
pode ser adotada para que uma ao acontea.
A indicao IF-ELSE uma ferramenta de deciso no ACS. Ela muito poderosa e usada na
hora em que uma indicao ativar o valor TRUE. TRUE definido por um valor no-zero. 1 TRUE assim
como 4, 10, e 1+1. FALSE definido como 0 (zero). O formato ficaria assim:
IF (evaluation)
commands;
ELSE
commands;
Os comandos sob IF s sero executados se a avaliao (evaluation) retornar um valor
verdadeiro (TRUE) diferente de zero.
Se a avaliao for FALSE (zero), os comandos abaixo do IF sero ignorados e os comandos sob
o ELSE que sero executados. Note que a indicao ELSE opcional. Lembre-se de que os comandos
mltiplos devem ser includos dentro { e }.
Por exemplo, if A = 1 ento: if (A) tornar verdadeiras (TRUE) as indicaes se for executado.
se A = 0 ento: se (A) tornar falso (FALSE) as indicaes que sequem IF(SE) sero ignoradas.
Entretanto, A geralmente uma varivel no nica de indicao.
O IF usa argumentos lgicos para ser executado que esto entre ( e ). Estes so chamados de
Logical Operators (Operadores Lgicos).
Os operadores lgicos so: !, &&, ||, ==, !=, >, <, >=, <=
! (Exclamao), no operador!!! Mas voc disse que era!? Calma, este o operador o mais
difcil de compreender porque se opera em uma forma INVERSA.

- 82 -

Guia do Levelord Black Edition


script 1 (int switch)
{
// Se o jogador no ativou a Alavanca ainda
// no faa nada!
if (!switch)
print (s:"You need to activate a switch first")
// Execute esses comandos quando ele tiver ativado a alavanca
else
commands...;
}
&& esse o operador AND(E). Esse operador usado para testar a verdade de todas as
variveis, em um jogo de variveis. Todas as variveis testadas devem ser TRUE (verdadeiro) para que
toda a indicao seja verdadeira. Se uma varivel for FALSE (falsa), toda a indicao se tornar FALSE
(falsa).
script 1 (int sw1, sw2, sw3)
{
// Se todas as alavancas tiverem sido apertadas
// ative a radiao
if (sw1 && sw2 && sw3)
sector_setdamage (1, 50, MOD_LAVA);
// Desligue a radiao
else
sector_setdamage (1, 0, MOD_WATER);
}
script 1 (int sw1, sw2)
{
//se um ou outro interruptor for acionado, ligue a luz.
if (sw1 || sw2) {
light_raisebyvalue (1, 180);
print (s:"Ah, you can see now")
}
}
== Este um operador de igualdade. Ele tornar verdadeiro se duas variveis ou expresses
forem iguais. (Ele usado em vez de = de modo para no ser confundido com o operador de
atribuio =).
script 1 (void)
{
if (thingcount (0, 1) == 0)
print (s:"All those nasty zombies are dead")
}
! = este o operador NO IGUAL. , obviamente, o oposto do operador de igualdade e
retornar TRUE (verdadeiro) se duas variveis ou expresses no forem iguais.
script 1 (void)
{
if (thingcount (0, 1) != 0)
print (s:"You must kill all the zombies")
}
> Esse o operador maior que. Ele retorna TRUE (verdadeiro) se a expresso do lado esquerdo
for maior que a expresso ou varivel do lado direito.

- 83 -

Guia do Levelord Black Edition


script 1 (void)
{
// Spawn Archivile invisvel a cada 10 segundos!
// :)
if (timer > 350)
thing_spawnnofog (1, T_STEALTHVILE, 0);
}
< Esse o operador menor que. Ele retorna TRUE (verdadeiro), se a expresso do lado direito
for menor que a expresso ou varivel do lado esquerdo.
script 1 (void)
{
// Deixe o jogador saber que eu to de mau humor
if (timer < 350)
print (s:"Eu estou de mau humor, de uma olhada");
}
<= Esse o operador maior que, como o nome j diz ele retorna TRUE (verdadeiro), a varivel
ou expresso que est do lado esquerdo se ela for maior ou igual expresso ou varivel que estiver do
lado direito.
script 1 (void){ // Spawn Archivle invisivel assim que
// os 10 segundos tiverem passados
if (timer >= 350)thing_spawnnofog (1, T_STEALTHVILE, 0);}
>= Esse o operador menor que, como o nome j diz ele retorna TRUE (verdadeiro), a
varivel ou expresso que est do lado esquerdo for menor ou igual expresso ou varivel que estiver
do lado direito.
script 1 ()
{
// Deixe o jogador saber que algo ruim vai acontecer.
if (timer < 350)
print (s:"Em 10 segundos seu dia vai ser estragado");
}
A indicao IF, tambm pode ser usada de outra maneira, como mostra esse exemplo.
script 1 (int sw)
{
if (sw == 1) {
if (thingcount (0, 1) == 0)
print (s:"You kill all the zombies");
else
print (s:"The door is now open");
}
}
Demora algum tempo at voc se familiarizar com todos os comandos, mas quando estiver
preparado para usar voc vai gostar das novas oportunidades que iro surgir para voc.

- 84 -

Guia do Levelord Black Edition

30 - Criando um Script no Doom Builder


A criao de scripts no Doom Builder muito fcil, pois o mesmo j inclui um editor de script
embutido. Primeiro encontre onde voc ir fazer o seu script, para isso v a Scripts Edit BEHAVIOR
lump... (fig. 46).

Fig. 46 Criando scripts


Agora na parte do ACS tenha certeza de digitar #include "zcommon.acs" com mostra a foto, se
seu ACS no tiver esse comando ele no vai funcionar (fig.47).

- 85 -

Guia do Levelord Black Edition

Fig. 47 Caixa de criao de scripts


Pressione Enter algumas vezes (umas 3 vezes) e digite script 1 ( void ), isso significa que o
numero do script 1, e que no ser ativado antes do mapa iniciar (void). Veja a figura 48.

Fig. 48 Escrevendo o script

- 86 -

Guia do Levelord Black Edition


D um Enter e escreva um { abre chaves. Esse { que vai comear o script, ao final lembre-se
de fecha-lo, como uma equao matemtica. Agora de um Enter e digite um evento de ACS, que
nesse caso o sector_setcolor (setor_ajustarcor).
Voc ver que ao colocar esse evento e abrir uma (o Doom Builder vir com uma dica para voc
comear com o rtulo (tag), depois com, r (red - vermelho), g (green- verde) e b (blue - azul), isso
significa que voc dever definir o rtulo do setor, a cor vermelha, a verde e a azul. Essa definio
feita em nmeros, assim quanto maior o nmero maior ser a cor, a um limite para os rtulos e outras
coisas, esse limite o numero 255.
Agora vamos terminar o script preenchendo o resto do evento, nesse caso voc vai ler (tag, red,
green, blue) depois de terminado o evento coloque um (;) ou o script no ser compilado junto com o
arquivo WAD. Veja a figura 49.

Fig. 49 Finalizando o script


Se voc quiser que esse seja o seu nico script, basta simplesmente fechar com um }, caso no
queira apenas coloque outro evento. Que no nosso caso o print (fig. 50).

- 87 -

Guia do Levelord Black Edition

Fig. 50 Entendeu?
Uma dica quando quiser fazer um print lembre-se de sempre colocar (") ou a frase no ser
mostrada. Terminado o script ele devera ficar assim.

Fig. 51 Script finalizado

- 88 -

Guia do Levelord Black Edition


No mapa voc dever rotular a linha com o numero 80 (no ZDoom - Doom in Hexen Format) e
colocar nesse caso o nmero 1 e veja como ele ser ativado (fig. 52).

Fig. 52 Rotule a linha desejada

Fig. 53 Finalizando o script

- 89 -

Guia do Levelord Black Edition


Agora que entendeu as ativaes coloque no primeiro parmetro do script que ser executado,
que nesse caso o 1. Sempre cheque o Activation do script, e qual ser ativado!!!!
Entre no seu mapa e veja se o script funciona corretamente. Lembre-se de checar o setor que foi
rotulado com o script. Quando colocar Reapeteble Action o script ser executado infinitamente, nesse
caso ele ser executado toda vez que o jogador passar em cima da linha.

Fig. 54 Resultado final

- 90 -

Guia do Levelord Black Edition

31 - Lista de Comandos ACS (ZDoom)


Segue abaixo uma lista bsica com comandos disponveis para serem utilizados na criao de
scripts usando ACS.
PolyObjects
1:Polyobj_StartLine *
2:Polyobj_RotateLeft
3:Polyobj_RotateRight
4:Polyobj_Move
5:Polyobj_ExplicitLine *
6:Polyobj_MoveTimes8
7:Polyobj_DoorSwing
8:Polyobj_DoorSlide
90:Polyobj_OR_RotateLeft
91:Polyobj_OR_RotateRight
92:Polyobj_OR_Move
93:Polyobj_OR_MoveTimes8
Doors
10:Door_Close
11:Door_Open
12:Door_Raise
13:Door_LockedRaise
14:Door_Animated
249:Door_CloseWaitOpen
Ceilings
38:Ceiling_Waggle
40:Ceiling_LowerByValue
41:Ceiling_RaiseByValue
42:Ceiling_CrushAndRaise
43:Ceiling_LowerAndCrush
44:Ceiling_CrushStop
45:Ceiling_CrushRaiseAndStay
69:Ceiling_MoveToValueTimes8
192:Ceiling_LowerToHighestFloor
193:Ceiling_LowerInstant
194:Ceiling_RaiseInstant
195:Ceiling_CrushRaiseAndStayA
196:Ceiling_CrushAndRaiseA
197:Ceiling_CrushAndRaiseSilentA
198:Ceiling_RaiseByValueTimes8
199:Ceiling_LowerByValueTimes8
252:Ceiling_RaiseToNearest
253:Ceiling_LowerToLowest
254:Ceiling_LowerToFloor
255:Ceiling_CrushRaiseAndStaySilA

- 91 -

Guia do Levelord Black Edition


Floors
20:Floor_LowerByValue
21:Floor_LowerToLowest
22:Floor_LowerToNearest
23:Floor_RaiseByValue
24:Floor_RaiseToHighest
25:Floor_RaiseToNearest
28:Floor_RaiseAndCrush
35:Floor_RaiseByValueTimes8
36:Floor_LowerByValueTimes8
46:Floor_CrushStop
66:Floor_LowerInstant
67:Floor_RaiseInstant
68:Floor_MoveToValueTimes8
138:Floor_Waggle
238:Floor_RaiseToLowestCeiling
239:Floor_RaiseByValueTxTy
240:Floor_RaiseByTexture
241:Floor_LowerToLowestTxTy
242:Floor_LowerToHighest
250:Floor_Donut
235:Floor_TransferTrigger
236:Floor_TransferNumeric
Floors and Ceilings
29:Pillar_Build
30:Pillar_Open
94:Pillar_BuildAndCrush
95:FloorAndCeiling_LowerByValue
96:FloorAndCeiling_RaiseByValue
251:FloorAndCeiling_LowerRaise
245:Elevator_RaiseToNearest
246:Elevator_MoveToFloor
247:Elevator_LowerToNearest
Stairs
26:Stairs_BuildDown
27:Stairs_BuildUp
31:Stairs_BuildDownSync
32:Stairs_BuildUpSync
217:Stairs_BuildUpDoom
Platforms/Lifts
60:Plat_PerpetualRaise
61:Plat_Stop
62:Plat_DownWaitUpStay
63:Plat_DownByValue
64:Plat_UpWaitDownStay
65:Plat_UpByValue
172:Plat_UpNearestWaitDownStay
206:Plat_DownWaitUpStayLip
207:Plat_PerpetualRaiseLip
228:Plat_RaiseAndStayTx0

- 92 -

Guia do Levelord Black Edition


230:Plat_UpByValueStayTx
231:Plat_ToggleCeiling
Teleporters
39:Teleport_ZombieChanger
70:Teleport
71:Teleport_NoFog
76:TeleportOther
77:TeleportGroup
78:TeleportInSector
215:Teleport_Line
Exits
243:Exit_Normal
244:Exit_Secret
74:Teleport_NewMap
75:Teleport_EndGame
Things
72:ThrustThing
128:ThrustThingZ
73:DamageThing
248:HealThing
130:Thing_Activate
131:Thing_Deactivate
132:Thing_Remove
133:Thing_Destroy
134:Thing_Projectile
135:Thing_Spawn
137:Thing_SpawnNoFog
139:Thing_SpawnFacing
136:Thing_ProjectileGravity
175:Thing_ProjectileIntercept
178:Thing_ProjectileAimed
119:Thing_Damage
125:Thing_Move
127:Thing_SetSpecial
176:Thing_ChangeTID
177:Thing_Hate
180:Thing_SetTranslation
229:Thing_SetGoal
17:Thing_Raise
ACS
80:ACS_Execute
226:ACS_ExecuteAlways
81:ACS_Suspend
82:ACS_Terminate
83:ACS_LockedExecute
84:ACS_ExecuteWithResult
85:ACS_LockedExecuteDoor

- 93 -

Guia do Levelord Black Edition


Lines
121:Line_SetIdentification *
208:TranslucentLine
Scrollers
100:Scroll_Texture_Left *
101:Scroll_Texture_Right *
102:Scroll_Texture_Up *
103:Scroll_Texture_Down *
221:Scroll_Texture_Both
222:Scroll_Texture_Model *
225:Scroll_Texture_Offsets *
223:Scroll_Floor
224:Scroll_Ceiling
Lighting
109:Light_ForceLightning
110:Light_RaiseByValue
111:Light_LowerByValue
112:Light_ChangeToValue
113:Light_Fade
114:Light_Glow
115:Light_Flicker
116:Light_Strobe
117:Light_Stop
232:Light_StrobeDoom
233:Light_MinNeighbor
234:Light_MaxNeighbor
Sectors
140:Sector_ChangeSound
185:Sector_SetRotation
186:Sector_SetCeilingPanning
187:Sector_SetFloorPanning
188:Sector_SetCeilingScale
189:Sector_SetFloorScale
190:Static_Init *
212:Sector_SetColor
213:Sector_SetFade
214:Sector_SetDamage
216:Sector_SetGravity
218:Sector_SetWind *
219:Sector_SetFriction
220:Sector_SetCurrent *
BOOM generalized line types
200:Generic_Floor
201:Generic_Ceiling
202:Generic_Door
203:Generic_Lift 204:Generic_Stairs
205:Generic_Crusher

- 94 -

Guia do Levelord Black Edition


Renderer
9:Line_Horizon *
182:Line_Mirror *
183:Line_AlignFloor
184:Line_AlignCeiling
209:Transfer_Heights *
210:Transfer_FloorLight *
211:Transfer_CeilingLight *
16:Transfer_WallLight *
50:ExtraFloor_LightOnly *
Slopes
181:Plane_Align *
Other
15:Autosave
18:StartConversation
33:ForceField
34:ClearForceField
49:GlassBreak
120:Radius_Quake
129:UsePuzzleItem
173:NoiseAlert
174:SendToCommunicator
179:ChangeSkill
191:SetPlayerProperty
227:PointPush_SetForce *
237:ChangeCamera

- 95 -

Guia do Levelord Black Edition

32 - PolyObjects
O uso do BSP para pr-calcular e renderizar a geometria vertical dos mapas causa alguns
inconvenientes, impossvel mover uma estrutura entre os eixos X e Y no Vanilla Doom (DOOM
original). A engine ZDoom corrige esse problema fornecendo PolyObjects. Um polyobject consiste em
um grupo das linhas simples conectadas contidas dentro de um nico sub-setor.
Fazer um polyobject razoavelmente simples, embora possa parecer difcil no incio (quando eu
comecei a criar esses setores, achei que nunca iria conseguir), uma vez que voc comear a pegar a
pratica, perceber que extremamente simples e sem nenhum mistrio. Como esse no um processo
fcil pra quem est comeando, eu fornecerei algumas imagens. O exemplo a seguir foi feito no
WadAuthor.

32.1 - Porta Dupla


Primeiramente ns precisamos de um mapa real.
Eu farei um polyobject de porta deslizante (talvez
o tipo mais fcil), sendo assim ns precisaremos
de duas salas com alturas de teto de 192 e um
corredor mdio (que onde os polys aparecero)
com um teto de 128.
Todos os pisos esto na altura 0 (zero).

Em seguida voc dever construir os polyobjects.


Estes podem ser construdos em qualquer lugar no
mapa, mas para simplificar melhor coloc-los
perto de onde aparecero. Voc pode coloc-los
em um setor dummy (uma espcie de setor
falso...) se voc quiser, mas provavelmente mais
eficiente coloc-los direita do setor no qual
aparecero dentro (especialmente se voc usa o
Doom Builder que no colocar polys no ponto
direito para voc no modo 3D). Para simplificar irei
coloc-los em um setor dummy. Note que os
polyobjects so colunas slidas.
As linhas marcadas em amarelo devem ser
Polyobj_StartLine composto por trs argumentos,
o nmero do polyobject, o polyobject
espelhado e o som que faz ao mover-se
(definido em SNDSEQ). Para o poly superior voc
deve usar o polyobject nmero 0, e para o fundo
voc deve usar o nmero 1 (embora algum
nmero entre 0 255 funcione).
Como estes polys espelharo um ao outro (suas
aes sero as mesmas, somente no reverso, o

- 96 -

Guia do Levelord Black Edition


poly 1 abrir direita e poly 0 abrir a esquerda
no exemplo), voc deve colocar o nmero do poly
oposto no segundo campo. O som no
importante para ns agora, sendo assim, ajuste-o
para 0.
Agora voc tem que colocar as ncoras e pontos
de inicio do polyobject. Estes determinaro onde
os polyobjects realmente sero colocados no
mapa. Coloque primeiramente as escoras, que tm
DoomEdNum 9300. Estes devem ser colocados
dentro dos polyobjects porque voc os tem drawn
no mapa (ou perto da borda), como na imagem. A
nica coisa importante sobre as escoras seu
ngulo, que deve corresponder ao nmero do
polyobj. Assim a escora no alto tem o ngulo 0 e a
escora sob ela tem um ngulo de 1.
Em seguida ns colocamos os pontos de incio.
Estes so colocados de uma maneira similar s
escoras; em um lugar onde voc queira que o
polyobject aparea no jogo relativo escora.
Assim neste caso ns colocamos a escora no
centro do poly, assim que ns queremos o ponto
de incio colocado no centro de onde ns queremos
que o poly aparea, como mostrado na imagem.
Os pontos de incio tm o DoomEdNum 9301 (ou
9302 se voc quiser o polyobject esmague o
jogador).
Agora vem a parte complicada e tambm a parte
mais importante. Necessitamos que os polyobjects
estejam dentro de seu prprio subsector. Se voc
no souber o que um subsector , no realmente
importante, mas a melhor coisa a fazer ter cada
polyobject dentro de seu prprio setor ou colocar
uma linha entre os dois (neste caso). O subsector
que o polyobject reside dentro deve tambm ser
convexo. Para um subsector (ou apenas um setor)
ser convexo todas as linhas que fazem acima sua
forma deve ser uma sorte do crculo ou do
quadrado da forma. Eu acredito que uma definio
mais matemtica (mas no muita) que todos os
pontos ao longo da parte externa da forma devem
poder conectar com algum outro ponto (no na
mesma linha) sem se cruzar atravs de todas as
outras linhas. Os polyobjects do sustento em um
setor e em um voc retangulares sero apenas
finos though. Anote as mudanas que eu fiz ao
mapa no screenshot. As reas do ramo so onde
os polys ir0 quando deslizam, impedindo que
desloquem na rea vaga e as mantenham do
sangramento (que o mais indesejvel).

- 97 -

Guia do Levelord Black Edition


Finalmente, voc quer provavelmente os
polybjects abrir realmente. Esta elasticidade
completamente simples, justa os lados largos dos
polyobjects, o Polyobj_DoorSlide especial, com os
argumentos 0, 32, 128, 64, 105 que so o nmero
do polyobject, velocidade do movimento, ngulo
(definido no ZDoom), distncia do movimento e
atraso antes que os polys se desloquem para trs
as sua posio original (no tics, 105 so 3
segundos). Voc no precisa se preocupar com o
polyobject 1 neste caso, porque ele espelhar o
polyobject 0.
Aquele na imagem ele, feito por voc!

- 98 -

Guia do Levelord Black Edition

33 - LUMPS
Aqui esto todos os lumps, compatveis com o ZDoom (isso inclui GZDoom e variantes) que voc
pode colocar num WAD alm de us-los para customizar vrios aspectos do modo de jogo.

33.1 - Lumps Textuais


Esses tipos de lumps so feitos por textos em editores de wad, tais como XWE, DeepSea e
Wintex.
ANIMDEFS - Usado para definir animaes de texturas;
DECALDEFS - Usado para definir animaes de Decals;
DECORATE - Usado para criar novos objetos (things), como armas, monstros, etc... divididos em
"classes";
DEHACKED - Modifica todos os objetos (things) de DOOM. Usado junto com DEHSUPP (Considerado
meio obsoleto atualmente);
FONTSDEF - Usado para definir novas fontes;
HIRESTEX - Usado para definir Texturas de Alta Resoluo (Hi-Res Textures - HRT);
KEYCONF - Usado para editar, criar, remover opes do Options Menu entre outras coisas;
LOADACS - Usado para carregar automaticamente objetos de ACS (inclusive em mapas do DOOM);
LOCKDEFS - Usado para customizar chaves e suas trancas;
MAPINFO - Usado para definir vrios aspectos do mapa como: nome, msica, cu, etc...;
S_SKIN - Usado para definir a propriedade de uma pele (Skin) customizada (Player Sprite);
SCRIPTS - Usado para conter todos os cdigos de ACS em um mapa (compilado pelo Doom Builder);
SNDINFO - Usado para criar e definir todas as propriedades de som;
SNDSEQ - Usado para criar novas seqncias de sons em movimentos de portas;
TERRAIN - Usado para mudar vrios aspectos de propriedades das texturas de cho (floor);
TEXTCOLOR - Usado para definir novas cores para os textos.

33.2 - Lumps Compilados


Esses LUMPS precisam ser compilados por outras ferramentas do ZDoom, e oferecem um
controle maior sobre alguns dos aspectos do jogo.
ANIMATED - Usado para criar animaes no estilo Boom;
BEHAVIOR - Usado para compilar ACS Script;
DEHSUPP - Compilador para definir, modificar, e mudar paths de DEHACKED;
SWITCHES - Usado para mudar texturas no estilo Boom;
Libraries - Usado para habilitar varias funes de ACS em qualquer mapa;
Strife dialogue scripts - Usado para modificar e criar scripts de conversas como no jogo Strife;
TITLEMAP - Usado para criar um mapa especial (extremamente difcil de ser feito), que substitui a
imagem da tela de entrada para uma espcie de "filme".

- 99 -

Guia do Levelord Black Edition

34 Operadores ( Apndice )
ATENO: OS TEXTOS QUE APARECEM A PARTIR DESSA PGINA CONTM INMEROS
ERROS E INCORREES QUE SERO CORRIGIDOS EM VERSES FUTURAS DESTE GUIA!
ESSAS INFORMAES FORAM AQUI COLOCADAS COMO UM AUXLIO AOS MAPPERS,
PORM A SUA UTILIZAO DEVE SER FEITA COM MUITO CUIDADO. NO ME RESPONSABILIZO
POR QUALQUER TIPO DE PROBLEMA QUE VOC POSSA TER AO UTILIZAR AS INFORMAES
AQUI DESCRITAS.
Estes so todos os operadores e keywords suportados por ACS bem como uma descrio bsica
de cada um. Voc poder usar essa lista para uma consulta futura durante a manipulao de scripts. Se
voc tiver algum conhecimento em C/C++, voc poder escolher apropriadamente e de forma rpida
qual funo usar em seus mapas.
'=' (binary)
Operador de Atribuio
Este operador examina o valor da direita e armazena-o na varivel na esquerda. A menos que
uma expresso esteja sendo passada diretamente a uma funo ou a um script ento deve ter alguma
sorte de um operador de atribuio associado a ela. Uso bsico:

'+' (binary)
Operador de Adio
Adiciona dois nmeros bsicos:
Nota: Se voc quiser adicionar para trs um nmero em uma varivel use o operador '+='.

'-' (unary)
Operador de mudana do sinal (no sei o nome real, sendo assim que eu lhe dei um!) Quando usado na
frente de um nmero muda o sinal dessa varivel. Uso bsico:

'-' (binary)
Operador
de
Subtrao
Isto
subtrai
dois
inteiros
de
se.
Uso
bsico:
Nota: Se voc quiser subtrair para trs um nmero em uma varivel use o operador '-='.

'*' (binary)
Operador
de
Multiplicao
Isto
multiplica
dois
nmeros.
Uso
bsico:
Nota: Se voc quiser multiplicar para trs um nmero em uma varivel use o operador '*='.

- 100 -

Guia do Levelord Black Edition


'/' (binary)
Operador de Diviso
Isto divide dois nmeros. Tenha cuidado sobre a preciso, como o ACS no suporta operaes de ponto
flutuante, voc somente ir obter a parcela do inteiro do resultado e a parte decimal ser excluda.
Tambm convm no se dividir por zero pois isso causar um erro. Uso bsico:
Nota: Se voc quiser dividir para trs um nmero em uma varivel use o operador '/='.

'%' (binary)
Operador de Mdulos
Este estranho operador d o restante da diviso de dois nmeros. Para ajud-lo a compreender, na
matemtica normal 10/4 2,5 sendo que no ACS o restante usado ser apenas 2 inteiro. Uso bsico:
Nota: Se voc quiser modificar um nmero para trs em uma varivel use o operador '%='.

'&' (binary)
Bitwise AND Operator
Este operador examina os bits dos lados direitos e esquerdo, e logicamente os ANDs esquerdos e
direitos junto eles. Tabela verdade:

Como voc pode ver retorna um verdadeiro se ambos forem verdadeiros. Assim se voc
tivesse 7 e 6 e AND juntos, voc teria 6 porque: 0 1 1 1 & 0 1 1 0 = 0 1 1 0 Uso bsico: Nota: Se voc
quiser logicamente uma indicao de inteiro, ento cada bit deve ser tratado
individualmente usando o operador '&&'. Se voc quiser tratar logicamente um nmero para trs em
uma varivel use o operador '&='.

'|' (binary)
Bitwise OR Operator Este operador trata logicamente dois nmeros comparando-os (OR). Tabela
verdade:

Como voc pode ver retorna um verdadeiro se um deles for verdadeiro. Assim se voc tivesse OR 7 e 6
juntos, voc teria 7 porque: 0 1 1 1 | 0 1 1 1 0 = 0 1 1 1
Uso bsico:

Se voc quiser a logicamente OU uma indicao inteira rather ento cada bocado a seguir v '||'
operador. Se voc quiser a logicamente OU um nmero para trs em uma varivel v ento '|= '
operador.
' ^ ' (binrio)

- 101 -

Guia do Levelord Black Edition


Bitwise operador de XOR (refered s vezes como a EOR tambm) Isto exclusivo-ou operador e
logicamente XORs dois nmeros junto. A tabela de verdade de XOR:
| p ^ q p q | 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 0 Como voc pode ver retorna um verdadeiro se ambos
forem diferentes. Assim se voc logicamente XOR 7 e 6 voc comear 1 porque 0 1 1 1 ^ 0 1 1 0 = 0 0
0 1 uso bsico: z = x ^ y; Se voc quiser logicamente a XOR uma indicao inteira rather ento cada
bocado ento seu ir ter que escrever uma funo que o faa para voc porque Acs no tem um operador
que . Se voc quiser logicamente a XOR um nmero para trs em uma varivel ento voc deve ver ' ^
= ' varivel.
' ~ ' (unary)
Bitwise NO Operador. Este logicamente NOTs cada bocado no nmero. NO a tabela de verdade:
| ~p p | 0 | 1 1 | 0 Como voc pode ver retorna um verdadeiro se falso e um falso se verdadeiro.
Assim se voc logicamente NO 7 ento voc comear (realmente desde que os inteiros em ACS so 32
bocados e no 4 voc comea realmente um nmero negativo muito grande mas voc puder comear o
ponto) ao becase 8 ~0 1 1 1 = 1 0 0 0 usos bsicos: y = ~x; Se voc quiser logicamente NO a uma
indicao inteira rather ento cada bocado a seguir vir '!' operador. Se voc quiser logicamente NO a
uma varivel e ento armazen-a-ar para trs nse ento voc necessidade faz-la a maneira longa: x =
~x;
' < < ' (binrio)
Operador De Deslocamento Bitwise Esquerdo Este operador faz exame de todos os bocados na esquerda
e desloca-os pelo nmero na direita. Assim se voc tiver 7 e o deslocamento esquerdo ele 1 ento voc
tem 14 porque 0 1 1 1 < < 1 = 1 1 1 0. Nota: esta exatamente a mesma coisa que multibling o
nmero na esquerda pelo poder cooresponding de 2 na esquerda, assim 4 < < 3 = 32 porque 2^3 8 e
8 por 4 so 32 mas em vez de multipling 4 * 8 seu mais rpido para fazer 4 < < 3. Nota 2: Se voc
deslocar um bocado fora de voc perca-o. Desde que ns estamos tratando dos 32 inteiros do bocado
um 1 < < o deslocamento 32 faremos com que o um bocado seja deslocado fora da varivel e voc seria
deixado com o 0. Uso bsico: z = x < < y; Se voc quiser deslocar os bocados de um esquerdo varivel
e para armazen-lo para trs nse vem ento o operador do '<<='.
' > > ' (binrio)
Operador De Deslocamento Bitwise Direito Esta a mesma coisa que o operador de deslocamento
esquerdo mas o exato oposto a. Faz exame do nmero na esquerda e move seus bocados para a direita
pelo nmero na direita. Assim 6 > > 1 = 3 porque 0 1 1 0 > > 1 = 0 0 1 1. Nota: este exatamente o
mesmo que dividindo um nmero o poder cooresponding de 2 mas mais rapidamente. Assim, 24 > > 3
= 3 porque 2^3 8 e 24/8 = 3. Nota 2: se voc deslocar os bocados fora da varivel ento voc perde
o bocado. Se voc fizer exame de 1 e o deslocar 1: 1 > > 1 ento voc tem zero porque o bocado
comeou deslocado fora. Uso bsico: z x > > y; Se voc quiser deslocar os bocados de um direito
varivel e para armazen-lo para trs nse vem ento o operador do '>>='.
'==' (binary)
Iguais
Relacionais
ao
Operador.
Isto compara duas indicaes e retorna um valor verdadeiro se igual ou falso se diferente.
Uso
bsico:

'! = ' (binary)


Relacional No iguala Ao Operador Isto compara duas indicaes e retorna ento um verdadeiro se no
iguale e falso se . Uso bsico: z = x ! = y;
' > ' (binrio)
Ento
Operador
Mais
grande
Relacional
Isto compara duas indicaes e retorna ento um verdadeiro se o valor na esquerda for mais grande
ento o valor na direita e em um falso de outra maneira, mesmo se o igual dois retornar um falso.
Uso
bsico:
z
=
x
>
y;
' > = ' (binrio)

- 102 -

Guia do Levelord Black Edition


Mais grande ento ou igual relacional ao operador Isto compara duas indicaes e retorna ento um
verdadeiro se o valor na esquerda for mais grande ento ou igual ao valor na direita e em um falso de
outra maneira. Uso bsico: z = x > = y;
' < ' (binrio)
Mais menos Ento Operador Relacional Isto compara duas indicaes e retorna ento um verdadeiro se o
valor na esquerda for menor no direito e falso de outra maneira, mesmo se o igual dois retornar um
falso. Uso bsico: z = x < y;
' < = ' (binrio)
Relacional mais menos ento ou igual a Operater Isto compara duas indicaes e retorna ento um
verdadeiro se o valor na esquerda for menor ou igual ao valor na direita e em um falso de outra
maneira. Uso bsico: z = x < = y;
'&&' (binary)
Operador Lgico AND Este operador compara duas indicaes e retorna ento um verdadeiro ou um
falso baseado no E na tabela de verdade:
|p&qpq|00|001| 010| 011| 1
Entretanto, desde que verdadeiro todo o nenhum zero nmeros este retorno um verdadeiro: 4 seus do
&& 3 usados melhor ao ligar junto os operadores relacionais. Uso bsico:
&& y de z = de x;
Ligando junto os operadores relacionais:
&& a do == y de z = de x ! = b
'||' (binrio)
Lgico OU Operador Este operador compara duas indicaes e retorna ento um verdadeiro ou um falso
baseado no OU na tabela de verdade:
| p & q p q | 0 0 | 0 0 1 | 1 1 0 | 1 1 1 | 1 Entretanto, desde que todo o nmero non-zero
verdadeiro isto retornar uma indicao verdadeira 4 || 0. Seu usado melhor ao ligar junto os
operadores relacionais. Uso bsico: z = x || y; Ligando junto os operadores relacionais: == y de z = de
x || a ! = b
'!' (unary)
NO Operador Lgico Este operador NOTs uma indicao. Se seu verdadeiro (algum nmero non-zero)
ento ele retornar um falso (ou zero) e se seu falso ele retornar um verdadeiro (geralmente um 1). Seu
usado melhor com amd dos operadores relacionais outros operadores lgicos. Uso bsico: y = !x Usado
em operadores lgicos: && do && de z = de!(x y) (x || Y)
' + = ' (binrio)
Operador De Atribuio Da Adio Este operador faz exame do valor na direita, adiciona-o ao valor da
varivel na esquerda, e armazena-o ento para trs na varivel. o equivalente de n = uso bsico de n
+ de y.: x + = y;
' - = ' (binrio)
Operador De Atribuio Da Subtrao Este operador faz exame do valor na direita, subtrai-o do valor da
varivel na esquerda, e armazena
o ento para trs na varivel. o equivalente de n = n - uso bsico do y.: x - = y;
' * = ' (binrio)
Operador De Atribuio Da Multiplicao Este operador faz exame do valor na direita, multiplica-o ao
valor da varivel na esquerda, e armazena-o ento para trs na varivel. o equivalente de n = n * uso
bsico do y.: x * = y;
'/= ' (binrio)
Operador
De
Atribuio
Da
Diviso
Este operador faz exame do valor na direita, divide o valor da varivel por ela, e armazena-o ento
para
trs
na
varivel.

o
equivalente
de
n
=
n
/y.
Nota: todos os limitaions do operador da diviso carregam o excesso assim que veja '/' operador se
voc
no
for
certo.
Uso
bsico:
x/=
y;
'%=' (binary)

- 103 -

Guia do Levelord Black Edition


Operador de Atribuio de Mdulos Este operador faz exame do valor na direita, divide o valor do
varialbe por ele, retorna o restante e armazena-o ento para trs na varivel. o equivalente de n = %
de n y.
Nota: se voc for unsure em como este operatore trabalha ento veja o operador modulous:, ' % ', para
mais info. Uso bsico:
x % = y;
'&=' (binary)
Bitwise E Operador De Atribuio Este operador faz exame do valor na direita, logicamente ANDs todos
os bocados dela ao valor
da varivel na esquerda, e armazena-o ento para trs na varivel. o equivalente de n = n & y. Nota:
Veja bitwise E, ' & ', o operador para mais info em como este operador trabalha. Uso bsico:
x & = y;
'|=' (binary)
Bitwise OU Operador De Atribuio Este operador faz exame do valor na direita, logicamente ORs todos
os bocados dela ao valor
da varivel na esquerda, e armazena-o ento para trs na varivel. o equivalente de n = n | y. Nota:
Veja bitwise OU, '|', operador para mais info em como este operador trabalha. Uso bsico:
x |= y;
'^=' (binary)
Bitwise Operador de Atribuio XOR Este operador examina o valor na direita, logicamente XORs todos
os bocados dela ao valor da
varivel na esquerda, e armazena-o ento para trs na varivel. o equivalente de n = n ^ y. Nota:
Veja bitwise o XOR, ' ^ ', operador para mais info em como este operador trabalha. Uso bsico:

'<<=' (binary)
Operador de Atribuio do Deslocamento Bitwise Esquerdo
Este operador examina o valor na direita, desloca os bits do valor da varivel na esquerda para um
nmero, e armazena-o de volta na varivel. o equivalente de n = n < < y.
Nota: Veja a seo Deslocamento Bitwise Esquerdo, '<<', para mais informaes sobre como este
operador trabalha.
Uso bsico:

'>>=' (binary)
Operador de Atribuio Bitwise Direito do Deslocamento
Este operador examina o valor na direita, desloca os bits do valor da varivel na direita para um
nmero, e armazena-o ento de volta na varivel. o equivalente de n = n > > y.
Nota: Veja a seo Deslocamento Bitwise Direito, '>>', para mais informaes sobre como este operador
trabalha.
Uso bsico:

- 104 -

Guia do Levelord Black Edition

35 - Links Interessantes

BrDOOM Website
Site dedicado aos doomers (fs do jogo)
http://www.brdoom.com/

BrDOOM Frum
Frum dedicado aos fs
http://www.brdoom.com/_forum/

[DBR] Clan
Primeiro Cl brasileiro de jogadores de DOOM
http://www.dbr.brdoom.com

[DRB] DOOM Resources Brasil


Site oficial de Drak[X] - o meu site ;-)
http://www.brdoom.com/drb

Guia do Levelord
Aprenda a criar e modificar mapas para o DOOM
http://www.brdoom.com/levelord/

DOOM: Apocalipse
Site oficial do projeto
http://www.brdoom.com/apocalipse

DOOM: Apocalipse Frum


Frum do BrDOOM sobre o projeto DOOM: Apocalipse
http://www.brdoom.com/_forum/viewforum.php?f=34

ZDoom Source Port


Site oficial do ZDoom
http://www.zdoom.org

ZDaemon Source Port


Site oficial do ZDaemon
http://www.zdaemon.org

Doom Legacy Source Port


Site oficial do Doom Legacy
http://legacy.newdoom.net

Skull Tag Source Port


Site oficial do Skull Tag
http://skulltag.com

Odamex Source Port


Site oficial do Odamex Port
http://odamex.net

DOOM 64: Absolution (TC)


Port do DOOM 64 do Nintendo 64 para computador (doom2.wad ).
http://www.doom2.net/~doomdepot/abs-download.html

- 105 -

Guia do Levelord Black Edition

Lost Episodes Of Doom


http://www.doomwadstation.com/le.html

Super Mario DOOM


http://files.filefront.com/sdmzip/;7048226;/fileinfo.html

DOOM SNES
Essa a ROM do jogo DOOM para o Super Nintendo (requer ZSnes ou Snes9x).
http://www.emulabr.com/rom.php?rom=1243

DOOM PSX
Jogue DOOM no PSOne ou PSTwo
Parte 1:
http://rapidshare.com/files/17169521/Doom_v1.1_NTSC.part1.rar
Parte 2:
http://rapidshare.com/files/17171646/Doom_v1.1_NTSC.part2.rar

Final DOOM
Jogue Final DOOM no PSOne ou PSTwo
Parte 1:
http://rapidshare.com/files/3120547/Final_Doom.part1.rar.html
Parte 2:
http://rapidshare.com/files/3118665/Final_Doom.part2.rar.html

- 106 -

Guia do Levelord Black Edition

36 - Bibliografia
Este guia inclui textos que eu mesmo escrevi baseados em minha experincia com edio de
mapas para o DOOM, tambm contm textos retirados do DOOM Wiki, ZDoom Wiki, livros sobre DOOM e
do BrDoom Frum (textos escritos por jogadores que so fs e mappers de Doom), e adaptados para
facilitar a compreenso do leitor.
A lista de sites e os nomes dos escritores originais dos textos esto listados abaixo.
(lista incompleta!)

Sites Brasileiros
BrDoom Frum
http://www.brdoom.com/_forum

Sites Estrangeiros
DOOM Wiki
ZDoom Wiki
Doom Legacy Wiki

Mappers Brasileiros
Drak[X] Laete Meireles
LogamMTM

Mappers Estrangeiros
HolfDoom
CrackDoom
YBabel

Agradeo a todos os membros da BrDoom pelo apoio dado durante o processo de


construo deste guia. Tambm quero expressar os meus agradecimentos aos mappers
estrangeiros que apesar de no falarem portugus tambm me ofereceram
apoio para a realizao deste grande projeto.
Laete Meireles Drak[X]

- 107 -

Potrebbero piacerti anche