Configurer Valve Hammer Editor et Introduction à l'édition

Écrit le 06/01/2004 par Cyr1c
Dernière mise à jour : 30/01/2006

Quelques informations avant de commencer

Valve Hammer Editor (VHE) (anciennement WorldCraft) est l'éditeur de niveaux le plus utilisé pour Half-Life et ses mods. Half-Life² se basant sur le même éditeur, on peut sans conteste lui prédire un bel avenir. Avant toute utilisation, sachez que l'éditeur est assez gourmand en ressources. Un bon Pentium III/Athlon avec un minimum de 256Mo de Ram, épaulé par une carte vidéo ayant 16Mo de mémoire embarquée sont un strict minimum pour pouvoir mapper confortablement. Un écran capable de monter en 1024x768 est également recommandé.

Parfois dans VHE vous serez ammené à entrer le chemin d'accès d'une image ou d'un sprite ou encore un son. Malheureusement, Half-Life possède des centaines de sons et de sprites différents. Et pour savoir quel est le bon sprite que vous voulez utilisez, il vous faut deux petits programme. Il s'agit de Pak Explorer et Sprite Viewer.

Pak Explorer :
Ce programme très utile permet de visionner les fichiers avec l'extension " .pak " comme si vous êtiez dans l'explorateur de Windows. Vous pouvez ainsi voir et exporter tous les fichiers que vous voulez !

Sprites Viewer :
Ce programme sert à visualiser les sprites ( .spr ) que l'on peut trouver dans Half-Life (vous devez par contre posséder Pak Explorer). C'est très pratique quand on veut savoir quel sprite insérer dans un niveau.

Zoner Half-Life Tools :
Vous avez peut-être entendu parler des ZHLT ? ces outils de compilations viennent remplacer ceux fourni en standard avec VHE. Ils sont plus puissants, plus rapides, disposent de nombreuses fonctionnalités indispensables, bref, ils sont incontournables.

Comment configurer Valve Hammer Editor

Tout d'abord aller dans Tools puis Options , cliquez sur l'onglet Game Configuration choisissez Edit puis Add et entrez Half-Life.
Dans Game Data Files choisissez le fichier Half-Life.fgd dans le sous-répertoire fgd/half-life/ du répertoire d'installation de VHE.
Dans Default PointEntity class: mettez info_player_start et dans Default SolidEntity class: mettez func_wall.
Dans Game Directory sélectionnez le répertoire où vous avez installé Half-Life.
Dans Mod Directory, mettez le répertoire du mod pour lequel vous mappez (Si vous ne participez à aucun mod, mettez le répertoire valve/ ).
Dans RMF Directory sélectionnez le répertoire où vous stockez vos niveaux en cours de construction.

http://www.game-lab.com/images/tuts/hammer_config/biuldconfig.jpg

Ensuite allez dans Build Program, sélectionnez Half-Life dans Configuration
Choisissez le programme hl.exe dans Game exectuable
A ce point du tutorial, vous devez avoir téléchargé et décompressé les ZHLT.
Dans CSG executable, choisissez hlcsg.exe
Dans BSP executable, choisissez hlbsp.exe
Dans VIS executable, choisissez hlvis.exe
Dans RAD executable, choisissez hlrad.exe

Enfin, dans Placed compiled [...], sélectionnez le sous-répertoire maps/ dans valve/ ou bien dans le répertoire du mod pour lequel vous mappez.

http://www.game-lab.com/images/tuts/hammer_config/gameconfig.jpg

La configuration est quasiement terminée, il reste à choisir les packs de textures.
Cliquez sur l'onglet Textures, cliquez sur Add et sélectionnez un fichier WAD dans le répertoire valve/ dans Half-Life. Répétez l'opération jusqu'à ce que vous ayez sélectionné tous les fichiers WAD.
Vous devez également sélectionner le fichier zhlt.wad qui se trouve dans le répertoire d'installation de VHE, dans le sous-dossier tools/
Cliquez sur Appliquer, puis sur OK.

http://www.game-lab.com/images/tuts/hammer_config/configtextures.jpg

