Cold Waters – Créer une nouvelle unité

  • Cold Waters
  • 736
  • 0
  • Il est très facile d’ajouter des unités à Cold Waters. Si vous avez des idées ou des envies de créer votre propre sous-marin ou votre propre navire, nous allons voir comment procéder. Sachez tout de même, que temps que les fichiers de textures ne seront pas ouvertes, il y aura des restrictions à ce niveau. Mais le choix est large pour trouver le modèle adéquat. C’est ce que j’ai fait pour l’Akula III Gepard. Tous les fichiers nécessaires à la création d’une unité sont déjà disponibles dans le jeu. Il faut simplement chercher dans le dossier default quand l’arborescence vous indique override. Par exemple, pour importer la liste des unités il faudra chercher dans :

     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> default
                         []-> vessels
                               |-> _vessel_list.txt

    Si des fichiers du même nom modifiant le jeu sont déjà présents dans le dossier override, alors il faudra importer ces derniers et non ceux du répertoire default. Pour plus d’infos sur les mods dans Cold Waters, rendez-vous à http://games.alex-box.net/cold-waters-modifier-le-jeu/

    Note : les dossiers sont représentés par des crochets []-> et les fichiers par des barres verticales |->

    D’abord, nous allons créer l’arborescence pour que notre nouvelle unité soit installable avec JSGME.

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
    

    Tout ce que nous allons créer maintenant se trouvera dans le dossier override.

    Ajout de l’unité à la liste existante

    Cette liste est dans un fichier nommé _vessel_list.txt qui lui même est dans le dossier vessels. Nous allons donc copier ce fichier et le placer dans notre mod après avoir pris soin d’y créer un dossier vessels. Si ce fichier existe déjà dans override/vessels/, importez celui-ci.

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
                         []-> vessels
                               |-> _vessel_list.txt

    Dans ce fichier donc, ajoutez le nom de votre unité en vous arrangeant pour qu’il ait un nom unique (ici avec le préfixe « j_ » (comme jouable). L’emplacement dans la liste influe directement sur l’ordre dans le jeu :

    j_ssn_akula3 // => Le nom de l'unité que je vais créer
    usn_ssn_los_angeles_688i
    usn_ssn_los_angeles
    usn_ssn_narwhal
    [...]
    
    

    Importer les paramètres de l’unité

    Dans le même répertoire (vessels), importons les paramètres de l’unité. Le plus facile est de prendre une unité aux caractéristiques proches, puis de les modifier ensuite. Notez que pour l’unité soit jouable, il faudra ajouter des paramètres (A voir impérativement plus bas dans cet article). Ensuite renommer le fichier avec le nom donné à votre unité dans la liste créée ci-dessus. Notre mod ressemble maintenant à cela :

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
                         []-> vessels
                               |-> _vessel_list.txt
                               |-> j_ssn_akula3.txt

    Pour le moment, nous importons les fichiers. Ensuite nous modifierons les paramètres…

    Toujours dans le dossier vessels, créons deux dossiers nommés profile et signature.

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
                         []-> vessels
                               |-> _vessel_list.txt
                               |-> j_ssn_akula3.txt
                               []-> profile
                               []-> signature

    D’abord importez l’image représentant la signature acoustique de votre nouvelle unité dans le dossier signature. La modification de cette image est simple avec éditeur d’image (Photofiltre p.e.)  et conseillée pour avoir une signature unique de votre nouvelle unité. Cette image doit être sous forme PNG et avoir le même nom donné à votre unité (dans la liste) suivi du suffixe « _sig »  . Notre mod :

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
                         []-> vessels
                               |-> _vessel_list.txt
                               |-> j_ssn_akula3.txt
                               []-> profile
                               []-> signature
                                  |-> j_ssn_akula3_sig.png

    Dans le dossier profile, nous importons l’image du profile de notre unité, celle qui figurera dans le manuel d’identification. Cette image doit correspondre à l’unité de laquelle est dérivée la vôtre. Par exemple, pour l’Akula III, je me suis inspiré du Victor II. J’ai donc pris son image de profile, l’ai importé dans le dossier profile puis l’ai renommé avec le nom donné dans la liste suivi du suffixe « _profile » .

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
                         []-> vessels
                               |-> _vessel_list.txt
                               |-> j_ssn_akula3.txt
                               []-> profile
                                      |-> j_ssn_akula3_profile.png
                               []-> signature
                                  |-> j_ssn_akula3_sig.png

    Pour finir, créons le fichier qui accueillera la description de notre nouvelle unité. Créons d’abord un dossier language_en, puis dans ce dossier, un autre nommé vessel et pour finir le fichier de description portant le nom de notre unité suivi du suffixe « _description » . L’état de notre mod :

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
                         []-> vessels
                               |-> _vessel_list.txt
                               |-> j_ssn_akula3.txt
                               []-> profile
                                      |-> j_ssn_akula3_profile.png
                               []-> signature
                                  |-> j_ssn_akula3_sig.png
                 [] -> language_en
                          []-> vessel
                                  |-> j_ssn_akula3_description.txt

    Dans ce fichier, vous pouvez y mettre ce que vous voulez, il faudra simplement respecter les balises suivantes (en gras) :

    [Unit Reference]
    ShipClass=Akula III // Le nom de votre unité
    Description=Classe Akula III Gepard - SSN K-335.
    History=Le Gepard - K-335 est le seul sous-marin de classe Akula III ayant été achevé. Il est plus imposant l'Akula II. Les dernières technologies ont été utilisées par la réduction de son bruit. Le Gepard est le sous-marin russe le plus avancé avant que les sous-marins des classes Severodvinsk et Borei ne soient mis en service.
    
    [Player Ship Instances]
    PlayerClassNames=Gepard // La liste des noms possibles pour les sous-marins de cette classe
    
    PlayerClassHullNumbers=K-335 // Numéros séparés par des virgules, 
                                 // et en directe correspondance avec la liste ci-dessus.
    
    // exemple :
    //[Player Ship Instances]
    //PlayerClassNames=Gepard, Cougar, Tigre
    
    //PlayerClassHullNumbers=K-335, K-339, K-333

    Voilà, tous les fichiers sont importés. Modifions maintenant les données de notre nouvelle unité.

    Modifications des paramètres

    Ouvrez le fichier j_ssn_akula3.txt et modifiez les paramètres désirés. Ce n’est pas très difficile à comprendre. Notez tout de même les commentaires pour les parties importantes voir indispensables pour que l’unité soit jouable.

    Contenu du fichier j_ssn_akula3.txt
    Designation=SSN
    ShipType=SUBMARINE
    PlayerHUD=hud/russian  // Obligatoire pour que l'unité russe soit jouable
                           // le dossier hud est également à créer. Cf. mod Akula III joint
    
    Length=110
    Beam=9.70
    HullHeight=0.08
    Displacement=12770
    Crew=73
    Range=20000
    HullNumbers=FALSE
    
    [Movement]
    SurfaceSpeed=20
    SubmergedSpeed=33
    AccelerationRate=0.27
    DecelerationRate=0.08
    RudderTurnRate=0.75
    TurnRate=2.2
    PivotPointTurning=0.256
    DiveRate=5
    SurfaceRate=5
    BallastRate=0.25
    Waterline=0.0
    SubmergedAt=0.111
    CavitationParameters=20,-100
    PropRotationSpeed=-450,450,450
    TestDepth=1800
    EscapeDepth=600  // Conseillé pour jouer en campagne
    
    [Acoustics & Sensors]
    SelfNoise=115
    ActiveSonarReflection=25
    ActiveSonarModel=wp_shark_gill
    PassiveSonarModel=wp_shark_gill
    TowedArrayModel=wp_shark_tail
    AnechoicCoating=TRUE
    RADAR=wp_snoop_tray
    RADARSignature=SMALL
    
    [Weapon Systems]
    TorpedoTypes=wp_uset-80,wp_test-71,russian_moss,wp_ss-n-16
    TorpedoNumbers=15,0,5,5
    TorpedoTubes=6
    NumberOfWires=4
    TubeConfig=1,1,1,1,1,1
    TorpedoTubeSize=21
    TubeReloadTime=200
    
    NoisemakerName=wp_noisemaker
    NumberOfNoisemakers=20
    NoisemakerReloadTime=20
    
    // La partie Subsystem permet l'affichage de l'unité. Cette partie est indispensable.
    [Subsystems]
    LabelPosition=360364.3,28
    BOWSONAR=FRONT
    LabelPosition=59.9,193.2
    TOWED=REAR
    LabelPosition=409.7,193.3
    PERISCOPE=SAIL
    LabelPosition=409.7,151.4
    ESM_MAST=SAIL
    LabelPosition=409.7,171.9
    RADAR_MAST=SAIL
    LabelPosition=364.3,49.4
    TUBES=FORE,FRONT
    LabelPosition=229.6,193.2
    FIRECONTROL=FORE
    LabelPosition=229.6,172.2
    PUMPS=MID,AFT
    LabelPosition=59.9,27.7
    PROPULSION=AFT,REAR
    LabelPosition=59.9,172.2
    RUDDER=REAR
    LabelPosition=59.9,48.7
    PLANES=SAIL,REAR
    LabelPosition=190.8,49
    BALLAST=MID
    LabelPosition=190.8,28
    REACTOR=MID
    
    // La partie Flooding Display permet l'affichage quand l'unité est innodée. Cette partie est indispensable.
    [Flooding Display: x,width,ymin,ymax]
    FLOODING1=160,45,-77,-39
    FLOODING2=107,58,-77,-39
    FLOODING3=47,61,-77,-39
    FLOODING4=-23,74,-77,-39
    FLOODING5=-90,59,-76,-39
    DamageControlPartyY=-31
    
    [Model]
    ModelFile=ships/wp_ssn_victor2/wp_ssn_victor2 // L'Akuala III est dérivé du model du Victor II
    
    //Hull and Deck
    MeshPosition=0,0,0
    MeshRotation=0,0,0
    
    MeshHullCollider=wp_ssn_victor2_coll_hull
    MeshSuperstructureCollider=wp_ssn_victor2_coll_ss
    
    Material=ships/wp_ssn_victor1/wp_ssn_victor1_mat
    MaterialTextures=ships/wp_ssn_victor1/wp_ssn_victor_tx,ships/wp_ssn_victor1/wp_ssn_victor_spec,ships/wp_ssn_victor1/wp_ssn_victor_nm
    Mesh=wp_ssn_victor2
    MeshPosition=0,0,-0.645
    MeshRudder=wp_ssn_victor2_rudder
    MeshPosition=0,0.0723,0.40
    MeshBowPlanes=wp_ssn_victor2_bowplanes
    MeshPosition=0,0,-0.658
    MeshSternPlanes=wp_ssn_victor2_sternplanes
    MeshPosition=-0.0,0,-0.722
    MeshProp=wp_ssn_victor2_prop
    
    // Partie indispensable pour que l'unité soit contrôlable [1]
    Material=ships/materials/usn_masts
    MeshPosition=-0.0072,0.075,0.317
    MastHeight=0.085
    MeshMast=usn_ssn_los_angeles_periscope
    
    MeshPosition=0,0.075,0.3036
    MastHeight=0.085
    MeshMast=usn_ssn_los_angeles_esm_mast
    
    MeshPosition=-0.003,0.075,0.3487
    MastHeight=0.085
    MeshMast=usn_ssn_los_angeles_radar_mast
    // FIN [1]
    
    [Weapon Systems]
    //Torpedo Mounts
    
    //Tube 1
    MeshRotation=0,0,0
    MeshPosition=0.01,0.03,0.56
                          
    TorpedoSpawnPosition=0.01,0.03,0.56
    TorpedoEffectPosition=0,0,0.0232
    
    //Tube 2
    MeshRotation=0,0,0
    MeshPosition=-0.01,0.03,0.56
                          
    TorpedoSpawnPosition=-0.01,0.03,0.56
    TorpedoEffectPosition=0,0,0.0232
    
    //Tube 3
    MeshRotation=0,0,0
    MeshPosition=0.0087,0.0126,0.565
    TorpedoSpawnPosition=0.0087,0.0126,0.565
    TorpedoEffectPosition=0,0,0.0232
    
    //Tube 4
    MeshRotation=0,0,0
    MeshPosition=-0.0087,0.0126,0.565
    TorpedoSpawnPosition=-0.0087,0.0126,0.565
    TorpedoEffectPosition=0,0,0.0232
    
    //Tube 5
    MeshRotation=0,0,0
    MeshPosition=0.0275,0.0125,0.575
    TorpedoSpawnPosition=0.0275,0.0125,0.575
    TorpedoEffectPosition=0,0,0.0232
    
    //Tube 6
    MeshRotation=0,0,0
    MeshPosition=-0.0275,0.0125,0.575
    TorpedoSpawnPosition=-0.0275,0.0125,0.575
    TorpedoEffectPosition=0,0,0.0232
    
    //Noisemaker Mount
    MeshRotation=0,0,0
    MeshPosition=0,-0.056,-0.533
    MeshNoisemakerMount=FALSE
    
    //Wake
    MeshPosition=0,0,0
    BowWaveParticle=ships/particles/bowwave_sub
    PropWashParticle=ships/particles/bowwave_small
    CavitationParticle=ships/particles/wp_ssn_victor2_cavitation
    FunnelSmokeParticle=ships/particles/wp_ssn_victor2_bubbles
    EmergencyBlowParticle=ships/particles/wp_ssn_victor2_emergency_blow
    
    ParticleBowWavePosition=0,0,0.61
    ParticlePropWashPosition=0,-0.035,-0.58
    
    ParticleHullFoamPosition=0,0,0.45
    ParticleHullFoamParameters=10,0.25,0.25,0.055,0,0,0.25
    
    ParticleSternFoamPosition=0,0,-0.5
    ParticleSternFoamParameters=25,0.25,0.15,0.025,0.01,0,0.25
    KelvinWaves=1.9,1.9
    
    EngineAudioClip=audio/units/submarine_engine_1
    EngineAudioRollOff=LOGARITHMIC
    EngineAudioDistance=1,20
    EngineAudioPitchRange=0.4,1
    PropAudioClip=audio/units/submarine_propeller
    PropAudioRollOff=LOGARITHMIC
    PropAudioDistance=1,20
    PropAudioPitchRange=0.1,0.6
    PingAudioClip=audio/environment/sonar_ping_lf
    PingAudioRollOff=LOGARITHMIC
    PingAudioDistance=1,50
    PingAudioPitch=1

    [collapse]

    Supplément

    Pour terminer, si vous voulez que cette nouvelle unité apparaisse dans la campagne et dans les missions, qu’elle soit jouable ou contre vous, il faudra modifier les paramètres dans les fichiers suivants. Pour les campagnes :

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
                         []-> campaign
                                []-> campaign001
                                       |-> summary.txt // Ajoutez la nouvelle unité à OtherVessels= 
                                                          pour la rencontrer en campagne
                                      []-> missions
                                             |-> Dans chaque fichier, ajoutez la nouvelle unité dans 
                                                                      le paramètre EnemyShipClasses=
                                []-> campaign002
                                       |-> summary.txt // Ajoutez la nouvelle unité à OtherVessels= 
                                                          pour la rencontrer en campagne
                                      []-> missions
                                             |-> Dans chaque fichier, ajoutez la nouvelle unité dans 
                                                                      le paramètre EnemyShipClasses=
                                       
                                          

    Puis dans les fichiers pour les missions solos modifiez les fichiers singleXXX.txt :

    Akula III
     []-> ColdWaters_Data
            []-> StreamingAssets
                   []-> override
                         |-> Dans chaque fichier singleXXX.txt, ajoutez l'unité à 
                                              EnemyShipClasses= pour la rencontrer, 
                                              PlayerVessels= pour qu'elle soit jouable,
                                              OtherVessels= pour qu'elle apparaisse dans le manuel d'identification
    

    orgaakula

    Vous pouvez télécharger cette nouvelle unité depuis https://drive.google.com.

    Je pense avoir fait le tour. Mais si vous avez besoin d’aide, n’hésitez pas à poster à la suite de cet article. 🙂

    Share on FacebookShare on Google+Tweet about this on TwitterShare on LinkedIn

    Laisser un commentaire

    Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

    × nine = fifty four