Les programmes nécessaires à la création de mods
 
L'éditeur de map :
 
Le premier programme qu'on va utiliser c'est celui qui va créer la géométrie du niveau. Il y a plusieurs programmes qui existent, maintenant les développeurs des jeux incluent les outils nécessaires pour créer de nouvelle map (cartes). Ces outils fonctionnent bien, mais sont limités à un jeu et sont parfois un peu difficile à prendre en main. De plus comme ces outils n'ont pas été fait pour être diffusés, ils sont peu explicatifs et comportent de sérieux bugs pour certains.
C'est pourquoi après plusieurs essais, je me suis décidé pour QuArk qui est polyvalent et qui est d'une utilisation assez simple. Pour pas mal de gens sa présentation déroute un peu, mais en réalité une fois qu'on a saisi comment ça marche, ça devient évident et on se demande pourquoi on ferait autrement.
Cet éditeur possède de nombreux outils que d'autres n'ont pas, il a également une interface de compilation intégrée qui simplifie le travail et évite pas mal de difficultés.
On peut trouver QuArk sur son site dédié : Site de QuArK
Ce programme est constamment en développement et on peut participer à son évolution.
 
L'édition de textures :
 
Une autre série de programmes nécessaires sont les programmes de dessin pour créer les textures ou les modifier. Selon les jeux, les textures ont des format particuliers, mais à la base il s'agit de simples images bitmap.

Ce qui veut dire que tout programme qui peut éditer des images convient plus ou moins selon ses possibilités, mais il faudra pour les jeux récents, pouvoir utiliser les couches et les transparences. Un classique Paint Shop Pro 7 fait l'affaire, Photoimpact 7 également, Photoshop 7 permet bien plus de choses mais est également plus difficile à utiliser.

Il existe un outil spécialisé pour les textures, surtout pour les jeux plus anciens, où les textures étaient dans un format particulier nécessitant une compilation. Cet outil, c'est Wally, c'est très utile pour ouvrir les formats de textures et les compiler, par exemple pour Half-Life au formad wad3.
On peut trouver Wally sur son site dédié : Site de Wally
Pour les formats de texture, il faut aller voir sur les site dédiés au jeu en question, mais aujourd'hui, les développeur fournissent des kits de développement avec de la documentation
A partir de Quake 3 les textures ont fait de grands progrès, on était avant celà limité à des textures de 256 x 256 et de 8 bits (256 couleurs), Kingpin avait introduit déjà des texture jpg 24 bits, mais de taille limitée.
Depuis Quake 3 on peut utiliser de grandes textures, jusqu'à 2048 x 2048 et au format jpg en 32 bits.
En fait les textures étaient limitées en taille à cause de la mémoire des cartes vidéo, il fallait limiter le volume total à 2 meg pour les cartes de type Voodoo 1, à 4 meg pour les cartes de type voodoo 2. Lorsqu'on a introduit les carte AGP et ayant elle même 16 meg, puis 32, 64 et 128 meg aujourd'hui, on peut se permettre d'utiliser de grandes textures qui donnent un réalisme photographique.
Ce qui fait que maintenant tous les jeux récents, utilisent des textures de grande taille, mais il faut tout de même faire attention à ne pas exagérer surtout si on utilise ne nombreuses textures.
Ces nouvelles textures, ne s'utilisent rarement telle quelles, on applique plusieurs couches sur une même surface, par exemple la texture de base puis une couche en transparence pour un effet spécial.
Pour gérer ce "multitexturing" il faut créer des fichiers de configuration appelés shaders, on peut les créer et les modifier avec un éditeur de texte. Mais pour certains jeux comme Jedi Knight Outcast ou Sodier Of Fortune 2 il existe un programme avec une interface graphique qui permet de visualiser ce qu'on fait, ce programme s'appelle Shadered. Shadered est fourni avec le kit de développement.
Il existe également une interface graphique pour les shaders de Quake 3, le programme s'appelle Q3ASE : Site de Q3ASE
Il y a également des sites où on peut charger des textures mises à disposition gratuitement, par exemple : Site de Wadfather
 
L'édition de sons :
 
