Mount & Blade II : Bannerlord - Carnet de développement n°23 : « le Modding dans Bannerlord »

Salutations, guerriers de Calradia !

Les mods ont toujours constitué une part importante de l'expérience de Mount & Blade. Au fil des années, notre communauté de modding talentueuse et dévouée a créé des mods extraordinaires qui ont soit développé des concepts et des particularités de notre jeu, tels que Diplomacy et Pre-Battle Orders and Deployment, soit totalement refondu le jeu afin de créer des expériences uniques et passionnantes, telles que Brytenwalda et Prophecy of Pendor. Certains ont apporté des éléments de JDR et de progression de personnage dans un cadre multijoueur (Persistent World, cRPG) tandis que d'autres se contentent d'être idiots, mais très drôles (Gangs of Glasgow).


Dans le blog de cette semaine, nous souhaitons nous tourner vers notre communauté de modding en répondant à une sélection de questions tirées de nos forums officiels[forums.taleworlds.com], qui ont été compilées par un membre-clé de notre communauté, notre modérateur modding « Duh ».


1. Quel sera le langage utilisé pour le modding ?
Nous utilisons C# en tant que langage de script. Les fichiers de données sont généralement formatés en XML.

2. Quel IDE seront supportés (comme Visual Studio Express) par TW ?
Vous pouvez utiliser n'importe quelle version de Visual Studio 2015 (Community Edition).

3. Pouvez-vous nous fournir des captures d'écran ou une liste et une description des divers outils que vous utilisez et qui seront potentiellement accessibles aux modders ?
  • Éditeur de scène
  • Éditeur de maillage
  • Éditeur de matériau
  • Visualiseur de modèle/animation
  • Éditeur de squelette
  • Éditeur de replay
  • Éditeur de particules
  • Éditeur d'atmosphère
  • Éditeur de tissus
  • Éditeur de chemin
  • Navigateur de ressources

De plus, les outils de profilage de performances de l'environnement d'exécution que nous utilisons seront disponibles pour les modders. Ils permettront de vérifier l'impact de leurs modifications sur les performances.


4. Les outils de modding seront-ils disponibles avant la sortie du jeu et/ou dans le cadre d'un accès anticipé ?
Cela n'a pas encore été décidé.

5. Un développeur de TW travaillera-t-il avec la communauté afin d'aider au modding (apprentissage, outils, tutoriels, commentaires, etc.) ?
Nous partagerons un site de documentation et nous avons l'intention de faire des vidéos de tutoriel. Nous serons également à l'écoute de vos commentaires et nous discuterons avec les utilisateurs sur nos forums.

6. Avec Warband, la liste de fonctionnalités codées en dur s'est amenuisée au fil du temps. En ira-t-il de même avec Bannerlord, et déciderez-vous progressivement ce qui doit et de ce qui ne doit pas être codé en dur ?
Très probablement.

7. Y aura-t-il un outil ou une caméra en jeu/moteur permettant de créer des cinématiques ?
Nous fournirons un éditeur de replay.

8. Serons-nous en mesure de lancer/sélectionner plusieurs mods (comme dans les jeux Elder Scrolls), ou bien serons-nous limités à un module à la fois (comme Warband) ?
Le jeu permettra l'utilisation de plusieurs mods à la fois.

9. Comment la structure du répertoire (texture) sera-t-elle gérée ? S'agira-t-il d'un simple répertoire comme dans Warband avec toutes les textures en vrac, ou bien sera-t-il possible d'avoir des sous-répertoires pour par exemple les textures de sol, les armures, etc. ? Et dans ce cas, les noms et les structures de ces sous-répertoires seront-ils moddables ?
Vous pourrez utiliser autant de répertoires que vous voudrez pour les ressources, mais c'est un système plat, donc sans support des sous-répertoires à l'intérieur des répertoires.

