39-45 Stratégie > Jeux vidéo > Blitzkrieg > Ressources > Modding (les bases) 

Base pour le modding sous Blitzkrieg

Créé le : 19/8/2003
Edition du : 19/8/2003
Auteur : Czarziv

Blitzkrieg et le Modding
(Article réalisé par BBFred, auteur du MOD R2V Realism, téléchargeable ci dessous)
Patchs et mods Blitzkrieg

Comprendre la structure de fichier de Blitzkrieg

Nival Interactive a conçu son RTS Blitzkrieg pour être moddé relativement aisément au niveau des données qui le compose. Mais avant de se le lancer dans un mod, il est important de comprendre comment sont organisés les fichiers de Blitzkrieg sur votre disque dur, ce qui peut être moddé, et ce qui ne peut pas l’être.

L’arborescence des fichiers Blitzkrieg

Si vous vous promenez dans l’arborescence des répertoires de BK, vous atterrissez d’abord dans le répertoire Blitzkrieg\Run\. C’est ici que se trouve le " cœur " du jeu, avec son exécutable et les fichiers .dll qui régissent son fonctionnement. Cette partie n’est pas moddable, à moins d’être programmeur professionnel ! Partant de ce répertoire, vous arrivez au répertoire Blitzkrieg\Run\Data\, qui renferme toutes les données associées aux sons, graphiques, propriétés des objets et unités, scénarios et campagnes. Tout fichier se trouvant dans le répertoire Data\ est susceptible d’être moddé.

Parallèlement à Data\, vous trouverez dans le répertoire Blitzkrieg\Run\ le répertoire Mods\. C’est là que vous pourrez " héberger " vos mods, chacun étant différencié par son répertoire. Par exemple, en créant dans Mods\ un répertoire " MonModaMoa ", vous avez alors accès dans le jeu, à partir du menu Options>Charger un Mod>, à deux mods potentiels et indépendants, " MyMod " (créé par Nival par défaut) et " MonModaMoa ".

Comment Blitzkrieg stocke ses fichiers

Dans le répertoire Data\ vous verrez quelques fichiers comportant tous l’extension .pak, comme data.pak. C’est dans ces fichiers que sont compressés toutes les données du jeu original. En fait, les fichiers .pak ne sont rien d’autres que des fichiers zippés avec un faible taux de compression. Vous pouvez facilement les ouvrir et regarder leur contenu en associant ce type de fichier à Winzip, ou d’autres logiciels de compression du marché. Les trois fichiers .pak essentiels sont :

  • Data.pak qui contient tous les sons, graphiques, propriétés d’objets et unités, campagnes, chapitres et scénarios
  • Textures.pak qui regroupe les graphismes de tous les objets et unités en 3D.
  • Text.pak où se trouvent toutes les données texte en langage localisé.

Dans tout fichier .pak il est important de noter que chaque fichier y est inséré avec une arborescence précise. Par exemple, les fichiers relatifs au tank Maus se trouvent tous sous l’arborescence " Units\Technics\German\Tanks\Pz_Maus\ ". Ceux d’une maison russe se trouvent quant à eux dans " Buildings\ussr\summer\house01\ ", par exemple. Quand vous commencerez à construire votre propre mod, il sera impératif de respecter cette structure d’arborescence, ou le jeu sera incapable de reconnaître et utiliser vos fichiers.

Ces fichiers de données se composent de nombreux types différents, tous identifiables par leur extension. Certains sont aisément identifiables, comme les fichiers .xml ou .wav, d’autres beaucoup moins, comme les .san, .dds ou .mod. Reportez-vous à l’annexe de cet article où les principaux types de fichiers moddables sont répertoriés.

Le plus récent gagne !

En installant les patches officiels de Nival déjà disponibles, si vous ouvrez les fichiers patch.pak se trouvant dans Data\, vous pourrez remarquer que certains fichiers sont reproduits à plusieurs exemplaires. Pourtant ils gardent exactement le même nom, et la même arborescence. C’est par exemple le cas de consts.xml, que l’on trouve dans data.pak, patch-1.pak et une fois de plus dans patch-2.pak ! Comment le jeu fait-il alors pour utiliser la bonne version du fichier ? Tout simplement en considérant la date de création. L’exemplaire d’un même fichier avec la date de création la plus récente sera celui que le moteur de jeu utilisera. Cela est certes fort pratique pour les patches officiels, mais a aussi son importance pour la création de son propre mod. Cela signifie que vous pouvez, sans modifier les fichiers .pak originaux du jeu, en extraire juste les fichiers que vous voulez modder, les compiler dans votre propre fichier MonModaMoa.pak, et placer ce dernier dans le répertoire Data\. Vos fichiers étant plus récents, ils prennent alors le pas sur ceux de Nival et vous pouvez ainsi modder le jeu original sans avoir à jouer à l’apprenti sorcier avec les fichiers originaux !

Le modding " officiel ", et ses limites

Par contre, vous devez bien être conscient que cette méthode ne constitue pas la méthode officielle prônée par Nival pour modder Blitzkrieg. Officiellement, toutes vos modifications, qu’il s’agisse de fichiers décompressés ou de vos propres fichiers .pak, devraient se trouver dans votre répertoire Blitzkrieg\Run\Mods\MonModAMoa\Data\. Les limitations de ce système apparaissent malheureusement très vite, car pour que votre mod soit pris en compte dans un scénario, la carte de ce dernier doit être enregistrée avec un tag la rattachant à votre mod. Ainsi, si vous vouliez jouer les campagnes originales avec votre mod, dans ce cas de figure vous seriez obligé d’extraire toutes les cartes composant les divers scénarios, et les réenregistrer sous un autre nom, taggées pour être utilisé avec le mod… Idem pour toute mission téléchargée sur Internet, que ce soit des cartes solo ou multijoueur.

