Article     Discussion     Modifier     Historique     Forums     Salon IRC

FAQ développeur Half-Life 2

Un article de Games Creators Network.


Cette faq est la traduction française d'une faq publiée par Valve. Cette traduction est sûrement imparfaite, n'hésitez pas à me communiquer toute erreur! Merci de votre compréhension!

Cette FAQ est un ensemble de réponses officielles tirées d'interviews et d'e-mails. Quand vous voyez une différence entre les informations données autre part et cette faq, considérez cette faq correcte.

Sommaire

[modifier] Généralités

[modifier] Puis-je avoir le SKD2 dès maintenant?

Pas maintenant. Nous travaillons encore dessus et il sera disponible dès nous penserons qu'il est prêt pour une utilisation publique. Nous comprenons qu'il y a une grande volonté d'anticipation de la part de la communauté et nous voulons mettre le temps et les ressources nécessaires pour que le SDK soit bien fait. Nous ne distribuerons pas le SDK avant sa première release publique.


[modifier] Quand le SDK sera-t-il disponible?

Nous n'avons aucune date en ce moment, mais nous donnerons plus d'informations dès que cela sera posssible.

[modifier] La réponse à ma question n'est pas ici, que puis-je faire?

Si vous avez une question concernant la création de mod pour Half-Life 2 ou le code source du SDK, vous pouvez envoyer un e-mail à .

[modifier] Technique

[modifier] En quel langage sera écrit le SDK?

Les sources du SDK sont similaires à celle du SDK actuel dans la mesure où ils sont tous deux écrits en C++, sans utiliser un langage de script propriétaire. Les programmeurs familiers du code source du SDK d'Half-Life seront immédiatement à l'aise.

[modifier] Quel outil est utilisé pour concevoir les niveaux d'half-life 2?

Une nouvelle version améliorée de Valve Hammer est utilisée pour les niveaux de Half-Life 2. Les concepteurs qui ont utilisé les précédentes versions de Hammer trouveront le nouveau très proche des anciens. L'interface du programme est restée relativement la même, à part que de nouveaux outils ont été ajoutés.


[modifier] Est-ce que les outils supporteront n'importe quel compilation distribuée, telle que le netvis de Zoner? En outre, vont-ils utiliser l'hyperthreading?