10. Comment le code est-il divisé entre ce qui est codé en dur (moteur) et modsys (ouvert à la communauté de modding) ? Quel niveau d'accès aurons-nous vers le code de l'IU du jeu, l'IA, etc. ? Pourriez-vous nous fournir un exemple de ce qui demeurera probablement codé en dur ?
Contrairement à ce qui a été fait pour Warband, les scripts du jeu de base ne seront pas modifiables directement par les modders. Cependant, il sera possible pour les modders d'ajouter de nouveaux scripts en tant que plug-ins, ainsi que d'apporter des modifications aux fichiers de données XML. Dans Warband, nous avons été confrontés au problème qu'à chaque nouvelle version ou patch, quasiment tous les mods existants devenaient incompatibles avec la nouvelle version, et les modders se sont retrouvés à devoir passer un temps fou à réappliquer leurs changements sur les scripts de la nouvelle version. De plus, il était impossible pour les joueurs de lancer simultanément plusieurs mods. Le nouveau système facilitera grandement la vie des modders et apportera le support du multi-mods.

En modifiant les fichiers XML, il sera possible de modifier ou d'ajouter/supprimer la plupart des types d'éléments de jeu, tels que les objets, les personnages, les factions, etc. Il sera bien sûr également possible d'ajouter de nouveaux éléments, tels que des maillages ou des textures.

Les modders pourront ajouter de nouveaux comportements de campagne et de mission, ainsi que des quêtes. Les comportements de campagne sont exécutés pendant que le joueur passe du temps sur la carte de campagne, tandis que les comportements de mission sont exécutés lorsque le joueur se trouve dans une scène. Par exemple, si vous souhaitez créer de nouveaux groupes de bandits apparaissant à intervalle de quelques jours, vous pourrez le faire grâce à un comportement de campagne.

Les modders pourront également modifier la plupart des formules utilisées par le jeu. Par exemple, si vous souhaitez ajouter un objet spécial permettant de se déplacer plus vite sur la carte, vous ajouterez cet objet via un fichier XML, et vous modifierez la formule de la vitesse sur la carte de campagne afin qu'elle renvoie une plus grande valeur si un groupe est en possession de l'objet en question.

Les modders qui souhaitent changer un comportement existant (comme le fait que des membres d'un groupe désertent lorsque le moral est bas) auront deux possibilités : ils pourront modifier la formule par défaut, ou bien, si cela ne leur convient pas pour une raison ou une autre, ils pourront totalement désactiver le comportement par défaut et en ajouter un nouveau.

11. Serons-nous en mesure de tirer des graines aléatoires ? C'est très important pour élaborer un processus aléatoire et utiliser des pseudo-données. Est-il possible de générer de manière procédurale le terrain, les villes, les châteaux, les villages, les PNJ...?
Vous pourrez utiliser des graines aléatoires, ainsi que n'importe quel type de générateur de nombre aléatoire.

12. Comment le système de dialogues a-t-il été amélioré ? Le système de dialogues est-il dynamique ?
Nous avons un système de traitement de chaînes très puissant (on peut quasiment inclure des programmes dans la chaîne elle-même). Les dialogues, les menus du jeu et tout ce qui a trait au texte peuvent en tirer parti.

13. Combien de factions le système peut-il supporter ? Y a-t-il des mécanismes simples pour créer/modifier les factions ?
Vous pouvez ajouter autant de factions que vous le souhaitez. Techniquement, créer des factions est juste un appel de méthode, mais les rendre intéressantes, c'est évidemment bien plus compliqué !

14. L'IA pour les champs de bataille (pour les troupes et l'IA stratégique) sera-t-elle accessible ou codée en dur ?
L'IA de bas niveau des troupes est codée en dur, mais il est possible de la personnaliser en modifiant l'agressivité, la vitesse maximale, etc. Vous pouvez également attribuer des points de mouvement aux cibles IA.

L'IA de formation et l'IA de bataille sont extensibles, et les modders pourront ajouter de nouvelles tactiques et des comportements d'IA.

15. L'IA de pathfinding des troupes et des groupes sera-t-elle accessible ou codée en dur ?
Le pathfinding sera codé en dur. Il est cependant possible d'activer ou de désactiver les faces d'un maillage de navigation. Il existe donc des moyens de contrôler le comportement de pathfinding.


