Les fichiers avec lesquels Hammer travaille sont des fichiers au format .vmf. Comme vous le savez certainement, les maps sur lesquelles on joue portent l'extension .bsp.
La compilation est le processus par lequel on va passer d'un fichier .vmf à un fichier .bsp. En d'autres termes, la compilation sert à transformer votre fichier Hammer en une map jouable .
Compiler sa map n'est pas quelque chose de très compliqué car c'est Hammer, ou plutôt les compilateurs, qui vont travailler.
Comment ça les compilateurs, il y en a plusieurs ?
Oui, ils sont au nombre de 3. Chaque compilateur a une fonction bien définie et est nécessaire. Les compilateurs sont 3 petits programmes qui s'exécutent en console. Mais rassurez-vous, tout se fera seul, vous n'aurez pas besoin d'intervenir .
Une compilation normale se déroule en 3 phases :
Le fichier .vmf est confié au compilateur vbsp.exe. Ce compilateur, VBSP, s'occupe de découper votre map en polygones triangulaires et de positionner les entités. Bref, c'est lui qui s'occupe de recréer l'architecture de votre map. C'est assez rapide. Dès que c'est fini, VBSP passe la main à VVIS.
Le compilateur vvis.exe prend alors le relais. VVIS va se charger déterminer la visibilité. Il va calculer pour savoir quels polygones seront visibles par le joueur, en fonction de sa position. Suivant la grandeur de votre map, VVIS peut travailler de 2 minutes à parfois 1 heure.
Dès que le calcul de la visibilité est fini, c'est vrad.exe qui se met au travail. VRAD va évaluer la luminosité de votre map. C'est lui qui va définir les ombres et les faces illuminées par vos lumières. Le temps de compilation de VRAD peut aussi être assez long.
Si vous compilez votre map simplement pour tester votre architecture par exemple, vous n'avez pas besoin de compiler avec VVIS et VRAD. VBSP suffira, mais votre luminosité sera comme dans Hammer. En revanche, si vous effectuez une compilation avant de mettre votre map en ligne, vous devez passer par les 3 compilateurs.
Maintenant que vous avez bouffé la théorie, vous allez digérer en compilant .
Pour compiler avec Hammer, c'est assez simple. Il vous suffit d'aller dans le menu Files puis de cliquer sur Run Map, ou de passer par la touche F9.
Une fenêtre comme celle-là s'ouvre :
C'est le mode de compilation basique. Il vous suffit de cocher les différentes options des compilateurs. Comme vous le voyez, VVIS et VRAD possèdent une option de compilation rapide (Fast). C'est très pratique quand il s'agit de tests. Comme je vous l'ai expliqué plus haut, il n'est pas obligatoire d'exécuter VVIS et VRAD pour tester sa map. Dans ce cas, il vous suffira de cocher No.
Je vous conseille fortement de cocher Don't run the game after compiling. Si vous ne cochez pas, le jeu sera lancé avec la map, et 9 fois sur 10, ça plantera .
Additional game parameters vous permet de spécifier une ou plusieurs commandes. Pour l'instant, laissez le champ vide (on ne le remplira pas souvent de toutes façons ).
Dès que vous avez bien tout paramétré, cliquez sur OK.
A ce moment, une fenêtre s'ouvre vous présentant l'évolution de la compilation :
Ce qui va défiler dans cette fenêtre sont les opérations effectuées par les compilateurs. Tout ce texte est ce que l'on appelle le log de compilation (on dit log pour aller plus vite). Le contenu de ce log se trouve dans un fichier appelé nom_de_votre_map.log.
Ainsi, si vous fermez Hammer, vous pouvez toujours accéder au log, car en cas de problème, il faudra aller le rechercher pour y trouver les erreurs. Il se trouve dans le même répertoire que votre fichier nom_de_votre_map.vmf, et vous pouvez l'ouvrir avec le Bloc-notes, comme un simple fichier .txt.
Hammer aura placé tout seul une copie de la map compilée (le .bsp) dans le dossier contenant les maps de votre mod préféré.
Pour tester la map, démarrez votre mod comme si vous alliez y jouer. Dans le menu, cliquez sur Create server (Créer un serveur).
Sous l'onglet Server, sélectionnez votre map (ici c'est la map pour le mini-tuto sur l'eau ).
Ensuite, passez sous l'onglet Game, et configurez comme vous le voulez. Par défaut, le serveur que vous allez créer sera en LAN (en réseau local), et non sur Internet. Vous serez donc le seul à pouvoir y accéder. Si vous voulez créer un serveur Internet, il vous faudra taper sv_lan 0 dans la console .
Justement, parlons de la console ! Si vous faites une map solo pour HL², il n'y a pas d'option de création d'un serveur. Vous devrez taper ceci dans la console : map nom_de_votre_map, sans l'extension.
Moi je n'ai pas de console, comment j'y accède ?
Ah, dans ce cas, allez dans le volet de Steam qui contient tous vos jeux. Cliquez droit sur votre mod, et cliquez sur Properties (Propriétés). Ensuite, cliquez sur Set launch options (Options de lancement), et indiquez -console :
Dorénavant, quand vous lancerez votre mod préféré, la console sera présente .