Atelier des moddeurs · guide · 54 min de lecture
Terry, le guide : l'éditeur de terrain de Total War: Warhammer III, de la première carte de bataille au terrain de campagne
Terry est l'éditeur de terrain en 3D de l'Assembly Kit de Total War: Warhammer III. Ce guide le prend en main pas à pas : l'ouvrir, lire sa fenêtre, s'y déplacer, peindre, faire une première carte de bataille et la voir en jeu. Il rassemble ensuite ce que l'on sait du terrain d'une carte de campagne, que le kit ne livre pas, appris en portant une carte entière dans Warhammer III.
Relu le 25 septembre 2026, mise à jour 9.0. Écrit contre ses sources, l'Assembly Kit au patch 8.1, le wiki de CA et tw-modding ; ce que la 9.0 a changé sur notre chantier y est ajouté, le reste n'a pas été revérifié point par point. Dans le doute, vérifiez, et dites-le-nous.
Ce qu'est Terry, et ce qu'il fait dans le kit public§
Terry (Terrain Metadata Editor) est l'éditeur de terrain en 3D de Creative Assembly (CA), livré avec l'Assembly Kit de Total War: Warhammer III. On y fabrique un terrain : le relief, les textures, la végétation, les objets, les zones logiques, l'éclairage et les sons. Ce n'est pas un programme à part : c'est un mode de Tweak, l'éditeur du kit.
Terry n'écrit pas les fichiers que lit le jeu, mais des sources, dans le dossier raw_data du kit. BOB, le bâtisseur du kit, les compile dans working_data ; RPFM les range dans un pack. Terry lance BOB lui-même : File → Process with BOB.
- Dans le kit public, Terry fait des tuiles et des cartes de bataille, avec leur logique (déploiement, zone jouable, points de capture), et des prefabs.
- Le kit ne livre aucun terrain de campagne : dans celui de Warhammer III,
raw_data/ne contient queterrain/ battles/ettiles/.battle/ - Aucune commande ne pilote Terry : on peut seulement l'ouvrir ; le reste se fait dans sa fenêtre.
Le trajet d'une carte de bataille, de Terry au jeu :
- Terry
Vous peignez la tuile (relief, textures, objets, zones logiques) et la posez dans une tile map.
.terry,.layer,.tif,tile_map.pngdansraw_data - BOB
Il compile la tile map, puis la tuile, en fichiers du jeu.
working_data/terrain/ … - RPFM
Le pack : les fichiers compilés, une ligne de
battles_tables, un texte, une image.ma_carte.pack - En jeu
La carte apparaît dans la bataille personnalisée.
Ce guide suit ce trajet, puis rassemble ce que l'on sait du terrain d'une carte de campagne.
Les mots de Terry§
Quelques mots reviennent partout. Voici le sens que leur donne ce guide.
| Mot | Sens |
|---|---|
| Tuile (tile) | un morceau de terrain fait dans Terry : relief, textures, objets, logique. Une carte de bataille, c'est une tuile posée dans une tile map. |
| Tile map | le grand terrain, assemblé à partir de tuiles, qui entoure le champ de bataille ; votre tuile y a sa place. En campagne, tile_map.png dit quelle sorte de tuile va sur chaque hex : terre, mer, côte, route. |
| Raster | une image dont chaque pixel porte une valeur : une hauteur, un mélange de textures, un masque. Un fichier .tif par raster enregistré (relief, mélange des textures…). |
| Vista | une tile map toute faite, reprise comme décor autour de votre tuile ; le kit de Warhammer III n'en livre pas (voir les questions fréquentes). |
| Calque (layer) | un groupe d'entités. Un File Layer est un fichier .layer ; un Logical Layer, un simple rangement. |
| Prefab | un assemblage d'objets prêt à poser, réutilisable ; de bataille ou de campagne. |
| Entité logique | ce que le jeu lit sans le montrer : zones de déploiement, zone jouable, indices pour l'IA, zones interdites, points de capture. |
| Zone jouable (Playable Area) | en bataille, l'entité logique qui délimite où l'on peut donner des ordres de mouvement ; elle fixe aussi d'où les unités fuient et arrivent en renfort, et les bords de la minicarte (CA). La page d'introduction de CA ajoute que ses bords bornent la caméra. |
| Zone jouable de campagne | la ligne de campaign_map_playable_areas qui décrit la carte d'une campagne ; sa colonne terrain_folder désigne un terrain de bataille. |
| BOB | le bâtisseur du kit : il compile les sources de raw_data en fichiers du jeu, dans working_data. Chaque exécution s'appelle ici un passage. Voir le guide BOB. |
raw_data / working_data | ce que les outils du kit lisent (vos sources) / ce qu'ils produisent (les fichiers du jeu). |
| Catchment | une variante d'export d'une même carte (catchment_01…), que choisit la colonne catchment_name de la table battles. En campagne, des cartes de captage choisissent la carte de bataille selon le lieu. |
Ouvrir Terry§
Terry étant un mode de Tweak, il a trois portes d'entrée, qui mènent à la même fenêtre.
- Par le lanceur du kit
Dans Steam (Bibliothèque → Outils), lancez l'Assembly Kit de Warhammer III, puis choisissez Play Battle Map Editor: Terry.
D'après la page Custom Campaign Settlement Skins du wiki tw-modding (partie Warhammer III, ChaosRobie).
- Par Tweak
Ouvrez
binaries/, dans le dossier du kit, puis le menu Plugins → Terry.tweak.modder.x64.exe D'après la même page.
- En ligne de commande
Depuis le dossier
binariesdu kit :tweak.modder.x64.exe /.standalone TerrainMetadataEditor C'est la commande que lance l'option du lanceur ; la seule connue pour Terry.
Comment vérifier. La fenêtre s'intitule TWeak - Terry. Elle met du temps à venir : environ 25 secondes chez nous. Au démarrage, le Project Wizard s'affiche.
Le Project Wizard§
Le Project Wizard s'affiche au démarrage (case Show on startup) et se rouvre par File → Project Wizard… : il présente les projets récents et l'onglet New, sur lequel il s'ouvre (tw-modding).
Dans Warhammer III, il montre trois icônes. Celle de droite, une boîte en pointillés, crée un prefab, de bataille ou de campagne (tw-modding, Custom Campaign Settlement Skins). Le kit ne connaît que trois types de projet : tile, tile_map et prefab (fichier working_data/). Les deux autres icônes correspondent donc sans doute à la tuile et à la tile map (non vérifié à l'écran).
La fenêtre de Terry§
La fenêtre de Terry est faite de panneaux qui se détachent et s'ancrent : la disposition se règle, et la vôtre peut différer. La figure en montre une disposition courante, avec des pastilles numérotées : menus et barres d'outils en haut, hiérarchie de la scène à gauche, propriétés en bas et à droite, vue 3D au centre, messages de BOB en bas à droite.
- 1Menus et barres d'outilsFile, View, Tools ; les barres s'ouvrent par View → Toolbars.
- 2La barre Basicoutils 1 à 4 (sélection, déplacement, rotation, échelle), quatre modes de peinture, le globe Process with BOB (Ctrl+P), World ou Editor View ; puis Entity Creation (Visual, Logical, Other).
- 3Scene Hierarchyles entités, rangées en calques ; un double-clic rend un calque actif (en rouge).
- 4Entity Propertiesles propriétés de la sélection, modifiables pour plusieurs objets à la fois.
- 5Project Errorsce qui empêcherait la carte de marcher en jeu.
- 6Le viewportla scène 3D : la grille des tuiles, la zone jouable, les zones de déploiement (Alliance 0 = attaquant, en bleu dans le Terry de Warhammer III ; 1 = défenseur, en rouge sombre ; la documentation de 2016 donnait l'inverse : fiez-vous au numéro).
- 7Tool Propertiesles réglages de l'outil actif : brosse, ou choix d'un prefab.
- 8Map Properties et Settingsles réglages du projet ; ceux de Terry lui-même (autosauvegarde, BOB, caméra).
- 9Les messages de BOBen bas à droite, pendant un passage : des fenêtres surgissantes, selon tw-modding.
| Panneau | À quoi il sert |
|---|---|
| Viewport | la scène en 3D. World View montre un aperçu façon jeu ; Editor View ajoute les lignes de débogage. La touche G passe de l'une à l'autre. |
| Scene Hierarchy | les entités, rangées en calques : un File Layer par fichier .layer (au moins un par projet), des Logical Layers pour ranger. Un double-clic rend un calque actif : il passe en rouge, et les nouveaux objets y tombent. Décocher Export en fait un calque de référence, qui n'est pas exporté. |
| Entity Properties | les propriétés de la sélection, modifiables pour plusieurs objets à la fois. En bas à gauche. |
| Tool Properties | les réglages de l'outil actif : la brosse, ou le choix d'un prefab, avec un champ de recherche. |
| Map Properties | les réglages du projet. En bas à droite. |
| Settings | les réglages de Terry lui-même, pas de la carte : autosauvegarde, options de BOB, surcouches, caméra, environnement d'aperçu (bouton Set As Default For Project Type). |
| Project Errors | ce qui empêcherait la carte de marcher en jeu. |
| Barres d'outils | par View → Toolbars, ou par le menu Tools. Basic : les outils 1 à 4, les quatre modes de peinture, Show in Explorer, World / Editor View, et l'export : le globe avec une flèche, Process with BOB (Export Map dans le premier Warhammer). Puis Advanced, et Entity Creation (Visual, Logical, Other). |
Les fichiers d'un projet§
<projet>.terry: un XML qui décrit le type de projet, ses rasters et sa scène.- Un
.tifpar raster enregistré (<projet>.height.<id>.tif,<projet>.blend.<id>.tif…) : le relief, le mélange des textures… La tuile d'exemple du kit déclare huit rasters mais n'en enregistre que deux. - Les
.layer: un par File Layer, avec ses entités. <projet>.terry.user: les réglages d'aperçu.
Dans ces XML, une propriété porte le nom qu'elle affiche dans Terry, en minuscules, les espaces devenus des soulignés : Lighting File s'écrit lighting_file. Pratique pour retrouver dans un fichier ce que vous avez réglé dans la fenêtre.
Les coordonnées§
- L'axe Y est l'altitude, vers le haut.
- En bataille, trois étendues : l'Usable Area, un carré de 2 048 m centré sur le champ de bataille, où jouent la physique et le cheminement des unités ; la tile map, dessinée jusqu'à 8 km du centre ; la zone jouable (Playable Area), où l'on peut donner des ordres de mouvement, qui fixe aussi d'où les unités fuient et arrivent en renfort, et les bords de la minicarte (CA ; selon sa page d'introduction, ses bords bornent aussi la caméra). Une tuile 8 × 8 mesure 2 048 m de côté (relevé sur la tuile d'exemple du kit) : posée au centre de la tile map, elle couvre exactement l'Usable Area.
- En campagne, les axes sont ceux de l'espace des hex : voir le terrain de campagne, plus bas.
Se déplacer : caméra et raccourcis§
Ces raccourcis viennent de la documentation de CA. Ceux du clavier figurent dans le fichier des raccourcis du kit de Warhammer III (working_data/) ; ceux de la souris, dans les pages de CA et les bulles d'aide du kit (working_data/). Ctrl+S et Ctrl+Maj+S manquent : le fichier liste « enregistrer sous » sans touche, et « enregistrer » pas du tout.
| Touches | Action |
|---|---|
| W A S D (Maj : plus vite) · Q / E | se déplacer · pivoter |
| C / X · R · Z | monter / descendre · vue du ciel, au centre · zoom sur la sélection |
| molette · bouton du milieu · Alt + milieu · Maj + milieu | zoom · déplacer · pivoter · monter ou descendre |
| clic droit ou Échap | quitter l'outil en cours |
| 1 2 3 4 · Tab | sélection, déplacement, rotation, échelle · éditer l'entité |
| Maj + glisser · Ctrl + glisser | dupliquer · pivoter la sélection |
| Ctrl+G / Ctrl+U | grouper / dégrouper |
| Ctrl+A · Ctrl+D · Ctrl+I · Ctrl+H · F | tout sélectionner · ne rien sélectionner · inverser la sélection · masquer · figer la sélection |
| [ / ] · O / P · N / M · , / . | taille de la brosse · opacité − / + · « autre valeur » − / + · palette précédente / suivante |
| Maj maintenue · Alt + clic · Ctrl+Alt + souris | lissage rapide · prélever une valeur · taille et rotation de la brosse |
| 5 · Maj+5 · Alt+5 | aligner · monter · abaisser le terrain sous la sélection |
| H · G | relief en couleurs (topographie) · vue monde / vue d'édition |
| Maj+C · L · Maj+T · Maj+2 | changer de caméra (sans doute perspective ou orthographique) · repère local ou monde · coller et orienter au terrain · outil de pose (sens déduits des noms des commandes du fichier : à vérifier) |
| Ctrl+N · Ctrl+O · Ctrl+P | nouveau · ouvrir · Process with BOB |
| Ctrl+S · Ctrl+Maj+S | enregistrer · enregistrer sous (non confirmés dans Warhammer III) |
Deux commandes n'ont pas de touche par défaut : CopyCamera et PasteCamera. Elles copient et collent le point de vue par le presse-papiers, sous la forme camv3;œil x;y;z;cible x;y;z : de quoi comparer deux états d'un terrain sous le même angle. Pour leur en donner une, la commande ConfigureKeyset sert sans doute à régler les raccourcis (son libellé dans les menus reste à vérifier) ; les touches se rangent dans keyboard.xml.
Les modes de peinture et de création§
Terry travaille par modes : on choisit un mode, un outil, puis l'on peint ou l'on pose. Les quatre modes de peinture sont dans la barre Basic ; les modes de création, dans la barre Entity Creation et le menu Tools.
Le relief : Terrain Height Painting§
- Trois panneaux. Maps : les rasters et leurs calques (Add Layer au clic droit), qui se mélangent dans l'ordre. Operations. Brushes : New Round crée une brosse ronde, avec Scale, Hardness, Size Jitter…
- Opérations de Warhammer III : Add, Subtract, Absolute, Smooth, Erase.
- Pour voir en rouge les pentes de plus de 45° : Settings → View 3D → Overlay → Land No Gos.
Les textures : Terrain Texture Painting§
- Chaque canal est une texture du projet (
grass01,mud01…). - Un flow bas fond les textures l'une dans l'autre.
- Opérations : Normal, Smooth, Erase, Replace.
Les forêts : Terrain Forest Painting§
On ne pose pas les arbres un à un : on peint la texture de forêt, et la forêt pousse là où cette texture dépasse 60 %.
Le sol logique : Terrain Painting (Other)§
Ce mode peint les types de sol logiques : ce que le jeu sait du sol, indépendamment de la texture que l'on voit.
Les objets : Entity Creation (Visual)§
- Entités : Prefab, Building, Prop, Decal, VFX, Polygon Mesh, Terrain Hole, Vegetation (Place ou Paint), Procedural Exclusion Zone, et les lumières.
- Pendant la pose, [ et ] règlent l'échelle ; Maj + souris, la rotation.
- Un lac est un prop
water_plane, option Surface Oriented décochée, posé dans un creux du relief. Une eau de moins de 0,5 m reste franchissable, avec une pénalité ; plus profonde, elle est infranchissable (CA).
La logique : Entity Creation (Logical)§
- Entités : AI Hint, No-Go / Go Region, Deployment Zone, Deployment Zone Region, Playable Area, et, dans Warhammer III, les points de capture.
- Le kit réserve ces entités aux projets de bataille. Un projet de campagne a la sienne :
CampaignSettlement.
- ATile maple décor tout autour, emprunté à une vista ; dessiné jusqu'à 8 km du centre (CA).
- BVotre tuile 8 × 8le terrain où l'on se bat, que vous peignez, au centre de la tile map.
- CUsable Areale même carré que la tuile (B) : une tuile 8 × 8 mesure 2 048 m de côté (relevé sur la tuile d'exemple du kit) ; posée au centre, elle couvre exactement l'Usable Area, 2 048 m centrés sur le champ de bataille, seul lieu de la physique et du cheminement des unités (CA).
- DPlayable Areala zone jouable, où l'on donne les ordres de mouvement ; ses bords fixent d'où l'on fuit et arrive en renfort, et ceux de la minicarte (CA, Creating Zones) ; selon la page d'introduction de CA, ils bornent aussi la caméra.
- EDeployment ZonesAlliance 0 = attaquant, 1 = défenseur ; dans le Terry de Warhammer III, 0 en bleu et 1 en rouge sombre (la documentation de 2016 donnait l'inverse) : fiez-vous au numéro. Chaque zone a sa région additive (+), créée avec elle (tutoriel) ; une région soustractive (−), facultative, en retire un morceau (CA).
- FPoints de capturepour une carte de domination : type domination 1, 2, 3 ; importance score ; de 80 × 80 à 180 × 180 (tutoriel).
- GLignes de renfortAI Hint attacker ou defender teleport reinforcement line : une ligne courte de deux points ; une vingtaine d'unités de long suffit (tutoriel).
- HProcedural Exclusion Zoneposée entre la zone jouable et le bord de la tuile, pour alléger la carte : plus de végétation procédurale hors jeu, herbe mais aussi arbres des forêts ; repeignez à la main les forêts voulues (tutoriel).
- INo-Goun polygone fermé qui marque une zone infranchissable (CA).
- JDefensive Hillun AI Hint qui montre à l'IA une position défensive : un polygone fermé ; ouvert, plantage probable (CA).
Les outils avancés : Advanced et Other§
Une règle pour mesurer ; Snap BBox et Snap Verts pour aligner ; la grille et l'aimantation ; la caméra en perspective ou orthographique ; Sound Marker pour placer des sons ; Camera Bounds, qui borne la caméra de l'éditeur seulement, pas celle du jeu.
Plusieurs variantes d'une même carte§
Un calque peut porter un type d'export (catchment_01…). La colonne catchment_name de la table battles choisit alors la variante que le jeu charge. C'est ainsi qu'un même terrain donne une carte de domination et une bataille classique.
Première carte de bataille, pas à pas§
Ce pas-à-pas suit le tutoriel de Warhammer III du wiki tw-modding, complété par la documentation de CA. Deux conseils d'abord. Enregistrez souvent : CA prévient que Terry plante parfois. Et réglez l'autosauvegarde dans Settings (sur notre installation, elle était réglée à 15 minutes). Terry range ses autosauvegardes dans working_data/ et note ses erreurs dans working_data/, dans le dossier du kit.
Une carte de bataille, ce sont deux projets Terry. La tuile est le terrain où l'on se bat, que vous peignez en détail ; la tile map est le décor qui l'entoure, dessiné jusqu'à 8 km (CA), que vous empruntez à une vista. Seul un carré de 2 048 m au centre, l'Usable Area, a la physique et le cheminement des unités (CA). La figure montre les deux projets l'un au-dessus de l'autre, avec leurs fichiers, les deux passages de BOB et la ligne de battles_tables qui relie le tout au jeu.
- Créez le projet. Dans le Project Wizard, sur l'onglet New, choisissez une tuile de bataille. Le libellé exact de ce choix n'est pas confirmé dans Warhammer III.
- Enregistrez-le aussitôt (File → Save As…) : la boîte demande le nom de la carte, en minuscules (un nom de dossier, pas le nom affiché en jeu) ; le jeu de tuiles, un nom de dossier à vous, en minuscules (le tutoriel, qui fait une carte de domination, l'appelle
domination) ; la taille, 8x8, pour rester compatible avec les tile maps de Warhammer II ; le climat (qui règle notamment les herbes et les arbres). Laissez cochée la case du bas, comme le demande le tutoriel (son libellé n'est pas confirmé ici). Vérifiez : d'après la carte d'exemple du kit, la tuile se range dansraw_data/. Le bouton Show in Explorer ouvre le dossier : unterrain/ tiles/ battle/ <jeu de tuiles>/ <carte>/ .terry, au moins un.layer, des.tif. - Peignez le relief, les textures, les forêts, puis posez les objets. Pour alléger la carte, le tutoriel pose une Procedural Exclusion Zone entre la zone jouable et le bord de la tuile : plus d'herbe hors jeu, mais plus d'arbres non plus dans les forêts de cette bande ; il les repeint à la main. Vérifiez en World View (touche G), l'aperçu façon jeu, et avec H, le relief en couleurs.
- Posez la logique, par Tools → Entity Creation (Logical). Une Playable Area (la zone jouable) : de 2x2 à 3x3, conseille le tutoriel, sans préciser l'unité ; sans elle, le jeu la fixe entre 800 et 1 300 m selon le nombre d'unités, ou l'ajuste aux zones de déploiement, la plus grande des deux (CA). Deux Deployment Zones, chacune avec sa Deployment Zone Region additive : Alliance ID 0 pour l'attaquant, 1 pour le défenseur, Zone ID à 0. Dans Terry de Warhammer III, l'alliance 0 s'affiche en bleu et la 1 en rouge sombre (la documentation de CA de 2016 donnait l'inverse) : fiez-vous au numéro. Pour une carte de domination, des points de capture : type domination 1/2/3, importance score, de 80 × 80 à 180 × 180 ; le tutoriel ajoute à chaque zone de déploiement une seconde région, de type guerilla exclusion additive, pour le déploiement d'avant-garde (l'alliance adverse ne peut pas s'y déployer), et veille à ce qu'aucun joueur ne puisse se déployer en avant-garde sur un point de capture. Et des lignes de renfort : un AI Hint attacker ou defender teleport reinforcement line, une ligne courte de deux points ; une vingtaine d'unités de long suffit, selon le tutoriel. Vérifiez : les zones sont visibles dans la vue 3D, et le panneau Project Errors ne signale rien.
- Créez la tile map par Tools → Create battle for tile… : Terry crée son projet dans
raw_data/. Une fois suffit, dit le tutoriel ; ensuite, vous travaillez dans les fichiers qu'elle a créés. Vérifiez : le dossier contient unterrain/ battles/ <carte>/ .terry,tile_map.png,climate_map.pngetexplicit_tiles. - Posez votre tuile dans la tile map. Dans ce dossier, remplacez
tile_map.pngetclimate_map.pngpar ceux d'une vista existante, une tile map déjà faite qui servira de décor. Puis, dansexplicit_tiles, changez les deux premiers nombres de la lignex,y,chemin de la tuile,0(voir juste après la liste) : x,y est le coin haut-gauche de votre tuile danstile_map.png, en pixels. Une tuile 8 × 8 au centre d'une tile map de 64 × 64 se pose en 28,28 ; la carte d'exemple du kit a la sienne au même endroit. - Compilez la tile map : ouvrez-la dans Terry, lancez File → Process with BOB (Ctrl+P, ou le globe de la barre Basic), puis rechargez-la. Vérifiez : votre tuile est à sa place.
- Compilez la tuile. Rouvrez-la. Dans Map Properties, décochez la génération de végétation legacy (dans le
.terry, la propriétéuse_legacy_procedural_vegetation). Puis Process with BOB. La tile map passe toujours avant la tuile ; ensuite, quand vous retouchez la tuile, seule la tuile se réexporte. - Déclarez la carte au jeu avec RPFM : voir la section suivante.
- Testez-la en bataille personnalisée, le pack activé dans le lanceur.
Par défaut, dit le tutoriel, explicit_tiles contient à peu près ceci :
3,3,terrain/tiles/battle/lzd_hills_infield/chaqua_pit,0Changez seulement les deux premiers nombres. x,y se lisent en pixels de tile_map.png, x depuis la gauche, y depuis le haut : ouvrez l'image dans votre logiciel de dessin et pointez le coin haut-gauche du carré noir de la vista, soit 28,28 dans une tile map de 64 × 64 (tutoriel). Vérifiez que le chemin est celui de votre tuile, depuis terrain/, en barres obliques ; gardez le 0 final.
La carte d'exemple du kit, elle, pose sa tuile autrement : sa tuile (raw_data/) déclare dans son .terry la couleur (0, 255, 127), et le tile_map.png de sa tile map, de 64 × 64 pixels, en porte un bloc de 28,28 à 35,35, sans explicit_tiles.
La déclarer dans le jeu avec RPFM, et la tester§
BOB a produit les fichiers du jeu. Il reste à les mettre dans un pack et à dire au jeu que la carte existe : c'est le rôle d'une ligne de la table battles_tables, d'un texte et d'une image. RPFM fait tout cela ; ses gestes de base sont dans le guide RPFM.
- Créez un pack et ajoutez-y le dossier
working_data/, comme le tutoriel, puis retirez-en tout ce qui n'est pas à vous : la carte d'exemple du kit (terrain assembly_kit_example_tile_map,assembly_kit_example_tile,_tile_database/) et tout fichier du jeu que vous y auriez extrait. Vérifiez dans RPFM qu'il ne reste que vos dossiers : la tile map, la tuile et son entréeTILES/ test_tiles_assembly_kit_example_tile.* _tile_database/.TILES/ <jeu de tuiles>_<carte>.* - Ajoutez une ligne à
battles_tables: clic droit sur le pack → Create… → Create DB →battles_tables, un fichier à votre nom (jamaisdata__, qui remplacerait la table du jeu) ; copiez une ligneclassicdu jeu, Paste as New Row, et changez d'abord la clé (le guide RPFM). Vous gardez ainsi toutes les colonnes ; remplissez-les d'après le tableau ci-dessous. - Ajoutez le texte
battles_localised_name_<key>: c'est le nom que le joueur verra. - Ajoutez l'image au chemin que donne
screenshot_path: trois fois plus large que haute (tutoriel). L'espace defrontend uiest voulu. - Enregistrez le pack, puis PackFile → Install dans RPFM, qui le copie dans le dossier
datadu jeu. Une image carrée du même nom que le pack lui sert de vignette (le tutoriel la prévoit pour le Workshop). Puis activez le pack dans le lanceur. - Testez par une bataille personnalisée. Une carte de domination se teste en multijoueur, ou avec un mod de la communauté (voir le tutoriel de tw-modding).
| Colonne de battles_tables | Ce qu'elle reçoit | Exemple |
|---|---|---|
key | la clé de votre carte : une clé à vous, jamais celle d'une carte du jeu | monprefixe_ma_carte |
type | classic ou domination | classic |
specification | le dossier de la tile map, avec la barre finale, comme le tutoriel ; CA écrit le plus souvent terrain\ : si vous copiez une ligne de CA, gardez sa forme | terrain/ |
screenshot_path | l'image de la carte ; elle doit être dans le pack | ui/ |
team_size_1, team_size_2 | la taille des deux camps | 1, 1 |
singleplayer, multiplayer | où la carte est proposée | 1, 1 |
battle_environment | l'ambiance : un fichier .environment_group de weather/ (CA la laisse vide sur 715 de ses 1 216 lignes) ; à ne pas confondre avec battle_environment_audio, juste à côté | weather/ |
catchment_name | la variante d'export à charger (voir les modes, plus haut) | le type d'export de vos calques ; sans type d'export, à vérifier (259 lignes de CA la laissent vide) |
Le terrain d'une carte de campagne : ce qu'on sait§
Pour une carte de campagne, le kit ne livre rien : ni projet Terry, ni données brutes de terrain. C'est vrai du kit de Warhammer III comme de celui de Warhammer I. Pourtant, Terry sait ouvrir un projet de type campagne. ChaosRobie, l'auteur d'Immortal Empires Expanded, l'a prouvé : il a reconstitué la carte des Empires Immortels en projet Terry, et il a partagé ce projet avec la communauté. Le voici disséqué : c'est le plan à suivre.
| Élément | Ce qu'il est |
|---|---|
le dossier raw_data/ | absent des kits : c'est lui qu'il faut créer |
<carte>.terry | le projet, en XML (version 27) : les réglages de la carte, une entité par région, nommée comme sa clé dans la base, et dix couches de terrain |
<carte>.terry.user | les réglages d'aperçu : sans lui, Terry ne montre ni eau ni arbres |
rules.bob, deux fichiers | la recette de BOB est dans le dossier parent, raw_data/ : [Terrain] avec PrefabRoot = art\ (valeur du projet de ChaosRobie ; battle pour une bataille), TileDatabase = terrain\, HeightPatch = true… ; celui du dossier de la carte ne contient que [Copy] et [+AssetGraph], qui recopient le projet brut dans le dossier retail du kit à chaque passage. Qui ne recrée que le dossier de la carte perd la recette. |
tile_map.png | la carte des tuiles : terre, mer, côtes, falaises, routes, une couleur par type |
dix rasters .tif | relief, fond marin, mélange des textures, couleurs, brouillard, arbres, corruption, neige, visibilité des parcelles |
un .layer par région | les objets posés : décors, montagnes, eau |
Retenez que le projet est lié à la liste des régions de la carte : une région de plus, c'est une entité et un calque de plus. La moitié logique, elle (régions, sols, routes, villes), se fait dans CAIME (Campaign AI Map Editor), l'éditeur du Campaign Map Toolkit : le guide CAIME.
La taille des rasters se déduit du nombre d'hex§
Toutes les résolutions sont proportionnelles au nombre d'hex de la carte, celui de CAIME (relevé sur le projet de ChaosRobie et appliqué à notre carte). La dernière colonne donne l'exemple de notre carte, 400 × 440 hex.
| Couches | Pixels par hex | Exemple, 400 × 440 hex |
|---|---|---|
Height, HeightSea, BlendCampaign, ColorOverlay, ColorOverlaySea | 8 (plus 4 lignes) | 3200 × 3524 |
HeightShroud | 4 (plus 2 lignes) | 1600 × 1762 |
CampaignTree, CorruptionMask, SnowMask, et tile_map.png | 2 (plus 1 ligne) | 800 × 881 |
PatchVisibilityMask | une case par parcelle de p pixels de la carte de tuiles, p = plafond(plus grand côté / 128) | 114 × 125 |
Le calcul : 400 × 8 = 3200 pixels de large, 440 × 8 + 4 = 3524 de haut. Pour les parcelles, la carte de tuiles fait 800 × 881 : p = plafond(881 / 128) = 7, et l'on compte les parcelles entières (800 / 7 donne 114, 881 / 7 donne 125).
Campagne : conventions, ordre de BOB et limites§
Les conventions§
Elles ont été établies sur notre chantier et sur le projet de ChaosRobie ; CA ne les documente pas.
- Les rasters sont rangés du nord vers le sud ; les hauteurs sont en unités du monde, l'eau à 0.
- x pointe vers l'est, z vers le nord, et le monde est l'espace des hex. Terry étire les rasters de 2/√3 sur z : un point du monde (x, z) lit un raster à la ligne z × √3/2.
- La mer se déclare dans
tile_map.png(tuilesea, couleur 83, 141, 213), pas par la hauteur. Le fond marin doit être sous 0 partout, même sous la terre, sinon l'eau ne se dessine pas. - La surface de la mer est faite de grands plans d'eau posés comme objets, à la hauteur 0. Leur pivot doit être dans la carte, sinon BOB les écarte (« Failed to find valid quadtree node »).
- La côte se peint en types de côte : une bande d'un hex (
cliff_gen,sea_coast) le long de toute la mer. Chaque hex de la bande doit avoir une seule série d'un à trois voisins de mer, sinon « Failed to find tile » et un trou dans le rivage. Peignez-la par hex entiers : tracée au pixel près, elle nous a valu 148 « Failed to find tile » ; par hex, aucun. - Les routes : chaque hex de route est un bloc plein de 2 × 2 pixels de
tile_map.png; un tracé aminci laisse des trous.
- Les rivières : Warhammer III n'a presque plus de tuiles de rivière. Ses rivières sont des maillages posés comme objets, ou des chenaux de mer bordés de côte.
- Partir de CAIME : le guide CAIME fait exporter
tile_map.pngpar CAIME (Tools → Export → Baseline Tilemap) pour le projet Terry. Réserve : nous ne l'avons pas essayé (chez nous,tile_map.pngest écrit par script) ; la documentation de CAIME se contredit sur ce que l'image contient ; et si elle porte des rivières, elles demanderont des tuiles de rivière, que Warhammer III n'a presque plus. Comptez les « Failed to find tile » après le premier passage. - Ce qui manque au kit (la base des tuiles de campagne
terrain/, avec la légende des couleurs detiles/ campaign/ _tile_database tile_map.png; les éclairages ; les matériaux de la mer) s'extrait des packs du jeu avec RPFM.
L'ordre des passages§
Le tutoriel de tw-modding sur les cartes de campagne donne cet ordre ; le détail, qui fait foi, est dans le guide BOB :
- Le relief d'abord : les étapes suivantes en dépendent et le lisent dans votre pack. Mettez-le dans votre pack, dans
datadu jeu, puis fermez et rouvrez BOB. - La tile map : de nouveau dans le pack, puis fermez et rouvrez BOB.
- La global tile map (routes et falaises).
global_props.bin, les objets posés : à refaire chaque fois qu'une région est ajoutée ou retirée (BOB lit alors lemap.hexde CAIME) ; jusqu'à dix minutes sur une grande carte, selon le tutoriel.
Depuis Terry, chaque Process with BOB démarre un nouveau BOB. Après chaque passage, lisez bob_warnings.log, dans assembly_kit/, et comptez les « Failed to find tile » : chacun est un trou dans le terrain. Vérifiez aussi bob.log : sa première ligne annonce le nombre d'actions choisies (N action(s) were selected for execution.), et chaque action terminée a sa ligne (STATUS: Finished) ; combien en attendre : voir les limites, ci-dessous. Enfin, regardez dans working_data/ : le relief compilé (full_height_map.dds), tile_list.bin et global_props.bin.
Les limites connues§
- Six actions sur quinze. Un passage complet sur un terrain de campagne compte 15 actions (chez nous, environ une minute une fois le relief compressé, 25 minutes la première fois). Pour une carte que la base du jeu (celle des packs de CA) ne connaît pas, BOB n'en lance que 6, sans message ; l'ajouter à la base du kit ou à un pack de mod n'y change rien. Nous ne connaissons pas de voie officielle pour lever cette limite : faites un témoin, puis demandez à la communauté. Un témoin, c'est un projet connu pour bon, copié sous un autre nom : s'il s'arrête aussi à 6 actions, votre projet n'est pas en cause.
- « Generate Camera Height Map » fait planter BOB (le tutoriel signale aussi ce plantage). La carte de hauteur de la caméra (
camera_heightmap.png), le tutoriel l'approche à partir du relief, mis à l'échelle ; le masque de corruption se peint à la main ou par script (chez nous, par script). - Tant qu'aucun terrain compilé n'existe, Terry plante en ouvrant le projet en 3D : décochez 3D View dans la boîte d'ouverture (Open…).
- Une campagne a deux terrains : le sien, et un terrain de bataille déclaré par sa zone jouable de campagne (colonne
terrain_folder, dossierterrain/). Sans lui, le jeu plante à la première bataille terrestre, même entre deux IA, donc souvent dès la première fin de tour. C'est une tile map de bataille, que BOB compile comme telle ; celle de CA porte aussi des lieux de bataille et des cartes de captage.battles/ <dossier>/
Le récit complet d'un portage, avec ses murs : le tutoriel du portage.
Les pièges de Terry§
D'abord le verrou de working_data, en quatre cas :
- Terry ouvert verrouille
working_data, et notamment les packs qu'on y pose. Avant de lancer BOB depuis sa fenêtre, ou d'enregistrer un pack dansworking_data, fermez Terry et le jeu ; Process with BOB, lancé depuis Terry, n'est pas concerné. - Tweak et Terry fermés pendant les exports de CAIME : pendant les exports Map Data et Dynamic Resources de CAIME, Tweak et Terry doivent être fermés (Terry est un mode de Tweak). Ne comptez pas sur l'alerte de CAIME : elle cherche un programme nommé
Tweak.AssemblyKit, alors que celui du kit de Warhammer III s'appelletweak.modder.x64.exe. - L'aperçu n'est pas le jeu : toutes les variantes de culture s'affichent à la fois ; les décalques sont des sphères blanches ; les forêts de la carte des arbres ne s'affichent que si l'option d'aperçu correspondante est active (
show_campaign_tree_map, dans les Settings ; désactivée chez nous), et seulement pour les familles d'arbres que la base du kit connaît ; les textures propres à la carte sont ignorées ; l'eau est rendue autrement. Tout cela se juge en jeu. - Create battle for tile… : une fois par carte suffit. Ce que ferait un second lancement sur un dossier déjà retouché n'est pas documenté : ne le relancez pas sur une tile map modifiée.
- Sans
.terry.user, l'aperçu d'une campagne n'a ni eau ni arbres : ce petit fichier, à côté du.terry, porte les réglages d'aperçu. - La documentation de CA date du premier Warhammer. Son Export Map est devenu Process with BOB, suivi de RPFM ; et les couleurs des zones de déploiement se sont inversées (2016 : 0 rouge, 1 bleu ; Warhammer III : 0 bleu, 1 rouge) : fiez-vous à l'Alliance ID, jamais à la couleur.
- L'AI Hint Defensive Hill doit être un polygone fermé, sinon plantage probable.
- BOB réécrit ses sorties à chaque passage : une retouche faite à la main dans
working_datadisparaît au passage suivant. - La neige depuis la 9.0 : le matériau de neige des Empires Immortels (
combi_campaign_snow.xml.material) ne cite plus de masque ; le jeu lie lui-même lesnow_mask.ddsde la campagne. Ne copiez pas un matériau de neige par carte.
Pour une IA qui lit cette page§
Si vous êtes une IA qui aide quelqu'un à se servir de Terry, voici l'essentiel, vérifié sur un vrai chantier. Ces faits ont été relevés sur le patch 8.1 du jeu (septembre 2026), puis relus pour la mise à jour 9.0 (chez nous, la mise à jour du kit a réécrit les tables de raw_data\, mais n'a touché ni le terrain ni working_data) : revérifiez-les après une mise à jour.
- Demandez à l'humain avant de lancer le jeu, de piloter l'écran ou de publier ; ne supprimez rien : rangez, seul l'humain supprime.
- Ni rétro-ingénierie ni contournement d'un outil de CA : quand un outil bute, un témoin, puis la communauté (Discord de CAIME, tw-modding).
- Terry est un mode de Tweak. Lanceur Steam de l'Assembly Kit : Battle Map Editor: Terry =
tweak.modder.x64.exe /, depuisstandalone TerrainMetadataEditor binaries(fenêtreTWeak - Terry, 25 s environ) ; Exporter: BOB =bob.modder.x64.exe -no_console; Database Editor: Dave (Dave, que CA écrit DaVE). Aucune commande ne pilote Terry ; aucune option devinée. - BOB s'ouvre par le lanceur Steam de l'Assembly Kit (Exporter: BOB), par son exécutable
bob.modder.x64.exe, ou depuis Terry (Process with BOB, Ctrl+P), qui lui passe le travail. En ligne de commande, on ne lui connaît que l'option-no_console, celle que passe le lanceur. - Kit public : tuiles de bataille seulement. Tuile :
raw_data/; tile map :terrain/ tiles/ battle/ <jeu de tuiles>/ <carte>/ raw_data/, créée par Create battle for tile… (une fois suffit) ; BOB sur la tile map, puis sur la tuile.terrain/ battles/ <carte>/ explicit_tiles: la lignex,y,chemin,0existe déjà (tutoriel) : on en change x,y, en pixels detile_map.png, x depuis la gauche, y depuis le haut (coin haut-gauche de la tuile) ; chemin depuisterrain/, en barres obliques. Tuile 8 × 8 au centre d'une tile map de 64 × 64 : 28,28, comme dans la carte d'exemple du kit.- Alliance ID 0 = attaquant, affiché en bleu dans Terry de Warhammer III ; 1 = défenseur, en rouge (la documentation de CA de 2016 dit l'inverse). Se fier au numéro, jamais à la couleur.
battles_tables: copier une ligne du jeu, Paste as New Row, changer d'abord la clé ; fichier de table jamais nommédata__.specification=terrain/;battles/ <carte>/ battle_environment= un.environment_groupdeweather/; image debattle/ screenshot_pathau format 3:1 ; textebattles_localised_name_<key>.- Journaux de Terry :
working_data/; autosauvegardes dansTerry/ local/ terry_error_log.txt working_data/(toutes les 15 minutes sur notre installation, réglage dansTerry/ local/ autosave/ settings.xml). - Campagne : projet à créer dans
raw_data/(terrain/ campaigns/ <carte>/ .terryversion 27, une entité par région). La recetterules.bobest dans le dossier parent,raw_data/; celui du dossier de la carte ne fait que recopier (terrain/ campaigns/ rules.bob [Copy],[+AssetGraph]). - Rasters : 8 px par hex (+ 4 lignes),
HeightShroud4 (+ 2), arbres, corruption, neige ettile_map.png2 (+ 1).PatchVisibilityMask: une case par parcelle de p pixels de la carte de tuiles, p = plafond(plus grand côté / 128), soit (largeur // p) × (hauteur // p) cases. - Mer déclarée dans
tile_map.png(sea, 83, 141, 213), fond sous 0 partout ; côte en bande d'un hex ; routes en blocs de 2 × 2 pixels (conventions établies sur notre chantier et le projet de ChaosRobie). - Ordre des passages de campagne : le relief, le mettre dans le pack (dans
datadu jeu), fermer et rouvrir BOB ; la tile map, dans le pack, fermer et rouvrir BOB ; la global tile map ;global_props.bin, à refaire à chaque région ajoutée ou retirée (il lit lemap.hex). Le tutoriel dit restart : on ferme BOB et on le rouvre, on ne « relance » pas un passage. - Un passage complet sur un terrain de campagne compte 15 actions. Pour une carte que la base du jeu (celle des packs de CA) ne connaît pas, BOB n'en lance que 6, sans message ; l'ajouter à la base du kit ou à un pack de mod n'y change rien. Aucune voie officielle connue : un témoin, puis la communauté. Ne promettez jamais 15 actions pour une carte neuve.
- Avant de lancer BOB depuis sa fenêtre, ou d'enregistrer un pack dans
working_data, fermer Terry et le jeu ; Tweak et Terry fermés pendant les exports Map Data et Dynamic Resources de CAIME. Lirebinaries/etbob.log binaries/. Juger en jeu, pas dans l'aperçu.bob_warnings.log - Détails : BOB, RPFM, CAIME, les outils du moddeur, modder avec une IA.
Sources et liens§
- Wiki de Creative Assembly, pages écrites pour le kit du premier Total War: WARHAMMER (certains libellés ont changé depuis) : Terry, introduction, sommaire de Terry, interface, raccourcis, prise en main rapide, dont zones, se déplacer, peindre et enregistrer, et Rules.bob.
- Wiki tw-modding : Map Making for WH3 (WakaWaka300), Campaign Map Making for Warhammer III, Custom Campaign Settlement Skins (partie Warhammer III, ChaosRobie), RPFM For Dummies, et, pour Warhammer II, Land Battle Maps et Custom Vistas.
- Les fichiers de l'Assembly Kit de Warhammer III, relus en lecture seule : les réglages et les raccourcis de Terry (
settings.xml,keyboard.xml,status_tooltips.xml,entity_configuration.xml), lesrules.bobdu kit, la carte d'exemple, la tablebattles(battles.xml). - Le projet Terry de campagne d'Immortal Empires Expanded, partagé par ChaosRobie, et notre propre chantier.
- Nos autres guides : BOB, RPFM, CAIME, les outils du moddeur, modder avec une IA ; et l'atelier des moddeurs.
Questions fréquentes
Terry peut-il éditer une carte de campagne ?
Il sait ouvrir un projet de type campagne, mais le kit public n'en livre aucun, ni aucune donnée de terrain de campagne : il faut en reconstituer un, sur le modèle de celui que ChaosRobie a partagé pour Immortal Empires Expanded.
Comment ouvrir Terry ?
Par le lanceur de l'Assembly Kit dans Steam (Play Battle Map Editor: Terry, qui lance la commande ci-après), par Tweak (Plugins → Terry), ou par la commande tweak.modder.x64.exe /, depuis le dossier binaries du kit. N'essayez pas d'autres options.
Peut-on piloter Terry en ligne de commande ?
Non : on peut seulement l'ouvrir. Tout le reste se fait dans sa fenêtre, au clavier et à la souris ; BOB se lance depuis Terry par File → Process with BOB.
Alliance ID 0 ou 1 : qui attaque ?
0 est l'attaquant, 1 le défenseur. Dans Terry de Warhammer III, 0 s'affiche en bleu et 1 en rouge ; la documentation de CA de 2016 donnait l'inverse. Fiez-vous au numéro, jamais à la couleur.
Pourquoi ma carte n'apparaît-elle pas en bataille personnalisée ?
Vérifiez que le pack est dans le dossier data du jeu et activé dans le lanceur, qu'il contient les fichiers compilés de la tile map et de la tuile, que la specification de battles_tables désigne le dossier de la tile map (terrain/ avec la barre finale, comme le tutoriel ; si vous avez copié une ligne de CA, gardez sa forme), et que le texte battles_localised_name_<key> et l'image existent.
Pourquoi Terry ne montre-t-il pas ma carte comme le jeu ?
Son aperçu n'est pas le jeu : toutes les variantes de culture à la fois, des sphères blanches à la place des décalques, pas les textures propres à la carte, une eau rendue autrement. Les forêts de la carte des arbres ne s'affichent que si l'option show_campaign_tree_map est active dans les Settings, et seulement pour les familles d'arbres que la base du kit connaît. La fidélité se juge en jeu.
Pourquoi BOB ne compile-t-il qu'une partie du terrain de ma carte de campagne neuve ?
Un passage complet sur un terrain de campagne compte 15 actions (chez nous, environ une minute une fois le relief compressé, 25 minutes la première fois). Pour une carte que la base du jeu (celle des packs de CA) ne connaît pas, BOB n'en lance que 6, sans message ; l'ajouter à la base du kit ou à un pack de mod n'y change rien. Nous ne connaissons pas de voie officielle pour lever cette limite : faites un témoin, puis demandez à la communauté.
Terry plante à l'ouverture de mon projet de campagne : que faire ?
Tant qu'aucun terrain compilé n'existe pour cette carte, Terry plante en l'ouvrant en 3D : décochez 3D View dans la boîte d'ouverture (Open…).
Faut-il fermer Terry avant de lancer BOB ?
Avant de lancer BOB depuis sa fenêtre, ou d'enregistrer un pack dans working_data, fermez Terry et le jeu : Terry ouvert verrouille working_data. Process with BOB, lancé depuis Terry, n'est pas concerné.
Terry a planté : où regarder ?
Dans le dossier working_data/ du kit : terry_error_log.txt, où Terry note ses erreurs, et le dossier autosave, où il range ses autosauvegardes (toutes les 15 minutes sur notre installation ; le délai se règle dans les Settings). Enregistrez souvent : CA prévient que Terry plante parfois.
Ma tuile n'apparaît pas dans la tile map : que vérifier ?
La ligne de explicit_tiles : x,y en pixels de tile_map.png, x depuis la gauche, y depuis le haut, au coin haut-gauche du carré noir de la vista ; un chemin qui part de terrain/, en barres obliques, jusqu'au dossier de la tuile ; le 0 final. Puis lancez Process with BOB sur la tile map et rechargez-la dans Terry, comme le demande le tutoriel. Lisez enfin bob_warnings.log, dans le dossier binaries du kit.
Les armées se déploient au mauvais endroit : pourquoi ?
Vérifiez l'Alliance ID des deux zones de déploiement : 0 pour l'attaquant, 1 pour le défenseur, quelle que soit leur couleur. Chaque zone a sa Deployment Zone Region additive, Zone ID à 0. Puis refaites le passage de BOB sur la tuile et remettez ses fichiers dans le pack.
Où trouver une vista ?
Le kit de Warhammer III n'en livre pas. Le tutoriel de tw-modding pour Warhammer III en fournit, tirées de Warhammer II ; la page Custom Vistas du même wiki, écrite pour Warhammer II, explique comment en faire une à partir de celles du kit de Warhammer II (raw_data/). D'une vista, vous reprenez tile_map.png et climate_map.png, que vous posez dans le dossier de votre tile map.
Ce guide en texte brut (Markdown), pour les IA et la lecture hors ligne
Ce guide est communautaire
Une erreur, un piège vécu, une astuce ou un outil plus récent : dites-le, et chaque correction sera vérifiée, puis ajoutée avec sa source.
Proposer une idée