Accueil ⇒ Informatique ⇒ Outils ⇒ Valve Hammer

Valve Hammer

Valve Hammer, anciennement Worldcraft, est un editeur vous permettant de créer vos propres niveaux pour le jeu Half-Life et ses dérivés. Même si vous n'êtes pas très intéressé par la création de cartes, je vous conseille d'essayer cet outil pour une simple raison : c'est une bonne initiation à la représentation et à la modélisation d'objets en 3D. Si par la suite vous voulez vous lancer dans la programmation d'un jeu, que ce soit en OpenGL ou DirectX, je vous conseille de créer d'abord de petits terrains avec cet outil, puis de les représenter en coordonnées point à point. C'est un bon exercice pour s'entraîner, et par la suite il vous sera utile quand vous aurez à gérer des opérations matricielles plus compliquées.

Configuration

Voici les instructions à suivre pour bien configurer Worldcraft et profiter d'un espace de développement optimal.

L'essentiel

Pour commencer, installez Worldcraft dans un dossier précis (ici, nous prendrons "C:\Program Files\Worldcraft"). Installez le pack français dans le même dossier. Puis, créez un raccourci vers "wc-fr.exe", l'exécutable en français de Worldcraft. Lancez le programme. Pour l'instant, le texte est en anglais. Répondez non, enfin "no". La fenêtre de configuration s'ouvre.

Dans "Configuration des Jeux", cliquez sur Editer puis ajouter (en haut). Tapez le nom de votre configuration (par exemple : "Half-Life"). Dans "Fichiers de définition des entités par défauts", cliquez sur ajouter et choisissez "halflife.fgd". Dans dossier de l'exécutable, entrez votre dossier d'HL. Dans dossier du mode, entrez le dossier du mode (de base, le dossier valve. Exemple : "C:\Sierra\Half-Life\cstrike"). Dans dossier d'Half-Life, entrez "C:\Sierra\Half-Life\valve". Entrez le dossier que vous voulez pour les RMF.

Configuration
Bien configurer Worldcraft est fondamental.

Ensuite, cliquez sur l'onglet "Options de compilation" et choisissez votre configuration (ici, "Half-Life"). Dans "Exécutable", entrez l'adresse de l'exécutable d'Half-Life. Pour les fichiers CSG, choisissez "c:\Program Files\Worldcraft\qcsg.exe" (dans notre cas). Pour les fichiers BSP, choisissez dans le même dossier que précédemment "qbsp2.exe". Pour VIS, "vis.exe". Pour RAD, "qrad.exe". Enfin, pour les maps compilées, le dossier vavle\maps (ex: "c:\Sierra\Half-Life\valve\maps").

Optimisations

Le programme est configuré mais il manque encore plusieurs choses. Dans l'onglet Textures, choisissez "c:\Sierra\Half-Life\valve\half-life.wad" en supposant que vous ayez installé HL dans Sierra. Pour les autres textures, vous pourrez choisir decals.wad pour les sprites, xeno.wad pour xen et vous pourrez essayer les autres ".wad". Vous pourrez configurer les onglets "Vue 2d" et "Vue 3d" en fonction de votre machine. Prenez garde à ne pas allouer trop de mémoire si votre ordinateur ne dispose pas d'une quantité très importante de mémoire vive.

Voilà, Worldcraft est configuré. Vous voilà paré à réaliser vos premières maps Half-Life. Notre prochain cours vous permettra de créer une pièce et de démarrer le jeu.

Outils

Bien comprendre l'interface est le meilleur moyen de réussir ses maps. Voici donc une présentation incontournable.

Fenêtres

Il est primordial pour utiliser Worldcraft de comprendre la notion de fenêtrage. L'interface est ainsi composée de quatre fenêtres (pour la version 3.3 de préférence) : trois vues 2D et une vue 3d. La vue du coin en haut à gauche est paramétrable : vous pourrez choisir des vues 2D ou les différentes vues 3D : Fil de fer, pour voir les segments 3D, Flat, pour voir les différentes faces en 3D coloriées, et Texturé, pour voir votre map telle qu'elle sera (à peu près).

La vue 3D Texturé est utile pour un aperçu, mais elle n'est pas toujours une exacte réplique du résultat. Pensez à compiler et tester souvent votre map (nous verrons plus bas comment). Les vues 2D sont là pour l'édition des figures. La vue en haut à droite est une vue de dessus de votre map (angles x/y), la vue en bas à gauche est la vue de face (angles y/z) et la dernière est une vue de profil (angles x/z). C'est dans les vues 2d que vous devrez éditer les figures, mais vous pourrez les sélectionner dans la vue 3D.