Valve Hammer Editor 3.4 est maintenant prêt pour créer tout plein de niveaux !

Comment créer sa première salle

Tout d'abord il faut savoir, que tout niveau pour Halflife créé avec Valve Hammer Editor se compose d'objets en trois dimensions qu'on assemble les uns aux autres pour former des murs, des ponts, des voutes, ou tout autre objet architectural. Ainsi pour créer une salle de quatre murs, d'un sol et d'un plafond, il vous faudra en tout créer six objets rectangulaires.
Pour les matheux, il vous est impossible de créer un objet concave avec VHE (si vous y arrivez, vous pouvez prévenir l'AFP ;-)

Pour créer un objet de la forme d'un carré cliquez sur Shift+B http://www.game-lab.com/images/tuts/hammer_config/objet.jpg
Ensuite faites un cliquer-glisser dans les fenêtres afin de bien dimensionner votre objet. Une fois que l'objet a la taille que vous souhaitez, cliquez dessus avec le bouton droit de la souris et sélectionnez Create Object (Appuyer sur Entrée donne le même résultat). Votre objet deviendra alors solide.

Faites ainsi cela six fois pour pouvoir créer un cube vide. Pour appliquer une texture à un objet, sélectionnez l'objet http://www.game-lab.com/images/tuts/hammer_config/select.jpg et cliquez sur Shift+A :
http://www.game-lab.com/images/tuts/hammer_config/texture.jpg .

Sélectionnez Browse et choisissez votre texture. Ensuite cliquez en bas de la fenêtre sur mode et choisissez Apply, la face de l'objet sélectionné aura alors la texture choisie (Vous pouvez également cliquer sur le bouton Apply).

http://www.game-lab.com/images/tuts/hammer_config/faceproperties.jpg

Comment insérer un Point de Spawn (PlayerStart)

Un PlayerStart n'est pas un objet mais une entité. Pour insérer une entité, cliquez sur Shift+E http://www.game-lab.com/images/tuts/hammer_config/entity.jpg .

Déplacez le curseur vert de façon à bien placer l'entité à l'intérieur d'une salle. Ensuite sélectionnez info_player_start à droite de l'écran dans le champ Object puis cliquez sur le bouton droit de la souris et choisissez Create Object (Validez avec Entrée si vous avez la flemme). Ainsi lorsque vous lancerez le niveau vous apparaîtrez à la place que vous aurez choisi.

Si vous faites un niveau multi-joueurs, vous devez insérer plusieurs positions de départ. Procédez comme pour un PlayerStart normal mais au lieu de choisir info_player_start choisissez info_player_deathmatch et placez les correctement dans le niveau. La place des PlayerStarts est très importante et influence beaucoup le jeu en multi.

Comment insérer des objets

Un objet est une entité. Pour insérer une entité il faut appuyer sur Shift+B, déplacer le curseur vert là où l'on veut mettre l'objet puis cliquer dessus avec le bouton droit et choisir Create Object . Ensuite sélectionnez-le et choisissez Properties dans le menu contextuel (en cliquant sur le bouton droit). Toutes les fonctions commencant par Ammo_ sont des munitions, celles qui commencent par Weapon_ sont des armes et celles qui commencent par Item_ sont des objets telles qu'un medikit ou de l'énergie.

Comment lancer son niveau

Avant de lancer votre niveau, assurez vous bien qu'il y a un PlayerStart, qu'il est bien dans une salle pour ne pas apparaître dans le vide et que vous avez au moins une lumière (c'est pas terrible un level dans le noir complet) . Puis appuyez sur F9 http://www.game-lab.com/images/tuts/hammer_config/run.jpg , et une nouvelle fenêtre apparaîtra.

Dans la zone Run CSG choisissez Normal.
Dans la zone Run BSP choisissez Normal. CSG et BSP se chargent de la compilation des cartes qui transformera votre niveau au format BSP.
Dans la zone Run VIS choisissez Fast ou No pour accélérer le temps de compilation. Et Full lorsque vous lancerez la compilation finale. La fonction VIS calcule tous les polygones et supprime ceux qui ne sont pas visibles et cela aura pour effet d'optimiser le niveau, afin que les possesseurs d'un pauvre K6-2 puissent avoir droit à leur 25 images par secondes réglementaires
Dans la zone Run RAD sélectionnez Normal. Cette fonction calcule tous les effets de lumière. Pour éviter que le temps de compilation ne dure trop longtemps faites-le en normal, par contre lorsque votre niveau sera complètement terminé choisissez Extra " pour que le niveau soit plus joli. Attendez-vous à un temps de calcul très important (lorsque toutes les options sont au maximum le temps de compilation peut durer 1h30 selon la taille du niveau. Mon niveau Desert, qui est assez petit, a mis ce temps là. Alors faites attention lorsque vous lancez une telle opération).

Enfin si vous avez terminé votre niveau et que vous voulez le mettre sur internet cochez la case Don't run the game afin de récupérer directement votre niveau au format .bsp

Utiliser la fonction Carve

Pour créer l'encadrure d'une porte par exemple avec VHE, il est beaucoup plus facile de créer d'abord un mur puis faire un trou dedans. La fonction Carve permet cela. Il faut simplement créer un mur et ensuite il suffit de créer un deuxième objet qui aura la forme et la taille du trou, et de le placer de façon à ce qu'il prenne la place du trou, c'est à dire que l'objet traversera le mur. Avec le bouton droit de la souris sélectionnez Carve et supprimez ensuite l'objet qui est devenu obsolète. Vous aurez ainsi un trou de la taille que vous voudrez!
Evitez tout de même d'abuser de cette fonction, avec des cylindres à 50 faces par exemple, vous risqueriez de faire périr l'éditeur :-)
Trop l'utiliser peut rendre votre map injouable car la fonction carve génère des polygones superflus qui nuiront aux performances de votre map (framerate faible).

Utiliser la fonction Hollow

Cette fonction sert à créer des parois autour d'un objet et cet objet disparaitra créant ainsi une salle vide. Cette fonction est très pratique pour créer une salle. Il vous suffit pour cela de créer un objet de la taille de votre pièce et de sélectionner Make Hollow dans Tools . Le programme vous demandera alors la taille des parois qui entoureront votre objet. Si ce nombre est positif, les parois seront autour de l'objet, et si ce nombre est négatif, les parois se créeront à l'intérieur de l'objet.
Pour les mêmes raisons citées plus haut, n'abusez pas de la fonction Hollow.

Utiliser l'outil Clip

Cette fonction est sûrement, avec le Vertex Tool (couvert dans un autre tutorial) la plus puissante de WorldCraft. Elle permet de " couper " les objets, comme une scie. Il existe deux modes. Le premier mode permet de couper une partie et de supprimer l'autre. Commencez pas sélectionner l'objet que vous voulez couper.

Cliquez sur Shift+X http://www.game-lab.com/images/tuts/hammer_config/clip4.jpg, et déplacez les deux points qui créeront une droite qui sera la "scie". Le coté en blanc sera gardé et le coté en rouge sera enlevé.

http://www.game-lab.com/images/tuts/hammer_config/clip1.jpg

Pour valider appuyez sur Entrée.

http://www.game-lab.com/images/tuts/hammer_config/clip3.jpg

Vous pourrez ainsi créer facilement des rochers ou autres objets difficiles à réaliser, simplement en rabotant les bords. L'autre mode permet de couper les objet mais sans supprimer une des deux parties.

Rappuyez sur http://www.game-lab.com/images/tuts/hammer_config/clip4.jpg jusqu'à ce que les deux cotés de l'objet soient blancs.

http://www.game-lab.com/images/tuts/hammer_config/clip5.jpg

Ensuite coupez les deux parties en appuyant sur Entrée et votre objet est maintenant scié en deux parties:

http://www.game-lab.com/images/tuts/hammer_config/clip7.jpg
http://www.game-lab.com/images/tuts/hammer_config/clip6.jpg

Cette fonction permet de créer des objets en 3D très rapidement si ils sont un peu plus compliqués. C'est cette fonction que j'utilise le plus dans Hammer.

Ce tutorial a été Mis à jour par Chandler