Software: Valve Hammer Editor
NÃvel: Fácil
Descrição: Neste tutorial, você que não tem nenhuma experiência em mapping para half-life 2 aprenderá o básico, como: Configuração, Arquitetura, Iluminação e Compilação. Ao final deste tutorial você será capaz de compilar e rodar um mapa simples para o Half-Life 2.
ATENÇÃO: Antes de ler este tutorial recomendo ler o
glossário de termos.
Autor: Minotaur0
InstalaçãoObviamente para mapear para Source você precisará do jogo original. Algumas pessoas conseguem versões piratas mas eu não recomendo, pois além de serem bugadas estão sempre desatualizadas.
Antes de tudo você precisa do SDK instalado, que é o conjunto de ferramentas para se criar mapas e outras coisas, como models, texturas, etc... Vá na aba tools do Steam - Source SDK e instale.
Uma coisa que nós mappers não podemos reclamar é de que a Valve foi bem generosa liberando a fonte de alguns mapas (como alguns mapas do Single Player, um de Multiplayer e outros do CS:S e DoD:S). Você pode sempre recorrer a esses mapas para estudar arquitetura e entidades. Eles ficam na pasta
.../steam/steamapps/usuario/sourcesdk_content/Depois de instalado abra o SDK e a seguinte janela aparecerá:

O SDK já virá configurado para os mods padrão da Valve (HL2, HL2DM, CS e DOD). Escolha
Half-Life 2: Deathmatch em "
Current Game" para este tutorial e abra o Hammer e crie um novo mapa (
File - New).
A Janela do HammerAssim que abrir o hammer você terá esta imagem assustadora:
Dica: Caso não esteja vendo as 4 viewports ao mesmo tempo vá em tools - options e na aba "General" desmarque a opção "Use Independent Window Configuration". Reinicie o Hammer.Todo novo mapa que você criar será necessário pôr uma Câmera para poder navegar na janela de Preview. Para fazer isso selecione a ferramenta câmera, segure shift e clique na janela top. Um ponto azul aparecerá indicando que a câmera foi adicionada (ela é usada apenas no Hammer, não afeta nada ingame).
Para navegar pelo mapa (ainda com a ferramente câmera selecionada) clique e segure na janela de Preview 3d. Ande pelo mapa como estivesse andando dentro do jogo (usando o sistema W-A-S-D para movimentar-se).
Arquitetura BásicaMapas são compostos de Brushes, ou seja, formas básicas. Brushes não podem ser côncavos, caso contrário você terá problemas na hora de compilar. Para criar brushes clique na ferramenta de criação de brushes:

Antes de criar seu primeiro brush selecione uma textura. Clique no botão "
Browse" na janela "
Texture Group". Para este exemplo selecionei "
dev/dev_measurewall01a". Estas texturas 'dev' são muito úteis para se ter noção de tamanho e para fazer a arquitetura básica do mapa sem ter que se preocupar com texturização precocemente.

Mude o grid para "16". (aperte ']' para aumentar o Grid. Confira qual tamanho você está usando no canto direito-inferior da tela, onde está escrito "Snap on Grid"). Isso quer dizer que cada quadradinho do grid mede 16 unidades.
Clique na janela "top" e arraste para fazer um brush, que será o chão do mapa. Eu fiz um brush de 512 de largura por 1024 de comprimento. Aperte Enter e seu brush será criado. Na janela Side ou Front mude a grossura dele para "16".

Agora faremos as paredes. Faça brushes em volta do 'chão' com 128 unidades de altura e 16 unidades de grossura conforme mostra a figura:

Precisamos fechar nosso mapa agora. A região "preta" ou "vácuo" não pode ficar visÃvel em parte alguma, caso contrário seu mapa terá um "
leak", um erro de compilação que impede que o mapa seja compilado corretamente. Resumindo, com um leak seu mapa não terá iluminação e outros erros bizarros podem ocorrer. Você pode fechar o vácuo com qualquer brush sólido. Neste exemplo faremos uma sala à céu aberto. Selecione a textura "tools/toolsskybox" e faça um teto no mapa, conforme mostra a figura:

Para ir treinando faça algumas paredes e outras coisas como portas e janelas. Lembrando que 128 unidades de altura é a altura padrão para uma parede de 3 metros.

Depois de brincar e fazer a arquitetura básica vamos escolher um céu para o mapa e colocar umas entidades essenciais. Para escolher o céu vá no texture browser e no campo "filter" escreva "sky". Com isso as texturas de Skybox ficarão visÃveis. Para este exemplo selecionei "
sky_day01_06". Para mudar o skybox do mapa vá no menu "
Map - Map Properties" e no campo "
Skybox Texture Name" escreva o nome do sky.
Entidades EssenciaisPara criar entidades selecione o botão de criação de entidades

, clique em alguma janela 2d e aperte Enter. Escreva o nome da entidade desejada no campo "
Objects:" no canto direito da tela. Crie as seguintes entidades:
Info_Player_Start ou
Info_player_Deathmatch: Com essas entidades você define onde o player "nasce" no mapa. É importante que não esteja dentro de algum brush ou entidade sólida (como props) ou que não esteja encostada em outra entidade de Spawn. Coloque um
info_player_deathmatch no meio do mapa (info_player_deathmatch se o mapa for deathmatch ou info_player_start se o mapa for single-player):
light_environment: Essa entidade define a luz ambiente. Usada para simular luz solar, a iluminação será gerada a partir dos brushes com textura "toolsskybox". Coloque em qualquer lugar DENTRO do mapa e, com a entidade selecionada, aperte "Alt + Enter" para abrir a janela de propriedades. Utilizei estas configurações:
Angle (direção): 315
Pitch: Altura do sol. Vai de 0 a -90, sendo que 0 é horizontal e -90 diretamente pra baixo. Utilizei -20 no exemplo.
Brightness: Cor/intensidade da luz. É composto de um valor R G B I (red green blue intensidade). Para escolher uma cor clique em Pick Color. Para este exemplo utilizei
255 153 85 850, sendo que "850" é a intensidade.
Ambient: Cor da sombra + intensidade. Utilizei
111 91 145 200.
weapon_: Entidade para colocar armas no chão. Coloquei uma weapon_shotgun só pra testarmos ingame.
Props: Entidades que adicionam detalhes ao mapa. Props são arquivos modelados em algum programa 3d (como o 3d Studio ou Maya) para serem usados dentro do jogo. Existem 2 tipos principais de props:
Static (estático, que são fixos no jogo) e
physics (que têm fÃsica aplicada). Infelizmente não existe outra maneira de saber se o prop é phys ou static a não ser conhecendo-os. Entre nos mapas e observe os mesmos para saber se têm fÃsica ou não.
(nota: Props estáticos podem ser usados como phys mas o contrário não é possÃvel).Para este exemplo crie um "
prop_physics" e na janela de propriedades da entidade coloque "
models/props_c17/oildrum001.mdl" no campo "
World Model". Clique no botão "Browse" para ver os props disponÃveis. Nosso lindo barril dentro do mapa:
(Não se esqueça de que, assim como entidades de spawn, props_phys não podem estar tocando em nada. Para garantir, deixe um espaço entre o prop_phys e o chão. Assim que o mapa for carregado, o HL2 "derruba" todos os props_pyhs no chão.)Nosso lindo mapa teste está finalmente pronto para ser compilado e testado dentro do jogo. Para isso siga o próximo passo:
CompilaçãoAgora que nosso mapa tem um spawnpoint, não tem leaks e tem pelo menos uma entidade de luz podemos compilá-lo. Para isso aperte "
F9" e a janela de compilação aparecerá. Lembrando que se você não salvou seu mapa ainda será preciso salvar agora. Dê o nome que quiser ao mapa e depois de usar esta configuração aperte ok:

Uma janela de compilação aparecerá. O hammer ficará inutilizável enquanto o mapa está sendo compilado, portanto não pense que ele travou caso demore pra compilar. Existem alternativas, como o
Batch Compiler, para compilar fora do Hammer e evitar que isso aconteça.
Depois de compilado o mapa será copiado para a pasta "
maps" do mod selecionado automaticamente. Para testar seu mapa abra o jogo e carregue-o como você faria com qualquer outro mapa.

Faça o download do mapa de exemplo
aqui