Barre d'outils

Voici les différents outils qui vous serviront à créer, puis à modifier, les principaux éléments de votre map.

Sélection Outil de Sélection, il vous servira à sélectionner des objets, à modifier leur disposition, à les tourner, les agrandir ou les déplacer. Pour sélectionner un objet, il suffit de cliquer avec cet outils sur la crois en son center et de cliquer à nouveau pour le tourner, ou encore pour le redimensionner.
Zoom Outil Zoom, il vous servira à zommer en avant ou en arrière dans les différentes vues 2d ou 3d de votre map. A noter que cet outil est presque inutile puisque vous pouvez utiliser la molette de la souris sans avoir à changer d'outil.
Caméra Outil Caméra, il vous permettra de vous déplacer dans la vue 3d de Worldcraft. A noter qu'il vaut mieux placer la caméra dans la vue 3d avant de s'attaquer à la map proprement dite, faute de quoi il vous sera difficile de pouvoir l'utiliser. En vue 3d, vous pourrez regarder dans tous les sens avec le clicl gauche enfoncé, et vous déplacer avec le clic droit enfoncé.
Outil Entité Outil Entité, il vous permettra de placer une entité sur votre carte, à savoir des monstres, armes, munitions, points de départs des personnages, objets etc.
Outil Bloc Outil Bloc, il vous permettra de créer des objets solides comme des blocs, mais aussi des cylindres, pointes et formes plus complexes. Vous pourrez choisir votre primitive, ou forme du solide, dans le menu Primitives, à droite de votre panel.
Outil Textures Outil Textures, il sert à appliquer une textures à la face du solide sélectionnée. Vous devrez tout d'abord choisir la texture dans le menu en haut à droite de votre panel.
Outil Textures Global Outil Textures Global, il sert à appliquer une textures à toutes les faces du solide sélectionné. Vous devrez tout d'abord choisir la texture dans le menu en haut à droite de votre panel.
Outil Decals Outil Decals, cet outil permet d'appliquer un decal à une surface du mur sélectionné. Un décal est un effet comme une tache de sang, une explosion, une fissure etc. Vous pourrez sélectionner un decal posé par la vue 3d.
Outil Clipping Outil Clipping, cet outil permet de couper un solide en deux. Pour ce faire, cliquez sur le solide à couper, déplacez la droite selon l'angle de coupe voulu. La partie en blanc sera conservée et la partie en pointillés supprimée.Pour inverser ce que vous souhaitez garder cliquez de nouveau sur l'outils clipping.
Outil Vertex Outil Vertex, il vous permet de modifier la forme d'un objet par ses sommets (ceux qui ont des notions de 3d savent qu'un vertex n'est autre que le sommet d'une figure 3d). Pour modifier ainsi un solide, sélectionnez-le et prenez l'outil vertex. Sélectionnez un sommet et déplacez-le dans l'espace. Attention à ne pas faire de formes concaves, elles font souvent planter la map. Vous pouvez ajouter une face à votre solide : cliquez sur un sommet blanc et faites CTRL + F. A noter que les points jaunes déplacent deux sommets à la fois.
Outil Tracé Set Outil Tracé Set, il vous permet de placer des paths_corners ou des paths_track en appuyant sur Shift et en cliquant sur une des vues 2D.

Le menu

Le menu, la barre sous les commandes Fichier, Edition, Affichage et autres, est composé d'un ensemble d'outils qui servent peu. Pour la plupart, le fait de laisser la souris dessus vous donnera un aperçu des fonctions de l'outil. Nous n'allons aborder ici que les commandes les plus intéressantes :

