X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • Manipuler un peu les villes personnalisées (dont changer les villes en bataille personnalisée)

    Aujourd'hui je vais tenter de vous expliquer quelque chose d'assez simple sur Medieval II Total War, mais cependant très peu connu. Il s'agit de l'art délicat de changer les villes en bataille et en campagne. Je ne parle pas de créer des villes, mais juste de savoir comment les utiliser, et les implémenter dans un mod.

    Pour ce tutoriel vous aurez besoin d'IWTE

    L'assignation des modèles de villes dans Medieval II Total War

    Une ville est divisée en deux parties : le modèle sur la carte de campagne (que j’appellerai par la suite le stratmodel), et le modèle sur la carte de bataille (que j'appellerai battlemodel).

    Chaque ville est assignée à un modèle selon l'ordre de priorité suivant (et en fonction des niveaux) :

    modèle assigné à la faction en question > modèle assigné à la culture en question

    Cependant là-dessus se rajoute une fonctionnalité un peu oubliée, et cependant extrêmement utile, il s'agit du settlement_plan, qui permet d'avoir des branches de villes complètement indépendantes. On se retrouve donc avec l'ordre de priorité suivant :

    modèle du settlement_plan par culture > modèle du settlement plan général > modèle générique assigné à la faction en question > modèle générique assigné à la culture en question

    Les villes chargées en batailles personnalisées seront alors les villes génériques des cultures.


    Assigner un modèle de carte de bataille à une ville :

    C'est, je pense, le plus simple des deux, à condition de savoir comment faire. Il faut pour cela savoir que les modèles sont assignés à des types de villes (c'est-à-dire culture, faction, plan set et niveau de la ville) via des fichiers worldpkgdesc que l'on ouvre avec ITWE, via l'option Edit Worldpackage. Ils se trouvent dans le dossier data/settlements et ses sous-dossiers.

    Les modèles sont eux gérés par les fichiers.world, dans le même dossier.

    Regardons maintenant un de ces fichiers ouverts :



    On a alors plusieurs options :
    • Name : on peut mettre ce que l'on veut, ça ne change rien.
    • Pkg Group : il faut toujours mettre settlements.
    • Pkg Path : indique le fichier world, donc le modèle correspondant.
    • Category et size : je ne sais pas trop à quoi ça sert, laisser en unused.
    • Type : indique le type de la cité (château, forteresse, citadelle, ... voir l'annexe à la fin de la partie).
    • Variant : indique le settlement_plan de la ville en question. Si non utilisé, mettre unused.
    • Culture : indique la culture associé à la ville en question. Si la ville est associée à une faction, il faut alors mettre la culture de la faction.
    • Faction : Associe le modèle à une faction, mettre en none si non assigné.
    • Environnement : laisser en generic.
    • Fortification_level : laisser en unused.


    L'ordre de type de settlements est :
    • Pour la branche des châteaux : wooden_castle, stone_keep, castle, large_castle, fortress
    • Pour la branche des villes : village, town, large_town, city, large_city, huge_city


    Spoiler:

    L'allocation des modèles de la carte de campagne

    Les modèles de la carte de campagne sont dans les fichiers cas, et le plus souvent stockés dans le dossier model_strat.
    Le fonctionnement de cette partie est un peu différent, et je la trouve plus complexe que la précédente. En effet, avant on liait un modèle à des sortes de coordonnées (niveau de ville, culture, faction et settlement plan). Ici, on fait l'inverse : on lie ces coordonnées à un modèle. Pour cela, notre principal outil sera le descr_cultur.txt, qui se trouve dans le dossier data.

    Ouvrez le (faites-le avec Notepad++, bloc-note risque de faire ensuite planter le jeu, c'est déjà arrivé), vous devriez alors avoir ça :

    Code:
    culture            southern_european
    portrait_mapping    southern_european
    rebel_standard_index    0
    {
    village
    {
        normal        data/models_strat/residences/southern_european_village.CAS,            settlement_eastern_level_1
        card        data/ui/southern_european/cities/graeco-roman_village.tga
    }
    moot_and_bailey
    {
        normal        data/models_strat/residences/southern_european_wooden_castle.CAS,        settlement_eastern_level_1
        card        data/ui/southern_european/cities/graeco-roman_village.tga
    }
    town
    {
        normal        data/models_strat/residences/southern_european_town.CAS,            settlement_eastern_level_2
        card        data/ui/southern_european/cities/graeco-roman_town.tga
    }
    wooden_castle
    {
        normal        data/models_strat/residences/southern_european_stone_keep.CAS,            settlement_eastern_level_2
        card        data/ui/southern_european/cities/graeco-roman_town.tga
    }
    large_town
    {
        normal        data/models_strat/residences/southern_european_large_town.CAS,            settlement_eastern_level_3
        card        data/ui/southern_european/cities/graeco-roman_large_town.tga
    }
    castle
    {
        normal        data/models_strat/residences/southern_european_castle.CAS,            settlement_eastern_level_3
        card        data/ui/southern_european/cities/graeco-roman_large_town.tga
    }
    city
    {
        normal        data/models_strat/residences/southern_european_city.CAS,            settlement_eastern_level_4
        card        data/ui/southern_european/cities/graeco-roman_city.tga
    }
    large_city
    {
        normal        data/models_strat/residences/southern_european_large_city.CAS,            settlement_eastern_level_5
        card        data/ui/southern_european/cities/graeco-roman_large_city.tga
    }
    citadel
    {
        normal        data/models_strat/residences/southern_european_fortress.CAS,            settlement_eastern_level_5
        card        data/ui/southern_european/cities/graeco-roman_large_city.tga
    }
    huge_city
    {
        normal        data/models_strat/residences/southern_european_huge_city.CAS,            settlement_eastern_level_6
        card        data/ui/southern_european/cities/graeco-roman_huge_city.tga
    }
    }
    Déjà on peut se dire, mais c'est du RTW, mais on est bien sur du med 2, c'est juste que les deux jeux sont très semblables en terme de code,et qu'il y a donc beaucoup de reste de RTW dans Medieval II Total War. Enfin bref, analysons cette entrée :

    Code:
    culture            southern_european
    portrait_mapping    southern_european
    rebel_standard_index    0
    Indique la culture concernée, n'y touchez pas.

    Ce qui nous intéresse, ce sont les entrées comme celle-ci :
    Code:
    huge_city
    {
        normal        data/models_strat/residences/southern_european_huge_city.CAS,            settlement_eastern_level_6
        card        data/ui/southern_european/cities/graeco-roman_huge_city.tga
    }
    Avant le crochet, vous trouverez le niveau de la ville en question.
    Après le normal, il s'agit du lien vers le modèle de la ville. Ce qui est intéréssant ici, c'est le terme après la virgule, par exemple : settlement_eastern_level_6

    Le settlement semble indiquer le type d'objet présent, on y touchera donc pas.
    Le eastern (reste probable de RTW) indique, je pense, le plan utilisé par défaut.
    • [*=1]Le eastern semble indiquer que l'on utilisera le modèle par défaut
      [*=1] Si vous voulez utiliser un settlement_plan personnalisé, il vous faut donc remplace le eastern par le plan de la ville considérée, par exemple ça peut donner : settlement_minas_tirith_level_6

    Le level_6 est quand à lui lié au niveau de la ville, n'y touchez pas.

    Une entrée personnalisée du descr_culture peut donc alors donner ça :

    Code:
    culture                 gondor
    portrait_mapping        gondor
    rebel_standard_index    7
    {
    village
    {
            normal          data/models_strat/residences/gondor_village.CAS,                        settlement_eastern_level_1
            card            data/ui/southern_european/cities/graeco-roman_village.tga
    }
    moot_and_bailey
    {
            normal          data/models_strat/residences/gondor_wooden_castle.CAS,          settlement_eastern_level_1
            card            data/ui/southern_european/cities/graeco-roman_village.tga
    }
    town
    {
            normal          data/models_strat/residences/gondor_town.CAS,                   settlement_eastern_level_2
            card            data/ui/southern_european/cities/graeco-roman_town.tga
    }
    wooden_castle
    {
            normal          data/models_strat/residences/gondor_stone_keep.CAS,                     settlement_eastern_level_2
            card            data/ui/southern_european/cities/graeco-roman_town.tga
    }
    large_town
    {
            normal          data/models_strat/residences/gondor_large_town.CAS,                     settlement_eastern_level_3
            card            data/ui/southern_european/cities/graeco-roman_large_town.tga
    }
    castle
    {
            normal          data/models_strat/residences/gondor_castle.CAS,                 settlement_eastern_level_3
            card            data/ui/southern_european/cities/graeco-roman_large_town.tga
    }
    city
    {
            normal          data/models_strat/residences/gondor_city.CAS,                   settlement_eastern_level_4
            card            data/ui/southern_european/cities/graeco-roman_city.tga
    }
    fortress
    {
            normal          data/models_strat/residences/gondor_large_castle.CAS,           settlement_eastern_level_4
            card            data/ui/southern_european/cities/graeco-roman_city.tga
    }
    large_city
    {
            normal          data/models_strat/residences/gondor_large_city.CAS,                     settlement_eastern_level_5
            card            data/ui/southern_european/cities/graeco-roman_large_city.tga
    }
    citadel
    {
            normal          data/models_strat/residences/gondor_fortress.cas,                               settlement_eastern_level_5
            card            data/ui/southern_european/cities/graeco-roman_large_city.tga
    }
    huge_city
    {
            normal          data/models_strat/residences/gondor_huge_city.cas,                              settlement_eastern_level_6
            card            data/ui/southern_european/cities/graeco-roman_huge_city.tga
    }
    huge_city
    {
            normal          data/models_strat/residences/minas_tirith.cas,                                  settlement_minas_tirith_level_6
            card            data/ui/southern_european/cities/graeco-roman_huge_city.tga
    }
    large_city
    {
            normal          data/models_strat/residences/edoras.cas,                        settlement_pelargir_level_5
            card            data/ui/southern_european/cities/graeco-roman_large_city.tga
    }
    }
    fort                    data/models_strat/residences/symbol.CAS,                                fort_barbarian
    fort_cost               500
    fort_wall               data/models_strat/residences/symbol.CAS
    fishing_village         data/models_strat/residences/NE_port_villiage.CAS,                              port_barbarian_level_1
    port_land               data/models_strat/residences/NE_port_02_buildings.CAS,                          port_barbarian_level_2
    port_sea                data/models_strat/residences/NE_port_02_wall.CAS
    port_land               data/models_strat/residences/NE_port_03_buildings.CAS,                          port_barbarian_level_3
    port_sea                data/models_strat/residences/NE_port_03_wall.CAS
    port_land               data/models_strat/residences/NE_port_04_buildings.CAS,                          port_barbarian_level_4
    port_sea                data/models_strat/residences/NE_port_04_wall.CAS
    watchtower              data/models_strat/residences/GE_watchtower.CAS,                                 watchtower_barbarian
    watchtower_cost         10
    spy                     spy.tga                 spy_info.tga                    spy.tga         350     1       1
    assassin                assassin.tga            assassin_info.tga               assassin.tga    500     1       1
    diplomat                diplomat.tga            diplomat_info.tga               diplomat.tga    250     1       1
    admiral                 admiral.tga             admiral_info.tga                admiral.tga     100     1       1
    merchant                merchant.tga            merchant_info.tga               merchant.tga    550     1       1
    priest                  priest.tga              priest_info.tga priest.tga 200     1       1
    Vous avez donc ainsi assigné à chaque culture des modèles de ville par défaut. Pour l'assignation aux factions, je préfère faire quelques tests un peu plus complets avant de juger.


    Détermination des caractéristiques d'une ville (c'est à dire son plan, sa culture, sa faction...) par le jeu

    En bataille personnalisée :

    C'est probablement le plus simple, puisqu'en effet lors du choix de la ville, on précise le niveau de la ville, et sa culture, le jeu prendra donc la ville de la culture correspondante et du niveau correspondant.

    En campagne :

    Le niveau de la ville (ou du château), est déterminé par le niveau du mur, jusque là rien de bien étonnant
    la faction de la ville est déterminée, non par la faction qui possède la ville, mais par la derrière faction a avoir améliorée la ville.
    Le settlement_plan est lui précisé au départ dans le descr_strat. Regardons donc une entrée de ville dans le descr_strat :
    Code:
    settlement castle
    {
    	level large_city
    	region Nan-Curunir_Province
    
    	year_founded 0
    	population 1449
    	plan_set default_set
    	faction_creator denmark
    	building
    	{
    		type hinterland_info_building6 info_Nan-Curunir
    	}
    	building
    	{
    		type core_castle_building citadel
    	}
    	building
    	{
    		type hinterland_unique1 orthanc
    	}
    	building
    	{
    		type hinterland_palantir orthanc_palantir
    	}
    	building
    	{
    		type temple_catholic_castle chapel
    	}
    	building
    	{
    		type castle_barracks garrison_quarters
    	}
    	building
    	{
    		type missiles bowyer
    	}
    	building
    	{
    		type hinterland_castle_mines c_mines
    	}
    	building
    	{
    		type castle_smith c_leather_tanner
    	}
    	building
    	{
    		type hinterland_farms farms
    	}
    	building
    	{
    		type hinterland_castle_roads c_roads
    	}
    }
    Ce qui nous intéresse ici se sont les deux lignes en rouge.
    • La première indique le plan de la ville en question, il suffit juste de changer le default_set par le plan en question
    • La seconde indique quelle faction a créé la ville, c'est à dire quelle faction est considérée comme la dernière à avoir amélioré cette ville


    Comme vous le voyez donc, cette assignation est très simple, et ceci vous permet donc de modifier à votre guise l'emplacement des cités personnalisées, notamment en bataille personnalisée
    Si vous avez des questions, n'hésitez pas
    Dernière modification par Arandir Tur-Anion, 13-01-2015, 18h02.

  • #2
    Fini, lisez bien

    Commentaire

    Chargement...
    X