16. En partant du principe que l'IA prenne en compte le terrain, serons-nous en mesure de transcrire cette compréhension du cadre de bataille sous une forme graphique ? En d'autres mots, même si vous avez décidé de ne pas utiliser de mini-carte pour le jeu principal, avez-vous l'intention de nous fournir un framework et/ou des opérations qui nous permettraient de générer une représentation visuelle simplifiée de la position des unités, des détails du terrain et peut-être même de la stratégie de l'IA ?
Il sera possible de dessiner des primitives graphiques à l'écran. Il est également possible d'afficher plusieurs scènes à l'écran pour d'autres usages (tant qu'elles sont légères, elles n'affecteront pas trop les performances).


17. Aurons-nous un plus grand contrôle des variables centrales et de la logique des mécanismes centraux de combat ? Par exemple, serons-nous en mesure d'éditer directement le code utilisé pour les dégâts d'une charge à cheval, la détection de collision, les déplacements de l'IA, et ainsi de suite ?
Il sera possible de modifier certaines variables, mais de nombreuses constantes resteront codées en dur.

18. Sera-t-il possible d'altérer le ciblage de l'IA avec les armes à distance ?
Vous pourrez leur donner une entité à cibler.

19. Sera-t-il possible de combiner des éléments préconçus avec des éléments issus d'une génération procédurale dans le cadre d'une même scène ?
Bien sûr. Les composants de script peuvent être utilisés pour ajouter, altérer ou supprimer des choses d'une scène. Les matériaux, les autres scripts, les attributs de la physique et des polygones peuvent être changés à l'exécution.

20. Comment l'IA de pathfinding fonctionne-t-elle ? Les modders devront-ils créer des maillages d'IA pour leurs scènes ?
Oui, les concepteurs de scènes devront créer les maillages de navigation. L'éditeur de scène dispose d'un outil permettant de créer ce maillage automatiquement, mais les résultats sont variables et nous préférons généralement les créer à la main.

21. Y a-t-il une méthode intégrée permettant de voxeliser la scène afin d'utiliser du ray tracing simple pour l'illumination globale ?
Non.

22. Les effets saisonniers seront-ils générés, ou devront-ils être ajoutés manuellement ? Sera-t-il possible de les prévisualiser avec l'éditeur ?
Il est possible de prévisualiser l'aspect d'une scène à différentes saisons et avec différents réglages d'atmosphère dans l'éditeur. Vous pouvez sélectionner des matériaux de terrain alternatifs et du feuillage alternatif pour différentes saisons. Tout est profondément personnalisable.

23. Sera-t-il possible de faire des cavernes/tunnels avec l'éditeur de carte/scène ? Sera-t-il possible d'altérer le terrain en cours de jeu et/ou les modders disposeront-ils d'outils permettant d'activer/altérer une telle fonctionnalité ?
Pour les tunnels et les cavernes, vous aurez besoin de maillages, car le système de terrain ne les supporte pas. Nous ne gérons pour l'instant pas les changements dynamiques de hauteur de carte du terrain en cours de jeu.

24. Quelle est la plus grande taille de scène que l'éditeur est en mesure de gérer ?
Cela dépend de la puissance de l'ordinateur et de la mémoire disponible. Nos scènes ne sont en général pas trop grandes, car nous cherchons à ce qu'elles se chargent rapidement et qu'elles n'occupent pas une quantité excessive d'espace sur le disque dur. Nous avons mené des expérimentations avec des scènes plus grandes, mais ce n'est pas une chose qui fait partie de nos priorités.

25. L'éditeur de niveau supportera-t-il le travail multi-utilisateur (modding coopératif depuis un serveur) ?
Non. L'éditeur ne supporte pas cela.

26. Comment les ornements et les objets déplaçables seront-ils gérés ? Seront-ils sujets aux mêmes limitations qu'actuellement dans Warband (Polycount, détection de collision, etc.) ?
Les objets physiques pour les corps rigides dynamiques comporteront des restrictions de décompte de polygones.

27. Serons-nous en mesure de simuler l'écoulement du temps dans une scène sans forcer une réentrée ? (matin-midi-soir-nuit)
Le système d'atmosphère n'est pas conçu pour se mettre à jour en temps réel, donc vous ne pourrez pas simuler cela sans saccades. Il doit être possible de faire un fondu au noir, de modifier l'atmosphère, puis de faire réapparaître l'image par un fondu.