Carreaux + Carreaux +, augmente la taille des carreaux pour moins de précision.
Carreaux - Carreaux (, diminue la taille des carreaux pour plus de précision.
Save Bureau Save Bureau, sauvegarde l'état actuel du bureau. Bouteau Charger bureau pour charger l'état d'un bureau.
Carve Carve, sert à carver, cette notion sera étudiée plus tard.
Grouper Grouper des solides, cet outil vous permet de grouper en un seul solide les différents solides sélectionnés.
Dégrouper Dégrouper des solides, cet outil vous permet de dégrouper en plusieurs solides le solide sélectionné.
Compilation Compilation, sûrement l'outil le plus utilisé, cliquez dessus et faits OK pour lancer Half-Life et tester votre map.

Pièce

Bon, assez parlé des bases, nous allons maintenant créer une pièce et y placer le personnage avec son armure et ses armes. C'est parti.

Première pièce

Vous allez commencer par créer votre pièce. Avant tout, configurez vos fenêtres et placez la Caméra. Puis, faites un bloc aux dimensions de la piece. Je vous conseille de le débuter dans la vue Top (vue de dessus), puis de modifier ses caractéristiques dans les autres vues. Utilisez l'outil Block et définissez les dimensions du bloc. Ensuite, cliquez au milieu des pointillés et faites Créer Objet. Ceci fait, vous obtenez un bloc. Pour le reconnaître, sélectionnez-le et appliquez dessus une texture de votre choix avec l'Outil Texture Global. Regardez votre oeuvre dans la vue 3D Texturée.

Bon, pour le moment c'est un bloc. Mais nous allons le changer en pièce. Sélectionnez-le dans la vue 3D, puis, dans une vue 2D, cliquez-droit et faites Hollow, auquel vous donnerez une valeur de "-8". La fonction hollow aurait pu se traduire par "évider", et la valeur "-8" donne un mur d'épaisseur 8 pixels. Admirez votre résultat de l'intérieur en vue 3D : vous obtenez une belle pièce texturée. Une dernière chose, un plafond n'a jamais la même texture qu'un mur. Cliquez sur le cube évidé et faites "Dé-grouper", soit avez le clic droit, soit dans la Barre de Menu en haut. Les faces du cube sont alors séparée et vous pouvez les texturer comme bon vous semble. Cette technique est plus compliquée que d'appliquer une texture à une seule face du cube avec l'Outil Texture, mais elle peut vous permettre d'agir sur chaque face séparément par la suite. A vous de choisir la méthode qui vous convient le mieux.

Interface
Votre première pièce pourrait ressembler à ça.

Entité de départ

Bon, nous avons la pièce mais le niveau est injouable. En effet, dans Half-Life, tout ce qui n'est pas plein est vide et même les maps en extérieur ne sont en fait que des pièces géantes texturées en ciel. Le personnage ne peut donc pas commencer n'importe où : le fait de tomber dans le vide donnerait simplement un effet immonde. Nous allons donc aborder les entités.

Une entité est un objet qui n'est pas un solide, comme une arme, un monstre, un bouton etc. Il existe une multitude d'entités. Celle qui nous intéresse ici se nomme "info_player_start", elle indique l'endroit où apparaît le personnage dans une partie solo. A noter que si vous faites une map multijoueur, vous entrerez les points d'apparitions des joueurs avec les entités "info_player_deathmatch". Mais nous allons ici faire une map où vous serez seul. Ainsi, quand vous ferez "RUN MAP", vous pourrez l'essayer directement sans passer par le Multijoueur.

v4
Un des outils les plus utiles !

Donc, sélectionnez l'Outil Entité et, dans le menu Entities à droite, sélectionnez "info_player_start". Placez la cible verte au milieu de la pièce, puis faites un clic-droit dessus et choisissez Créer l'entité. Si vous faites une map multijoueur, placer un point de départ suffit, mais pour le jeu solo vous devez placer sur "info_player_start" les entités "item_suit" pour la combinaison, et "weapon_crowbar" pour le pied de biche.

Regardez un peu les entités pour vous familiariser avec. Si vous ne comprenez pas le sens d'une entité, munissez-vous d'un dictionnaire de la langue de Shakespeare.

Un brin de fun ?

Bon, vous avez testé votre map et elle est jouable. Mais pour un début, voici quelques plus pour vous amuser. C'est une map solo ? Parfait, nous allons y ajouter un peu de piquant. Placez sur le personnage un fusil à gluons (weapon_eggon), un Bazooka (weapon_rpg), de l'armure (item_battery), un module de grand saut (item_longjump) et pour finir des munitions bazooka et nucléaires (ammo_rpgclip et ammo_gaussclip). Bon, et pour corser le tout ?

Nous allons ajouter quelques bébêtes : choisissez monster_alien_grunt et mettez-en cinq ou six. Ajoutez à cela quelques monster_human_assassin et, pour vous aider, deux monster_barney. Et si vous avez vraiment le goût du sport, placer un monster_gargantua dans le tas !!! Assurez-vous que la pièce est grande, compilez ça et essayez. Qui a dit qu'on ne s'amusait pas avec Worldcraft ?

Solides

Bon, assez parlé des bases, nous allons maintenant créer une pièce et y placer le personnage avec son armure et ses armes. C'est parti.

Principaux solides

Il n'existe pas que les pavés droits commes solides. En effet, vous disposerez de quatre figures supplémentaires que je vais vous présenter ici :

WedgeWEDGE

Le Pavé Droit à base en Triangle Rectangle est la figure idéale pour créer un sol. Nous verrons plus loin pourquoi.

SpikeSPIKE

La pointe est plus utilisée dans les paysages de type Xen pour créer des plates-formes, mais elle peut aussi servir à faire des clocher ou des pentes. Vous pourrez déterminer le nombres de faces de la pointe avec l'outil de sélection.

CylindreCYLINDER

Le cylindre peut être utile pour faire des tables ou des objets cylindriques. Vous déterminez son nombre de faces avec l'outil de sélection.

ArchARCH

Ce solide est sûrement le plus complexe à réaliser. Quand vous le validerez, une boîte de dialogue s'ouvrira où vous devrez entrer :

Voilà tout sur les solides, nous allons maintenant voir plus à fond les entités.

v5
Un outil essentiel !

Entités

Il existe un bon nombre d'entités. On peut toutes les identifier grâce à leurs noms si on parle anglais. Cependant, il reste des points à préciser.

Les noms qui débutent par weapon son des armes, par ammo sont des munitions, par monster sont des créatures (monstres ou gardes, voire gman), par item sont des objet et par info des... informations ! Il reste cependant des entités que je dois vous présenter :

Light : les lumières sont primordiales. Il existe trois types de lumières : uniques, ou ponctuelles, des lumières pour une pièce à placer, de préférence, au-dessus d'une lampe. Les light_spot sont des spot de lumières qui éclairent loin et donnent de beaux effets en intérieur. Enfin, light_environnement désigne une lumière naturelle comme le soleil et est à réserver à un paysage extérieur.

Les entités env_quelquechose désignent des decals ou effets à appliquer à l'environnement et servent, par exemple, à insérer un son ou du sang.

Les entités game_quelquechose permettent d'insérer un point de fin (end), du texte, des compteurs, messages ou blessures. Elles sont comme des entités env qui influent sur le joueur.

Les entités player servent à définir des actions au passage du joueur, comme une sauvegarde automatique (loadsave). Les entités xen insèrent des créatures de l'environnement de xen et enfin, les entités trigger influent sur la partie caractéristiques du jeu comme les caméras ou autres.

Bien sûr, rien ne vaut un bon essai mais un tour d'horison des entités vous permet de savoir à quoi vous attendre. Les entités et les solides sont à la base de toute bonne map Half-Life et il est primordial de savoir les utiliser.

v4
L'outil miracle !

Paysages

Beaucoup d'entre vous souhaitent faire des paysages en extérieur, qui n'abondent pas dans le jeu solo. Voici donc un cours complet sur les paysages en extérieur, que ce soit sur xen ou en plein désert.

Paysage extérieur

Faire un paysage en extérieur n'est pas si compliqué que cela. Pour commencer, faites un pièce énorme qui englobera tout votre niveau. Elle devra être évidée avec un hollow de (-8). Vous obtenez une pièce immense dont vous devrez texturer chaque face avec la texture "SKY".

Une fois la tâche accomplie, il va falloir paramétrer la map. Allez dans le menu Map, puis Propriétés de la Map. Une fenêtre s'ouvre avec tout un tas de paramètres. Celui qui nous intéresse se nomme environment map (cl_skyname). Cliquez dessus. Dans la boîte de texte à droite, entrez les données suivantes selon votre choix :

Configuration
Bien configurer sa map pour donner des paysages superbes.

La texture sky prendra la valeur du ciel choisit. Compilez et lancez la map pour constater les effets, le ciel n'étant pas pris en charge par l'aperçu 3D de Worldcraft.

Conseils de paysagistes

Il est important de créer des paysages variés et imaginatifs. Pour cela, pensez à varier les textures de roches et à utiliser le Vertex Tool pour leur donner un aspect plus réaliste.

Le plus important dans la réalisation des paysages en extérieur, c'est de jouer avec les lumières, en plaçant des light_environnement pour créer des effets d'ombre, la diversité des textures et surtout des formes qui ne soient pas trop géomtriques : pour ce faire faites un mur, vertical par exemple, uniquement composé de wedges emboîtés les uns dans les autres. L'avantage ? Ainsi, à l'aide du Vertex Tool, vous n'aurez qu'à modeler quelques sommets pour donner une pente, une falaise bosselée ou tout autre formes naturelles.

Atomic Sky!
L'aperçu ne rend ni ciel ni grillage.

La Map Bounce est sûrement l'un des meilleurs exemples pour donner des formes naturelles. Vous devriez y jeter un coup d'oeil. Autre chose : quand vous faites une map en extérieur, débrouillez-vous pour cloturer les bords (nous verrons plus tard comment faire échelles et clotures) ou pour placer la plate-forme assez haut. En effet, sauter dans le vide fait soit planter le jeu, soit le personnage tombe sur un sol invisible (si la plate-forme n'est pas haute), soit le jeu bogue. Débrouillez-vous donc pour y remédier.

Vertex
L'outil miracle !

Eau

L'eau est omniprésente dans le jeu et il est important de savoir la rendre dans votre niveau. Voici un cours complet pour vous aider dans votre tâche.

Rendu aquatique

Rendre de l'eau peut être très facile. La manière la plus simple, c'est de créer un bloc et d'y appliquer une texture d'eau. Il y a quatre textures d'eau dans "half-life.wad", mais si vous en cherchez d'autres vous en trouverez dans "liquids.wad". Donc, faites un bloc et appliquez-y une texture aquatique sans oublier de mettre un fond et des bords. Vous verez alors un bloc, texturez en eau, au sein duquel vous pourrez nager. Mais le rendu est assez médiocre. Nous allons donc voir dans ce chapître comment donner un effet aquatique digne de ce nom.

Eau
Le rendu d'eau classique est assez médiocre.

Nous allons tout de même cherchez à faire plus. C'est pourquoi, dans le chapître suivant, nous allons convertir le bloc en entité est le transformer en "func_water" et donner un bon rendu.

Quelques effets

Votre niveau comporte désormais un bassin au rendu médiocre. Nous allons remédier à ce problème. Sélectionnez-le dans la vue 3D et, dans la vue 2D, faites un clic droit et choisissez "Tie to Entity", soit "Convertir en entité". Votre bloc est désormais considéré comme une entité. Editez ses propriétés (clic-droit -> propriétés) et, dans la boite Classe choisissez "func_water". Désormais, votre entité est considérée comme de l'eau.

Bon, maintenant vous allez éditer les propriétés de votre entité aquatique. Dans Render Mode, il y a différentes effets :

A noter que Fx Amount doit être supérieur à 0 pour que l'objet soit visible. Tout les Renders Fx , doivent être combinés avec le Render Mode "Texture" pour obtenir les effets cités ci-dessus. Sans quoi il n'y aura aucun changement.

Remarque : Les blocs comportant une texture contenant du bleu rendu invisible, ne peuvent pas eux non plus, subirent ces effets. Même si vous sélectionnez le Render Mode Solid.

Slow/Fast Pulse
En fonction de la valeur du Fx Amount, l'objet devient transparent, puis redevient opaque. Si la valeur est égale à 0, alors l'objet restera invisible.

Slow/Fast Wide Pulse
Même effet que le précédent, mais la durée pendant laquelle l'objet est transparent est plus longue.

Slow/Fast/Faster Strobe
Crée un effet stroboscopique (un petit tour en boîte pour voir ce qu'est un effet stroboscopique). Alternance entre visible et invisible (toujours suivant la valeur du Fx Amount).

Slow/Fast Flicker
Même effet que le précédent, mais les alternances sont irrégulières.

Slow/Fast Fade Away, Slow/Fast Become Solid, Constant Glow
Doit être combiné avec Glow. Donne un effet de clignotement vers l'invisible assez étrange.

Distort
Cet effet agit indépendamment de Fx Amount. Il rend l'objet à moitié transparent et le fait "scintiller" à la manière d'un écran de télévision.

Hologram
Il s'agit du même effet que distort. Mais on peut néanmoins remarquer qu'en fonction de l'endroit où se trouve le joueur, l'objet sera plus ou moins visible.

De l'eau!
Voilà un rendu digne de ce nom !

Tout ceci est assez complexe, mais ces paramètres s'appliqueront aussi aux grillages ou échelles voire vitres. Pour faire un bon effet d'eau, entrez les valeurs suivantes :

Avec ceci vous devriez obtenir un bon rendu. A noter que FX Amount vous sert à donner plus ou moins de transparence.

v4
Convertir en entité pour donner des effets.

Conclusion

Ainsi s'achève cet article d'introduction à l'utilisation de Valve Hammer. Vous avez désormais les outils en main pour créer vos premières cartes : au travail !

Article rédigé le 10 Août 2005.