[Plan du site] Vous êtes ici > modding
Modding / Scripting
Le modding est la création de mod, c'est à dire de modifications pour les jeux vidéos.
En effet on peu supprimer/modifier/ajouter un certains nombre de fichiers du jeu, ce qui permet de modifier en grande partie l'environnement et le gameplay du jeu (la manière de jouer au jeu).
Le modding a plusieurs de composantes suivant le type de fichhier sur lequel on travaille :
- skins/textures : le jeu utilise des textures pour tout : murs, objets, joueurs... Les skins (peau en anglais ) sont des texures particulières qui sont faites pour "habiller" un objet 3D. Pour modifier des texures, il faut un bon logiciel de graphisme et Asset Manager, un logiciel fournit par les dévelloppeurs pour convertir les textures (et plein d'autres choses) dans le format particulier utilisé par le jeu.
- models : tous les objets, y compris les joueurs dans le jeu sont des models, c'est à dire des objets en 3D créé grace à un logiciel de 3D (tel que Blender, Maya, etc ...). Le jeu utilise aussi son propre format (xModel) pour les models, il faut donc utiliser aussi un "exporteur" qui est cette fois fournit par la comunauté.
- scripts : un programme informatique ne peu fonctionner sans scripts (voir la définition de Wikipédia). Ce sont des fichiers texte à la syntaxe particulière qui vont être interprétés par l'ordinateur et le jeu afn d'effectuer diverses actions. Un simple éditeur de code suffit à scréer/modifier ces fichiers.
- Il y a encore d'autres types de fichier : les menus, les armes, les FXs, etc...
Je suis surtout passionné par les scripts.
J'ai été versé dedans dès mes débuts car une map d'entrainement nécessite pas mal de scripts.
Sauf qu'au début je n'y connaissais sctrictement rien.
J'ai appris à manier le script des jeux Call of Duty peu à peu, en lisant et comprenant les scripts des autre et en suivant des tutoriels qui concernent d'autres languages de script proches tels que le C et surtout le PHP que j'ai appris (qui me permet entre autre de faire ce site).
Aujourd'hui, le script des CoD n'a plus beaucoup de secrets pour moi, ce qui m'a permis de réaliser entre autre un mod et d'écrire les tutoriels de scripts pour Caskami.
mod Another Gametype Experience
Un gametype (mode de jeu en français) définit la manière de jouer dans un jeu : cela peu être simplement tuer le plus d'adversaires ou détruire/défendre un objectif, capturer une zone...
Ces gametypes utilisent des models pour matérialiser les objectifs : une caisse à détruire/défendre, un drapeau au milieu de la zone à capturer...
L'emplacement de ces objectifs est déterminée par le mappeur, celui qui construit la map.
Mais parfois, les objectifs sont mal placés et ils sont alors trop facilement attaquable/défendable, ce qui tue le gameplay. Ou tout simplement on aimerai juste les avoir autre part.
C'est de ce constat que m'est venu l'idée de créer début 2008 un système qui permettrait aux administrateurs de serveur de jeu de modifier la positions des objectifs.
En fait j'avais eu cette idée il y a bien longtemps déjà mai mes connaissances en script ne me permettait pas de la réaliser.
Au début, ce n'était pas un mod, c'était juste un script pour Call of Duty 4 que les mappeurs pouvaient intégrer à leur map.
Évidement ce n'eu pas grand succès.
Mais j'ai continué l'idée et j'ai commencé à en faire un vrai mod :
AGE signifie Another Gametype Experience, ou en français une autre expérience des gametypes.
Je reprends ici un acronyme type déjà utilisé par d'autres mods tels l'AWE (Another War Experience) ou l'ACE (Another Combat Experience).
Au fil du développement, la philosophie avait un peu changée : il s'agissait maintenant de pouvoir déplacer/ajouter/supprimer n'importe quel élément lié aux gametypes.
Je me suis également doté d'un nom de domaine et d'un forum qui me permettait à la fois de proposer des tutoriels et de fournir un support correct à ceux qui rencontrait des problèmes : Age-Mod.com
Chronologie
- 08 juin 2008 : version beta 1 pour Call of Duty 4
- 26 juin 2008 : version beta 2 pour Call of Duty 4
- 19 juillet 2008 : mise en place du forum
- 02 août 2008 : version 1.0 pour Call of Duty 4
- 22 août 2008 : version 1.0 pour Call of Duty 2
- 29 août 2008 : version 1.1 pour Call of Duty 4
- 01 septembre 2008 : versions 1.1.1 pour Call of Duty 4 et 1.0.1 pour Call of Duty 2
- 29 janvier 2009 : version beta 1 pour Call of Duty 5
- 16 mars 2009 : fin provisoire du développement du mod
Fonctionnalités
Les fonctionnalités ne sont pas les même dans toutes les versions ni sous tous les jeux.
Dés le départ, le mod est adressé aux administrateurs de serveurs de jeu. Ce sont eux qui configurent le serveur et le jeu à partir de variables (appelées des dvars) écrites dans des fichiers de configuration .cfg.
C'est le seul lien entre l'extérieur et le jeu. Le seul moyen pour que quelqu'un qui ne soit ni le créateur de la map, ni le créateur du mod utilisé sur le serveur puisse modifier des éléments des maps.
Pour réaliser toutes les choses qui sont possibles avec le mod, les administrateurs de serveur n'ont qu'à écrire un certains nombre de dvar ave la bonne valeur derrière. C'est aussi simple que ça et des tutoriels sur le forum existent pour les guider au mieux.
Une des principale caractéristique de ce mod est qu'il n'est composé que de scripts.
Par conséquent, je n'ai besoin que d'une archive .iwd (pas de mod.ff) ce qui fait que d'une part le mod est server-side (c'est à dire que tous les joueurs n'ont pas besoin de le télécharger, il suffit qu'il soit sur le serveur) et d'autre part qu'il peu être utilisé en même temps que d'autre mods, sur le même seveur.
Voici les grandes lignes de ce que propose le mod (toutes les versions ne proposent pas forcément toutes ces fonctionnalités) :
- pour les objectifs
- déplacer, ajouter et/ou supprimer n'importe quel objectif de n'importe quel gametype (officiel ou custom)
- permettre un positionnement aléatoire des objectifs parmis un set défini de coordonnées
- permettre que les objectifs dans certains gametypes changent de position à chaque round
- pour les spawns
- déplacer et/ou supprimer n'importe quel spawn
- affichage sélectif (grâce à un filtre) des spawns afin de repérer leur emplacement
- divers
- déplacer et réorienter le global_intermission (le spawn des spectateurs)
- afficher sur le HUD (sur l'écran) des coordonnées du joueur
- (sous CoD4 uniquement) pour le mode Oldschool
- supprimer n'importe quel atout déjà présent sur la map
- ajouter 16 des atouts disponibles
- ajouter toutes les armes disponibles dans le multijoueur + les explosifs et les hardpoints
Succès ?
Difficile à mesurer, le forum ne croule pas sous les adorateurs, mais j'ai depuis le début mis en place un compteur de téléchargement :
- CoD:WaW
- version beta 1 : 93 téléchargements
- CoD4:MW
- patch n°1 : 72
- v. 1.1.1 : 379
- v. 1.1 : 42
- v. 1.0 : 82
- v. beta 2 : 64
- v. beta 1 : 12
- CoD2
- v. 1.0.1 : 212
- v. 1.0 : 26
La fréquentation du forum n'a jamais dépassée en moyenne 5 visiteurs par jours.
D'une manière générale le mod est peu connus et je suis incapable de dire sur combien de serveur il est utilisé actuellement.
Dans tous les cas, je peux au moins me targuer d'avoir créé un mod innovant et unique, car aucun autre mod ne propose le même contenu qui n'avait jamais été proposé auparavant.
Compte tenu des conditions dans lesquelles j'ai développé le mod (seul, avec des connaissances en partie limitées, durant mes années de BTS qui me laissait peu de temps libre) et du nombre de téléchargements des dernières version tout à fait honorable, je suis très content voire même fier du résultat.
Mais je regrette de n'avoir pas eu plus de temps cette année pour travailler sur la version pour CoD5.
Téléchargement
Vous pouvez télécharger ci-dessous les dernières version du mod pour les différents jeux :
M.A.R.A.S.
Au début de l'été 2007, j'imagine un système d'artillerie semi-réaliste pour le jeu Cal of Duty 2.
Dans un premier temps, l'idée était qu'un joueur puisse utiliser ses jumelles pour obtenir les coordonnées d'un point où il voulait faire tomber de l'artillerie. Il devait ensuite transmettre ces cordonnées à un autre joueur qui se situait prêt d'un canon et qui devait "taper" ces coordonnées sur un clavier dans le jeu (en fait il devait tirer dessus) avant de déclencher le tir du canon.
Une fois arrivé à ce résultat, j'ai amélioré le script en permettant au canon de se tourner vers l'endroit où il devait tirer par exemple.
A chaque fois que je réussissais à faire quelque chose, je tentais d'améliorer le script encore un petit peu.
Et au final, le système ne ressemble pas du tout à ce qu'il était au début :
J'ai finis par créé un canon flak 88 utilisable par les joueurs et presque totalement fonctionnel, il me manquait surtout des models pour donner la forme au canon.
Ci dessous une vidéo que j'ai faite à un stade avancé du projet :
J'avais également monté un site (mon tout premier (oui, je sais que ça se voit)) qui décrivait comment s'en servir.
Le projet n'ira pas plus loin essentiellement à cause du manque de model.
Mais ce qu'il y a à retenir c'est le modèle de développement : commencer petit puis améliorer pour arriver loin.
Jusqu'à présent j'avais plutôt l'habitude de viser haut dès le départ pour me rendre compte par après que je n'avais pas les capacités (ou le temps surtout) pour atteindre ce niveau.
C'est un modèle que j'ai en partie reproduit avec mon mod AGE, évitant de vouloir faire tout de suite quelque de trop compliqué.