On peut tout de suite voir les contraintes imposées par ce système, alors que copier votre mod sous forme d’un seul fichier .pak dans le répertoire Blitzkrieg\Run\Data résout d’un coup tout problème de compatibilité avec n’importe quel scénario ou campagne. Si vous optez pour cette option, et distribuez ensuite votre mod sur Internet, il est par contre plus prudent d’informer l’utilisateur potentiel sur ce que vous vous apprêtez à faire à sa version du jeu, et comment la rétablir dans sa version originale (en l’occurrence, en effaçant votre MonModaMoa.pak de son répertoire Data\, tout simplement).

Voilà, cet article couvre approximativement les bases essentielles à connaître avant de se lancer dans le modding avec Blitzkrieg. Bon modding et bon jeu !

BBFred      

 

Annexe : Les formats de fichier de Blitzkrieg

  • Fichiers .dds : Ce sont les fichiers qui renferment les textures des objets 3D, 2D et les sprites de l’infanterie. Ils peuvent être ouverts et modifié à l’aide d’un logiciel de retouche graphique comme Photoshop ou Paint Shop Pro. Un plug-in spécifique est nécessaire pour lire ces fichiers, disponible par exemple à l’adresse suivante : http://thelys.free.fr/misc.htm.

Chaque fichier est codé de manière précise en référence à l’environnement où il sera utilisé :

1_h.dds : Texture 32-bit haute résolution (8 :8 :8 :8 ARGB 32 bit),

1_l.dds : Texture 16-bit basse résolution (4 :4 :4 :4 ARGB 16 bit),

1_c.dds : Texture compressée très basse résolution (DXT3 ARGB Explicit Alpha),

1a_h.dds : Texture pour scénarios en Afrique,

1w_h.dds : Texture pour scénarios en hiver,

1b_h.dds : Texture avec sang pour l’infanterie,

2_h.dds : Texture pour véhicule détruit.

Notez que les fichiers de texture .dds sont stocké dans un pak à part, Textures.pak, qui se distingue par un taux de compression de 0%. C’est bon à savoir quand vous proposez des modifications de textures.

  • Fichiers .san : Ces fichiers relient les sprites des unités d’infanterie stockées dans les .dds correspondants et définissent leurs animations dans le jeu, ou les caractéristiques des objets non-mobiles en 2D. Impossibles à modder, ils sont générés par l’éditeur de ressources.
  • Fichiers .mod : Ils contiennent les informations relatives à tout objet mobile en 3D, comme les tanks. Impossibles à modder, ils sont générés par l’éditeur de ressources.
  • Fichiers .ogg : Fichiers contenant les différentes musiques du jeu. Le format .ogg est comparable au mp3 mais entièrement gratuit d’utilisation. Plus d’info sur ce format sur http://www.vorbis.com.
  • Fichiers .wav : Sans surprise, ce format standard est utilisé pour tous les sons autre que la musique dans Blitzkrieg, les rendant très aisés à modder. Un éditeur de sons gratuit à conseiller se trouve à http://www.goldwave.com.
  • Fichiers .txt : Ces documents texte stockent tous les dialogues écrits du jeu. La version localisée se trouve dans un pak séparé, tandis que Data.pak renferme ces même fichiers mais en anglais. Attention, ces fichiers sont au format Texte Unicode, ils ne peuvent donc pas être créés sous Notepad. Worpad permet par contre de sauvegarder ces fichiers au format Unicode.
  • Fichiers .xml : Toutes les caractéristiques des objets, de l’interface et des unités sont sauvegardées dans ces fichiers au format texte structuré. Vous pouvez consulter tout fichier .xml à l’aide de IE Explorer, tout simplement, et les éditer à l’aide de Notepad (Menu Affichage > Source dans IE Explorer). Pour éditer de larges volumes de fichiers .xml un éditeur XML est quand même vivement conseillé… Un très bon éditeur freeware à conseiller est Peter’s XML Editor. XmEdiL est aussi intéressant pour sa fonction " Pretty View " qui réorganise un fichier XML source de manière très lisible. Par contre il est encore très instable (actuellement en phase beta) et à déconseiller pour l’édition de fichiers.
  • Fichiers .bzm : Tous ces fichiers contiennent les cartes des scénarios de Blitzkrieg. Ils sont générés à l’aide de l’éditeur de cartes.
  • Fichiers .lua : Ces fichiers contiennent tous les scripts relatifs aux scénarios, chapitres et campagnes de Blitzkrieg. Ils utilisent une version légèrement modifiée pour les besoins spécifiques du jeu d’un langage de programmation gratuit, le Lua. Les fichiers Lua peuvent être ouvert et édités en format Texte simple par Notepad ou tout autre éditeur de texte. Pour la programmation Lua, je vous conseille de vous référer au PDF de Calvin disponible ici sur 39-45 Stratégie, en français et bien plus complet que la documentation en anglais fournie par Nival.

(Informations provenant en partie du forum Blitzkrieg de http://www.forums.strategy-wargames.com)