Une autre ressource importante pour les mods, ce sont les sons. Pour enregistrer des sons , les modifier et les enregistrer au format qui convient, il faut un programme qui prenne en charge ces fonctions.
Avec les cartes sons, il y a souvent des programmes fournis qui peuvent faire l'affaire, mais si on veut des sons au format mp3, il faudra avoir un utilitaire qui peut convertir à ce format compressé, aujourd'hui c'est quelque chose de très courant.
De plus l'édition de sons pour les jeux n'est pas si simple, beaucoup de jeux utilisent des sons en boucle qui doivent avoir des références internes, certains jeux exigent des sons avec un sampling à 22 khz par exemple, d'autres ne suportent pas des format divers.
Il faudra un programme très complet, un bon choix c'est SoundForge 6 qui peut faire tout le nécessaire, Wavelab est très bien aussi.
Il est toujours préférable d'avoir un seul programme qui puisse faire tout, de cette manière on peut avoir un meilleur suivi du travail.
Certains jeux peuvent utilser des modules créés avec des trackers, par exemple Unreal utilise de tels fichier pour la musique: Site de Modplug Tracker
 
Modélisation et animation :
 
Une étape supplémentaire c'est de créer de nouveau modèle et personnages et de les animer, cet aspect de la modification d'un jeu est quelque chose de nettement plus difficile. De plus les outils nécessaire sont difficile à obtenir, mais heureusement il existe des outils en shareware qui permettent de pouvoir le faire.
L'outil classique de l'animation c'est 3D Studio Max, certains développeurs ont utilisé d'autres outils professionnels, mais la grande majorité utilise 3DSMAX.
Comme ce programme est excessivement cher, un programmeur amateur a développé un programme très bien fait qui peut remplacer 3DSMAX. Ce programme c'est MilkShape, il permet d'ouvrir des fichiers modèles divers de les décompiler de convertir, de modéliser et d'animer des personnages.
On peut trouver MilkShape sur son site dédié : Site de MilkShape
Ces programmes permettent de créer des modèle et des animations, mais il faut souvent ensuite compiler ces fichiers avec les utilitaires fournis avec le kit de développement du jeu. C'est souvent une étape assez ardue, car ces utilitaires utilisent des lignes de commande et sont très peu documentés
Chaque jeu a son format particulier, mais la modélisation reste la même, l'animation toutefois peut être différente du fait que les jeux modernes utilisent des animation paramétrées avec des squelettes.
Ca veut dire qu'on crée un modèle en position de référence, qu'on lie les sommets de ce modèle à un squelette et qu'ensuite on anime le squelette seulement.
 
Modification du code du jeu :
 
Si on veut faire une mod vraiment différente du jeu originel, il faudra s'attaquer au code du jeu. Cet aspect de la modification d'un jeu est le plus difficile, car les jeux utilisent un langage de programation très avancé comme le C ou le C++.
On n'a généralement pas accès au moteur du jeu, mais aux fonctions propres aux modèles et aux objets disposés dans la map. Ca signifie qu'on peut modifier le comportement des personnages, des armes, des effets spéciaux. On peut également transformer le déroulement du jeu en changeant les règles, introduire de nouvelles fonctions.
Ce code est généralement partagé en deux partie distinctes, le code serveur et le code client. Le code serveur contient les fonctions de base des personnages, des armes, des objets mobiles et des effet spéciaux. Le code client contient les fonctions du joueur et de l'interface du jeu. On divise en deux partie pour une raison simple, c'est à cause du jeu multijoueur en réseau. En effet en réseau, on est limité par le débit de données, surtout lors d'une liaison par modem. C'est pourquoi on a séparé les deux code, le serveur se charge des fonctions de base et des règles du jeu, et chaque client gère le code des joueurs. Ceci permet au serveur de tranmsmettre des ordres simple aux clients, il n'a plus à transmettre tous les détails des fonctions qui sont déclenchées.
 
Le programme principal est Visual C++ , c'est la Rolls des programmeurs, c'est un programme qui n'est pas facile à trouver, mais dans les écoles supérieures ou les universités, on peut se procurer une version d'étude complète pour une somme raisonnable.
Si on n'arrivre pas à le trouver, on peut essayer avec la version Borland C++, si on ne trouve ni l'un ni l'autre, on peut toujour éditer les fichiers avec un éditeur de texte, mais c'est pas du gâteau! De plus il faudra trouver un compilateur C++ gratuit, ça existe, mais ce n'est pas toujours simple d'obtenir un résultat valide.