Oui. Les outils vis et radiosity actuellement n'importe quelles opérations distribuées. De toute façon, la distribution des tâches est plus complexe que l'hyperthreading, mais a un potentiel énorme au niveau des performances (10x sur nos outils) à l'inverse de l'hyperthreading. En allant dans ce sens, nous anticipons le fait que plus d'outils utiliseront cette approche. Les outils distribués requièrent un réseau local ou un réseau supportant le multicasting. Les outils distribués sont beaucoup plus vite sur notre réseau 10 megabit et voit ses performances s'accroître énormément sur notre réseau gigabit (the peak throughput I've seen is about 360 megabit). Les performances de ces outils est échelonnable selon le nombre de machine utilisées. Il est possible d'adapter ces outils pour travailler à traver un réseau ADSL, mais cela nécessite une reprogrammation.


[modifier] Quel programme est utilisé pour le modeling d'half-life 2?

Nous utilisons XSI. Nous travaillons avec SoftImage pour sortir une version gratuite de XSI over Steam*. Nous fournirons des exporteurs pour XSI, 3DS Max et Maya. Nous sortirons également les add-ons XSI personnalisés pour Half-Life 2 et les rendront disponible gratuitement pour les personnes utilisant XSI.* Cela sera probablement faisable avec une méthode différente de toute façon.



[modifier] Puis-je utiliser XSI pour créer n'importe quoi, objets, personnages... et les importer dans Hammer?

Vous voudrez créer le coeur de votre carte (brush) sous Hammer, bien que vous puissiez créer des nombreux objets sous XSI et les importer ensuite sous vos cartes sous une forme statique ou dynamique. Nous utilisons XSI pour la création des modèles, des textures, l'animation et pour créer des cartes et ses textures. Hammer est l'outil qui permet de créer l'architecture de la carte, des entités, des personnages, des lumières et de la jouabilité de la carte simultanément.


[modifier] Comment sont réalisés les mouvements des lèvres quand les modèles parlent?

Pour commencer, vous aurez besoin de placer des keysphapes ou des morphs sur chacun de vos personnage. Notre système d'animation facile utilise 34 keysphapes, dont 14 sont nécessaires pour une synchronisation correcte de la bouche. Pour créer l'animation de synchronisation de la bouche, vous pourrez utiliser notre nouvel outil pour les personnages-acteurs, FacePoser. Chargez votre modèle dans FacePoser, chargez le fichier audio dans la fenêtre de l'éditeur de phonème, tapez ou collez le dialogue du fichier dans l'entrée de texte et les données du phonème seront extraites. L'extraction automatique créera un dialogue clair pendant 5 secondes au maximum, mais il sera malgré tout nécessaire d'effectuer un réglage fin manuel à la fin. Le travail manuel sera plus important pour les fichiers audio de longue durée et de médiocre qualité qui entraînera une articulation moins claire ou des lacunes dans le dialogue. Les données de synchronisation de la bouche sont sauvegardés dans l'en-tête du fichier audio donc quand un personnage doit "jouer" le son dans le moteur, il bougera ses lèvres selon le phonème encodé dans le fichier WAV. Des données FacePoser additionnelles, comme le jeu de l'acteur ou ses mouvements (regarde le personnage, marche vers sa cible, etc) sont sauvegardés dans un fichier scène séparé (.vcd).


[modifier] Est-ce Half-Life 2 utilise des fichiers WAD pour les textures, comme Half-Life 1?

Non. Vous appliquer maintenant des matériels plutôt que des textures. Les matériels (fichiers VMT) peuvent contenir un certain nombre de textures (pour le bump mapping, l'environnement mapping, les textures de bases, etc) qui sont au départ des fichiers TGA et sont converties en textures (fichiers VTF) via un outil spécialisé avant de pouvoir être utilisés dans le jeu. Les textures et les matériels ne sont plus compilés dans un WAD. Ils sont stockés séparément dans un dossier dans un dossier matériels. Optionnellement, vous pouvez les stocker dans un fichier ZIP. Vous pouvez inclure ces fichiers directement dans le BSP si vous le souhaitez.


[modifier] Capacités du moteur

[modifier] Combien y-a-t-il de polygones par scène dans Half-Life 2?

Plus qu'un nombre de polygones, nous ciblons un performance spécifique sur des machines de haut-niveau, moyennes ou moins performantes. Les concepteur de cartes a des outils (similaires aux r_speed dans Half-Life, mais beaucoup plus étendu) qui l'aideront à cibler quelles zones doivent être optimisées.


[modifier] Combien peut-on prévoir de polygones par modèle?

Nous ciblons entre 3000 polygones (par exemple headcrabs) et 7500 polygones (Alyx, le Gman) pour les personnages et monstres, en fonction du nombre d'élément à l'écran simultanément, et nous disposons de plusieurs niveaux de LOD (Level Of Detail [ndt: niveaux de détail]) sur les modèles qui réduisent de façon drastique le nombre de polygones quand elles apparaissent plus petites à l'écran (quand elles sont loin). Nous ciblons environ 2000 polygones pour les viewmodels (ndt: modèles fixés comme les armes), qui évidemment ne disposent que d'un niveau de détail.


[modifier] Combien puis-je avoir de vertex par polygone, sur un modèle?

Le moteur utilise des triangles (ce qui signifie 3 vertex par polyone), mais nos exportations de XSI divise chaque polygone en triangle contenant plus de 3 vertex.


[modifier] Quelle est la taille maximum des carte de Half-Life 2?

Comparaison entre les cartes de Half-Life 1 et 2

La taille maximum de la carte est actuellement fixée à +/-16384 (16x l'aire horizontale de Half-Life 1 et 64x le volume).



[modifier] Quel est le rapport entre l'unité utilisée dans les cartes et la réalité?

A l'inverse de Half-Life 1, les choses dans Half-Life 2 sembleront meilleures dans la mesure où les cartes sont à 1:1 (1 unité = 1 inch). Cela sera d'autant plus facile de créer des environnements réalistes. Gordon requiert actuellement 33 unités d'espace pour passer à travers un espace (bien que cela soit sujet à changement).


[modifier] Quel format de texture doit être utilisé avec HL2?

La source de la texture est désormais un fichier TGA (24-bit ou 32-bit avec alpha). Ils ont une taille maximum de 2048x2048* et doivent être des puissances de 2.* Certaines cartes graphiques Dx6 sont limitées au texture en 256x256. Les outils créeront automatiquement une texture peu détaillée. Autrement, vous pouvez la créer vous-même et spécifier les propriétés des matériels qui l'utilise.



[modifier] Est-il possible d'attacher des entités à d'autres entités (comme Spirit Of Half-Life le fait)?

Oui, vous pouvez spécifier un rélation parent/enfait entre des entités. Vous pouvez également spécifier des contraintes physiques (charnières, joints, etc) entre les objets.


[modifier] Comment le moteur physique réagit-il en multijoueurs?

La réponse simple et qu'il y a une simulation physique du côté client et du côté serveur. On utilise le côté client quand le maintient de la cohérence n'est pas importante. Cela réduit le trafic réseau tout en maintenant l'apparence de la simulation physique du monde. C'est définissable par objet, donc le concepteur spécifie précisément ce qui est géré par le côté client ou serveur.

[modifier] Est-ce que Half-Life 2 supportera les MP3s?

Nous supportons la lecture de MP3, mais il n'y a pas de musique sélectionnable par l'utilisable durant le jeu (cad. une interface pour des playlists). Ce serait une modification facile.


[modifier] Comment la technologie Valve Anti-cheat (VAC) fonctionne-t-elle avec half-life 2?

Elle sera un composant à part entière du multijoueurs.


[modifier] Est-ce que Half-Life 2 supporte la jeu coopératif?

Nous n'allons pas réaliser de mode coopératif, mais la communauté a exprimé son intérêt de créer ce type de gameplay. SvenCoop ([[1]]) a exprimé un grand intérêt pour ce domaine, et nous avons déjà fait un gros travail sur le mode coopératif de Half-Life 1.


[modifier] Concernant Half-Life 1...

[modifier] Sera-t-il possible de porter du contenu de half-life 1 à half-life 2?

Nous avons rendu cela le moins pénible possible. Nous avons appris beaucoup de nos expériences avec TFC, Counter-Strike, Day of Defeat et tant d'autres. Le moteur est beaucoup plus modifiable que celui de Half-Life 1, et les outils ont été beaucoup améliorés. Nous publierons un grand nombre de données pour aider les équipes des mods à récupérer le travail déjà fait et à le faire tourner sur le nouveau moteur. Le nouveau Hammer charge les niveaux de Half-Life 1 (fichiers sources .RMF ou .MAP seulement). Vous devrez retexturer et vous devrez probablement refaire la plupart des entités, mais c'est un malgré tout beaucoup comparé à l'idée de repartir à zéro. Les fichiers QC des modèles devront également être retouchés et compilés pour pouvoir fonctionner avec le moteur d'Half-Life 2. Une fois de plus, vous devez avois les sources pour réaliser cette opération. La plupart du SDK d'HL2 semblera familier à ceux qui ont travaillé avec celui de HL1. Bien sûr, il y a de nombreuses fonctionnalités supplémentaires, options et changements à exploser, mais malgré tout créer un mod pour HL2 est très similaire à créer un mod avec HL1.


[modifier] Le SDK incluera-t-il des outils permettant la conversion de Half-Life 1 vers Half-Life 2?

Oui, le SDK d'HL2 comportera de nombreux outils dans ce but; par exemple, prendre un fichier WAD et en convertir le contenu vers le nouveau format des matériaux. Les détails et astuces à propos de la conversion du code de HL1 vers HL2 seront également inclus

 

Rechercher
Installer l'extension de recherche Plus d'informations

 

Comprendre
Tu me dis, j'oublie. Tu m'enseignes, je me souviens. Tu m'impliques, j'apprends. - Benjamin Franklin

 

Partager
La connaissance est la seule chose qui s'accroit lorsqu'on la partage. - Sacha Boudjema

 

Créer
L'imagination est plus importante que la connaissance. - Albert Einstein

 

 

Le wiki en images Le wiki en images Image du mois: «Snowball: un prototype de jeu développé avec NeL.