Não escrevi este
tutorail para ensinar a criar mapas. Aliás, essa nunca foi
minha intenção. Sempre tentei simplesmente ensinar
a usar o editor, e mostro como criar um mapa muito simples justamente
por isso. Esse tutorial não é exceção.
O Q3Radiant não é um editor para aqueles que mal sabem
usar seu computador. Ele foi feito por um programador para um usuário
avançado(afinal, é o editor interno da id). Se quiser
aprender a criar mapas para o Quake 3, pegue o Q3Radiant e continue
a ler o tutorial.
1 - Introdução
O Q3Radiant é
o editor de mapas interno da id. Foi criado dentro da empresa para
ser usado por seus criadores de mapas, jamais pensando nos mortais
que poderia usá-lo para criar mapas. Talvez por isso ele
seja um pouco complicado e até inútil para alguns.
Neste tutorial vou tentar explicar como usar os recursos básicos
do editor. No que diz respeito à edição em
si, nada de novo será mostrado. Criaremos uma simples sala
quadrada com neblina, algo extremamente simples. O suporte a curvas
não será parte deste primeiro tutorial....oras, vamos
lá, preciso de material para escrever ;-)
Antes que eu esqueça, o Q3R
precisa de uma placa 3D tanto quanto o Quake 3. Se você acha
que isso é errado, já parou para pensar qual o sentido
de criar um mapa numa máquina sem hardware 3D? Como rodar
o jogo, com mágica? Então, não espero queixas
quanto a esse detalhe. No momento da criação deste
tutorial eu estou usando uma Viper 770. O mínimo é
uma placa com chip Voodoo 2 ou TNT, este último com vantagens(drivers
OpenGL de verdade!). Também recomendo que esteja utilizando
no mínimo uma resolução de 1024x768x16bits.
2 - Começando
No começo tudo
eram trevas... ops, começo errado. Quer dizer, nem tanto.
Ao abrir o Q3R, você simplesmente vê duas áreas
gradeadas e duas áreas com fundo preto. As áreas gradeadas
são, da esquerda para a direita, a área de alturas(inventei
o nome, sei lá qual é o verdadeiro) e a área
de edição em si. As áreas escuras são,
de cima para baixo, a vizualização do mapa em OpenGL
e a parte de texturas. A foto abaixo ilustra o que digo.
Antes de continuar, recomendo
que você leia a lista de comandos(está no menu 'Help'
do editor) e gaste algum tempo se habituando com os comandos que
estão espalhados pelos menus. A partir daqui eu assumo que
você sabe pelo menos mover a câmera e mudar as perspectivas.
De qualquer forma, aproveite a pequena tabela que vem a seguir.
Ação
|
Comando |
Mover câmera para frente/trás
|
Setas |
Mover câmera para cima/baixo
|
D/C |
Olhar para cima/baixo |
A/Z |
Olhar para esquerda/direita
|
Setas |
Mover lateralmente para esquerda/direita
|
, / . |
Mudar perspectiva(XY,XZ,YZ) |
CTRL+TAB |
Agora, vamos começar
a usar o editor. Experiência com programas de CAD ou modelagem/animação
3D ajudam bastante.
3 - Criando os primeiros polígonos
Inicialmente estamos
vendo a tela de edição no plano XY. Vamos manter assim.
Criar um polígono
é muito simples. Na janela de edição, você
delimita as dimensões e posição(no plano da
janela de edição, e a altura e posição(eixo
Z) são controlados na área de alturas. Preste bem
atenção no que acabamos de ler! Espero que tenha ficado
claro que na janela de edição você pode mudar
os planos(XY, XZ, YZ), mas na área e alturas o eixo Z é
uma constante.
Como exemplo, vou mostrar como criar
o piso da nossa saleta. Primeiro você delimita o piso na área
de edição. Eu quero um piso de 256x256, então
delimitei ele entre as coordenadas (-128,128,0) e (128,-128,0).
Depois, na área de alturas, delimitei como 8 de altura na
posição 0. Então, nosso objeto ficou com dimensão
256x256x8. Veja a foto:
Preste muita atenção
nos limites que aparecem nas áreas de edição
e altura. Eles confirmam as dimensões que queremos. Enquanto
você está criando seu polígono ele fica com
as bordas tracejadas de vermelho. Para finalizar o processo aperte
<ESC>. Ao contrário do que pode se pensar, <ESC>
aqui confirma a edição.
4 - Alterando texturas
A textura inicial do
nosso piso me lembra o Doom. Quem já jogou vai lembrar da
primeira fase, em que um pedaço do piso é enfeitado
com essa textura. Putz, para essas coisas minha memória funciona...Sim,
voltando ao assunto. Selecione o nosso piso segurando Shift e clicando
com o botão esquedo do mouse. Ele deve voltar a ficar marcado
com o tracejado vermelho. Agora, siga a sequência de menus
.
Uma tabela com listas de texturas deve surgir na tela. Para o piso
vamos selecionar a lista base_floor. Então, selecione
a textura indicada na foto(o nome é ilegível, e eu
não perderia mais de 5 segundo tentando descobrir o nome
real), aperte <ESC> e pronto, um piso a mais no mundo.
Aqui vemos a utilidade
da vizualização em OpenGL. Mal alteramos a textura
e já estamos vendo nosso piso com ela, bonitinho, com todas
as cores possíveis. Quem começou a editar mapas nos
tempos do Quake 1 vai chorar de felicidade(se já não
o fez com outros editores mais fáceis de usar).
Antes de ir para a próxima seção,
uma pequena observação. Preste atenção
que algumas texturas estão com uma borda verde, outras com
uma borda branca. Mais à frente, quando rodarmos o mapa no
jogo, você perceberá qual a diferença. Na seção
8 eu mostro ela bem claramente.
5 - Finalizando a sala
Faltam as paredes e o teto. Como já
sabemos criar o piso e alterar sua textura, essa seção
vai ser corrida. Simplesmente desenhe as paredes, dê uma altura
e posição e mude a textura a seu gosto. A única
coisa nova nesse passo é que mostrarei como deslocar texturas
nas faces dos objetos. Caso queira seguir meu roteiro, continue.
Caso contrário pule para a seção 6.
A primeira parede terá uma dimensão
de 256x8x128 e a textura está na lista base_wall,
como se vê na imagem abaixo. Você também percebe
que a textura ficou deslocada, justamente porque eu movimentei a
parede 8 pontos para cima, para que ela ficasse em cima do piso.
Vamos deslocar a textura para que ela
acompanhe o polígono. Para isso, selecione a parede e aperte
'S'. A janela de controle de superfícies deve surgir. Preste
atenção ao fato de que ela não exibe os dados
do objeto selecionado. Ela mostra os dados da última alteração
e a textura selecionada na área de texturas. Então,
cuidado para não deformar e alterar a textura do seu objeto
por engano.
Como a textura selecionada é
a mesma da parede(espero que vc não tenha mudado), basta
mudar o valor do desvio vertical para 16 e o alinhamento estará
perfeito. Ficaram faltando somente as outras paredes. Eu simplesmente
copiei a parede que acabamos de fazer e movi ela para a posição
oposta(a de baixo). Sobraram as paredes laterais, que criei simplesmente
selecionando as duas paredes(cima e baixo), copiando, colando e
girando elas 90º em relação ao eixo Z. O botão
para tal operação é ,
e o comando se encontra no menu .
O próximo passo é o telhado.
Simplesmente copiei o piso, movimentei para a posição
acima das paredes e mudei sua textura. Escolhi a primeira da lista
base_ceiling.
6 - Neblina
Estou para ver jogo tão
fácil de colocar efeitos especiais. Nunca vi coisa igual!
A neblina nada mais é do que uma textura no formato Targa
com alguma extensão. Sem muita perda de tempo, simplesmente
crie um polígono do tamanho da área que você
quer ver com neblina e coloque a textura de neblina. Pronto, simples
assim. A textura que utilizei está na lista sfx. Veja
o que aparece no editor:
7 - Entidades
Todas as entidades estão
acessíveis apartir do menu de contexto do botão direito
do mouse. Não tenho muito o que dizer, já que o processo
é igual em qualquer editor. Você coloca a entidade,
posiciona e altera suas propriedades e ponto final. A única
entidade que pus no nosso mapa foi info_player_start, com
objetivo mais que óbvio.Veja a foto:
Se você tentar
rodar seu mapa no Quake 3 sem algum ponto de início, nada
acontecerá. O jogo lerá seu mapa e tudo parecerá
normal. Só que no momento em que você deveria ver o
mapa o que aparece é o menu principal do jogo. O motivo é
a ausência do ponto de começo, que também faz
com que o compilador de mapas exiba um erro de mapa 'furado'.
8 - Alterando as entidades
Se você prestou
o mínimo de atenção notou um quadradinho com
um Z dentro. Pois essa é a entidade worldspawn, a
entidade pricipal do seu mapa. Ela sempre existe nos mapas e é
única. É nela que você define o ambiente do
seu mapa, a mensagem que aparece enquanto o jogo está lendo
ele, a música que será tocada entre outras características.
Para alterar as propriedades de qualquer entidade aperte 'N'. A
janela abaixo deve surgir:
Note que essa janela possui uma lista
de todas as entidades do Quake 3, mesmo as que não estão
no seu mapa. Então, não adianta querer alterar as
propriedades de alguma entidade que vc não usou: o editor
irá mostrar uma mensagem de erro na caixa de relatório.
Para alterar a worldspawn
basta selecionar o Z ou qualquer polígono(afinal, eles são
seu mapa). Então, crie um parâmetro 'message' com o
valor 'Mapa exemplo'.
9 - Compilando o mapa
Salve seu mapa como exemplo1.
O editor deverá salvar no diretório quake3/baseq3/maps.
Com o arquivo MAP em disco, basta compilar. Para isso existe o menu
BSP. Lá se encontram as opções de compilação,
que podem ser alteradas indo no menu . Não ensinarei a alterar
as opções, use um pouco a cabeça :-).
Para nosso mapa eu utilizei
a opções bsp_Novis(nolight), que é a
mais simples. Se você escolher alguma com processamento de
luzes, ficará tudo escuro pois não colocamos luzes
no mapa. O processamento VIS só levará a uma maior
demora na compilação, e é desnecessário
para o nosso exemplo. Para rodar o mapa no Quake 3, o comando é
o mesmo do Quake ou Quake 2. Basta ir no console e digitar '/map
exemplo1' .
ARGH! Esse mapa é
injogável, horrível!!! ALGUÉM APAGUE AS LUZES!!!
Agora vocês sabem o que quer dizer a borda branca nas texturas.
Texturas com borda branca possuem efeitos especiais(espelhos, animações,
etc, etc), já as de borda verde são sólidas,
meras texturas. Com um resultado tão horrível, tomei
a liberdade de mudar a textura das paredes. Veja!
Espero que este curto
tutorial tenha servido para ajudar você a usar o editor da
id. Eu pessoalmente gostei dele. Fora um ou outro bug, falhas de
memória, lentidões ocasionais, ele é muito
bom. Claro, existem outros mais fáceis de usar, mas quem
disse que tudo é sempre um mar de rosas? ;-)
[]'s
Shad
|