28. Comment les fichiers de scène seront-ils organisés et gérés par Bannerlord ? Les codes de terrains et les fichiers des objets de scènes demeureront-ils séparés ?
Nous divisons les fichiers de scène en deux groupes. D'un côté nous avons les données éditables pour l'éditeur de scène (binaire et texte), et de l'autre les fichiers binaires optimisés pour réduire le temps de chargement.

29. Les armures sont-elles créées de la même façon que ce que vous avez montré pour les armes ?
Le système d'artisanat ne fonctionne que pour les armes de corps-à-corps. Les armures, les boucliers, les arcs et les arbalètes ne peuvent pas être fabriqués.

30. Cela signifie-t-il que la création des armes et des armures est désormais interne à la superstructure du jeu, et dans ce cas, sera-t-il possible pour les artistes indépendants d'ajouter leurs propres armes et armures dans le jeu ?
Les objets fabriqués et non fabriqués sont ajoutés de différentes façons, mais les modders peuvent ajouter les deux. Pour l'artisanat, les modders peuvent facilement ajouter de nouveaux composants. Ils peuvent également ajouter de nouvelles armes en éditant un fichier XML et en spécifiant de quoi le nouvel objet est composé.

31. Pourrons-nous ajouter des squelettes personnalisés et de nouveaux os ? Si oui, serait-il possible d'intégrer des os objets statiques pour les animations en temps réel (effets de destruction...) ?
Oui, vous pourrez ajouter des squelettes personnalisés aux maillages.

32. Des informations sur les dimensions des modélisations ? Le Polycount ?
Le Polycount est très varié, mais nous utilisons de manière intensive les maillages à LOD.

33. Des informations sur les tailles moyennes de textures ? La 4k sera-t-elle supportée ?
La taille moyenne des textures est la 2k. Vous pourrez ajouter des textures en 4K au jeu.


34. Chaque pièce d'équipement sera-t-elle dotée d'options physiques (breloques, tissu, etc.), les armes y comprises ?
Probablement pas chaque pièce, mais les modders pourront en ajouter à tous les types d'équipement. Les armes ne peuvent en bénéficier qu'à un niveau cosmétique, donc n'espérez pas bricoler des fléaux avec le système de tissu...

35. Pourrons-nous accéder aux fichiers sources des shaders ?
Cela n'a pas encore été décidé.

36. Quel niveau de moddabilité pouvons-nous espérer avec le nouveau moteur de PBR ? Le PBR dépend moins des shaders et des textures, et plus des skymaps, des post-effets et de l'emplacement et des détails des éclairages. Pouvons-nous espérer être en mesure d'implémenter une GI dynamique, par exemple ? Peut-on espérer une GI et un SSR ?
Nous disposons d'une bonne variété de post-effets, et vous pourrez probablement ajouter de nouveaux post-effets. Nous avons un SSR. Il devrait en théorie être possible d'ajouter une GI dynamique, mais en pratique, cela risque d'être très difficile, voire impossible.

37. Pouvons-nous forcer certaines parties du corps/os à exécuter des animations spécifiques et leur appliquer une physique ragdoll ? (Utile pour simuler diverses blessures infligées à différentes parties du corps)
Désolé, le moteur de jeu ne gère pas cela.

38. Quel(s) programme(s) de modélisation/visualisation devra ou devrait être utilisé pour Bannerlord ?
Pour la modélisation polygonale de base, nos artistes utilisent principalement Max, Maya et Blender, et nous fournirons des informations sur le flux de travail sous ces logiciels. Nous utilisons également une tonne d'autres outils pour sculpter, pour peindre les textures, pour la visualisation, etc.

39. Quels outils permettent l'animation des icônes de carte de campagne ?
Nous avons des composants de script qui permettent d'ajouter des boucles d'animation simples aux entités d'une scène. Ce n'est pas aussi compliqué que le système d'animation des personnages au cours des batailles.

Dans le blog de la semaine prochaine, nous discuterons avec Meriç Neşeli, responsable AQ et concepteur de jeu. Si vous souhaitez lui poser une question, laissez-la dans la section commentaire et nous en sélectionnerons une à lui poser.

Vous pouvez réagir à ce carnet sur notre forum.

(traduction française par Taleworlds).
Carnet original par Callum.