Modding Picture of the day.

Moderator: Makail

Post Reply
User avatar
Slashman
Posts: 1826
Joined: Sat Jul 21, 2012 1:39 am

Re: Modding Picture of the day.

Post by Slashman » Sun Dec 24, 2017 1:24 am

I wonder how many people appreciate just how intricately designed and balanced SOTS games are.

Then you get Brad Wardell bragging that moving/tracking turrets were a Stardock invention in RTS games. :roll:
If you want a different perspective, stand on your head.

User avatar
Rossinna-Sama
Posts: 1518
Joined: Sun Nov 11, 2012 5:38 am

Re: Modding Picture of the day.

Post by Rossinna-Sama » Sun Dec 24, 2017 4:06 am

Was aware of the ship designs altering reflection and deflection chances like they do in real life, yes. It was one of the more notable weaknesses of the command and mission sections in SOTS Prime for Solforce due to their blocky nature. I've seen it in action in SOTS2 as well, it even applies to the target dummies.

Did I balance around that? Not to any particular amount, no, as its not something I can control. The values on reflection and deflection are not yet set in stone, as I'm still making new weapons occasionally and have still not finished the ballistics tree yet.
Sword of the Stars 2 : Project Hiver - work in progress
Sword of the Stars 2 : Vanilla AI Enhancement Mod - work in progress.
Creator of the upcoming Seimei universe.

sleepyx732
Posts: 4
Joined: Sat Jan 12, 2013 4:17 am

Re: Modding Picture of the day.

Post by sleepyx732 » Thu Dec 28, 2017 11:48 am

Hey you seem like someone who'd know the answer to this Rossinna.

Is it possible to create additional turret 'sizes' like in the turrets.xml file? I'm trying to diversify AI weapon selection by creating multiple entries for each turret size. Say for example MountSize = 'LightBAL', MountSize = 'LightENG', and MountSize = 'LightPD'. So assigning all ballistic weapons to 'LightBAL' and what have you and assigning the three light mount sizes to different sections the AI is forced to diversify it's selection. While limiting for the player, it can be a huge boon to the AI.

Right now from what I can tell the AI really only goes by four things. Race weapon bias (Bal vs Eng), weapon rate of fire, weapon damage, and weapon attribute (Brawler vs StandOff). You won't see say Liir use ballistic weapons unless it's MUCH stronger then it's energy counterpart and while it's not always the case (most of the time it is), the AI will pick a weapon that has 1 damage and 3.4 rate of fire over a weapon with 10 damage and 3.5 rate of fire. Loa seem better tuned when it comes to this. If for example I have beamers at 10 recharge rate and lasers at 8, ordinarily the AI will default to the faster firing one (that's why they spam PD on everything) however Loa will continue to use beamers, putting more emphasis on it's attribute type. I know this because the beamers also do less damage (compensating for perfect accuracy). However if I nerf it's rate of the fire even further it will switch over to it's laser counterpart, thereby also putting emphasis on damage. Ordinarily I'd expect it just to switch to UV beamer.

You probably know most of this by now. As you can imagine this requires a shitton of playtesting (well, a lot of 'play' and 'exit game' button pressing) and is also very restricting in what you can do with weapons without having the AI just not use most of them. You've mentioned in the past you are giving ship sections 'roles' and I was hoping this was how you did it. If not, I'd still be curious :o Also, do you have access to certain files that say I wouldn't? You speak of reflection which I can find no reference to in any of the files except in techbonuses.xml. In fact I've been curious as to how this works (deviation too) and if I had some percentages it'd be a lot easier to work with weapons.

Edit: This seems kind of stupid now.. I figured it out. No need to create new references. Just utilize the unused MountSize(s) for the weapon Class(es). Such as a Light Projector. You can use VeryLight as a mount size as well to keep it better organized or if you need more slots (you shouldn't though). And by any chance have you've discovered any weapon slots on sections that aren't in the files? Hiver for example has parts on their ships where you might expect a turret to go, such as extended range. Liir has turrets where you wouldn't think there'd be one (based on design), such as underneath their ships. Sometimes ship sections will start in the 20's instead of the traditional Turret_Light_01, 02, ect.

User avatar
Rossinna-Sama
Posts: 1518
Joined: Sun Nov 11, 2012 5:38 am

Re: Modding Picture of the day.

Post by Rossinna-Sama » Fri Dec 29, 2017 1:31 am

In regards to the AI, that's correct for any unmodded AI. They seem to prefer raw damage per second (to structure) even if the weapon is horrible against armor or has a high chance of being deflected\reflected. PD weapons tend to have high DPS overall with their rate of fire, hence why the AI loves them.

Standoff vs Brawler is usually determined by the fleet template they are working with. They can use others, though usually it requires the AI to stumble into it.

You can make the AI favor any weapon tree, you just have to use the tech tree's name in their faction file. TRP for example will have Solforce's weapon selection choices favor the Torpedo tree. WAR will have them focus on missiles, especially if there's a brawler type missile that has been added.

------------
Reflection and Deflection are a little complicated.

Reflection - Any weapon which has the Laser attribute has a chance to be reflected away by anything that has Reflective or Improved Reflective armor. If there's no laser tag, *nothing* will get reflected unless you get an unlucky shot on the curve\slant of a ships armor and even then, the chance is low.

Deflection - Any weapon with the Ballistic Attribute has a chance to be deflected away by anything that has one of the four kinds of armor. Unarmored ships can only deflect ballistic weapons which hit a curved or slanted surface and that chance is low.

Both reflection and deflection are controlled by the Techbonuses.xml on the defensive side and on each weapon file on an offensive basis.

Code: Select all

<TechBonus techID="IND_Polysteel"                   armorlayers="1" ricochet="0.1"/>
<TechBonus techID="IND_MagnoCeramic_Latices"        armorlayers="3" ricochet="0.3"/>
<TechBonus techID="IND_Quark_Resonators"            armorlayers="5" ricochet="0.5"/>
<TechBonus techID="IND_Adamantine_Alloys"           armorlayers="6" permarmorlayers="1" ricochet="0.8"/>
<TechBonus techID="IND_Reflective"                  beamdamage="-0.3" laserricochet="0.8"/>
<TechBonus techID="IND_Improved_Reflective"         beamdamage="-0.6" laserricochet="1.2"/>
ricochet - the higher this number is, the more often a round will be deflected. While I have no way of knowing the base deflection\reflection number which I'll refer to as +0% right now, each 0.1 you add increases the deflection\reflection chance by 10%. So Addy up there increases the chance to deflect a ballistic weapon by +80%. This is the same for laserricochet, though it only applies to things tagged with laser.

Now in a weapon file, you'll find this entry:

Code: Select all

<BaseRicochetModifier>-0.4</BaseRicochetModifier>
This means that it has a 60% to not get deflected by something with no armor that's not getting impacted by the curvature of a surface. You get this number by subtracting (or adding) the number from a flat 0.

So a -0.4 means it lowers deflection chance by 40%. a 0.4 (with no - sign) would make it get deflectet 40% more.
The above example is from the ballistic gauss.

Code: Select all

  <BaseRicochetModifier>-1.2</BaseRicochetModifier>
This is from the AP Gauss. Even with Addy researched, the AP gauss retains a 40% chance to not get deflected by the armor.

Just a note, beamdamage is used to lower the damage taken by *any* weapon using the Beam payload. It has no bearing on energy or anything else according to the code I've seen.

---------------
You can't add new explicit sizes or types, but you can add in larger\smaller versions, yes.
Just keep in mind that Light weapons will autofire at PD targets as well as larger ships. Not sure if VeryLight is PD only, rarely use it.

Code: Select all

<Turrets>

  <!-- DW: min track speed must be greater than most ship rotation speeds.  Most ship rotation speeds are more than 40 rads/sec so min speed should be at least that -->
  <!--Standard-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Standard" TrackSpeed="75" Model="Turret_Light_1_PD.scene" BaseModel="Base_Light.scene"/>
  <Turret MountSize="Light" WeaponSize="VeryLight" Class="Standard" TrackSpeed="75" Model="Turret_Light_1_PD.scene" BaseModel="Base_Light.scene"/>
  <Turret MountSize="Medium" WeaponSize="VeryLight" Class="Standard" TrackSpeed="75" Model="Turret_Medium_1_PD.scene" BaseModel="Base_Light.scene"/>
  <Turret MountSize="Heavy" WeaponSize="VeryLight" Class="Standard" TrackSpeed="75" Model="Turret_Heavy_1_PD.scene" BaseModel="Base_Light.scene"/>

  <Turret MountSize="Light" WeaponSize="VeryLight" Class="Standard" TrackSpeed="75" Model="Turret_Light_1_PD.scene" BaseModel="Base_Light.scene"/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Standard" TrackSpeed="50" Model="Turret_Light_1_Standard.scene" BaseModel="Base_Light.scene"/>
  <Turret MountSize="Light" WeaponSize="Medium" Class="Standard" TrackSpeed="35" Model="Turret_Medium_1_Standard.scene" BaseModel="Base_Light.scene"/>
  <Turret MountSize="Light" WeaponSize="Heavy" Class="Standard" TrackSpeed="20" Model="Turret_Heavy_1_Standard.scene" BaseModel="Base_Light.scene"/>

  <Turret MountSize="Medium" WeaponSize="VeryLight" Class="Standard" TrackSpeed="35" Model="Turret_Medium_1_Standard.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="Medium" WeaponSize="Light" Class="Standard" TrackSpeed="35" Model="Turret_Medium_1_Standard.scene" BaseModel="Base_Medium.scene"/> <!--DG: Model should be Turret_Medium_2_Standard.scene-->
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Standard" TrackSpeed="35" Model="Turret_Medium_1_Standard.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="Medium" WeaponSize="Heavy" Class="Standard" TrackSpeed="10" Model="Turret_Heavy_1_Standard.scene" BaseModel="Base_Heavy.scene"/>

  <Turret MountSize="Heavy" WeaponSize="VeryLight" Class="Standard" TrackSpeed="15" Model="Turret_Heavy_1_Standard.scene" BaseModel="Base_Heavy.scene"/>
  <Turret MountSize="Heavy" WeaponSize="Light" Class="Standard" TrackSpeed="30" Model="Turret_Heavy_1_Standard.scene" BaseModel="Base_Heavy.scene"/> <!--DG: Model should be Turret_Heavy_3_Standard.scene-->
  <Turret MountSize="Heavy" WeaponSize="Medium" Class="Standard" TrackSpeed="20" Model="Turret_Heavy_1_Standard.scene" BaseModel="Base_Heavy.scene"/> <!--DG: Model should be Turret_Heavy_2_Standard.scene-->
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Standard" TrackSpeed="10" Model="Turret_Heavy_1_Standard.scene" BaseModel="Base_Heavy.scene"/>
  <Turret MountSize="Heavy" WeaponSize="VeryHeavy" Class="Standard" TrackSpeed="30" Model="Turret_Heavy_3_Standard.scene" BaseModel="Base_Heavy.scene"/>

  <Turret MountSize="VeryHeavy" WeaponSize="Heavy" Class="Standard" TrackSpeed="7" Model="Turret_VHeavy_1_Standard.scene" BaseModel="Base_VHeavy.scene"/> <!--DG: Model should be Turret_VHeavy_3_Standard.scene-->
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Standard" TrackSpeed="5" Model="Turret_VHeavy_1_Standard.scene" BaseModel="Base_VHeavy.scene"/>
  <Turret MountSize="VeryHeavy" WeaponSize="Medium" Class="Standard" TrackSpeed="7" Model="Turret_VHeavy_1_Standard.scene" BaseModel="Base_VHeavy.scene"/> <!--DG: Model should be Turret_VHeavy_3_Standard.scene-->
  <Turret MountSize="VeryHeavy" WeaponSize="Light" Class="Standard" TrackSpeed="7" Model="Turret_VHeavy_1_Standard.scene" BaseModel="Base_VHeavy.scene"/> <!--DG: Model should be Turret_VHeavy_3_Standard.scene-->
  <Turret MountSize="VeryHeavy" WeaponSize="VeryLight" Class="Standard" TrackSpeed="7" Model="Turret_VHeavy_1_Standard.scene" BaseModel="Base_VHeavy.scene"/> <!--DG: Model should be Turret_VHeavy_3_Standard.scene-->

  <Turret MountSize="SuperHeavy" WeaponSize="VeryHeavy" Class="Standard" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Standard" TrackSpeed="5" Model="" BaseModel=""/>

  <!--Missile-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Missile" TrackSpeed="55" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="VeryLight" Class="Missile" TrackSpeed="55" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Missile" TrackSpeed="55" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Missile" TrackSpeed="10" Model="Turret_Medium_1_Missile.scene" BaseModel="Base_Medium.scene"/>

  <Turret MountSize="Heavy" WeaponSize="Medium" Class="Missile" TrackSpeed="10" Model="Turret_Heavy_2_Missile.scene" BaseModel="Base_Heavy.scene"/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Missile" TrackSpeed="5" Model="Turret_Heavy_2_Missile.scene" BaseModel="Base_Heavy.scene"/> <!--DG: Model should be Turret_Heavy_1_Missile.scene-->

  <Turret MountSize="VeryHeavy" WeaponSize="Heavy" Class="Missile" TrackSpeed="5" Model="Turret_Heavy_Missile.scene" BaseModel="Base_Heavy.scene"/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Missile" TrackSpeed="5" Model="" BaseModel=""/>

  <!--IOBM-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="IOBM" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="Light" WeaponSize="Light" Class="IOBM" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="IOBM" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="IOBM" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="IOBM" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="IOBM" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="SuperHeavy" WeaponSize="VeryLight" Class="IOBM" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>

  <!--PolarisMissile-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="Light" WeaponSize="Light" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="SuperHeavy" WeaponSize="VeryHeavy" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryLight" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>
  <Turret MountSize="SuperHeavy" WeaponSize="VeryLight" Class="PolarisMissile" TrackSpeed="5" Model="Turret_Medium_Missile.scene" BaseModel="Base_Medium.scene"/>


  <!--HeavyBeam-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="HeavyBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="HeavyBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="HeavyBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="HeavyBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="HeavyBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="HeavyBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="VeryHeavy" Class="HeavyBeam" TrackSpeed="5" Model="" BaseModel=""/>

  <!--FreeBeam-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="FreeBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="FreeBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="FreeBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="FreeBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="FreeBeam" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="FreeBeam" TrackSpeed="5" Model="" BaseModel=""/>

  <!--Torpedo-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Torpedo" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Torpedo" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Torpedo" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Torpedo" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Torpedo" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Torpedo" TrackSpeed="5" Model="" BaseModel=""/>

  <!--Spinal-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Spinal" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Spinal" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Spinal" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Heavy" Class="Spinal" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Medium" Class="Spinal" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Spinal" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Spinal" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Spinal" TrackSpeed="5" Model="" BaseModel=""/>

  <!--Strafe-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Strafe" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="VeryLight" Class="Strafe" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Strafe" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Medium" Class="Strafe" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Strafe" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Strafe" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Strafe" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Strafe" TrackSpeed="75" Model="" BaseModel=""/>

  <!--Impactor-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Impactor" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Impactor" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Impactor" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Impactor" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Impactor" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Impactor" TrackSpeed="5" Model="" BaseModel=""/>

  <!--COL-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="COL" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="COL" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="COL" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="COL" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="COL" TrackSpeed="5" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="COL" TrackSpeed="5" Model="" BaseModel=""/>

  <!--Projector-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Projector" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Projector" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Projector" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Projector" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Projector" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Projector" TrackSpeed="30" Model="" BaseModel=""/>

  <!--Minelayer-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Minelayer" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Minelayer" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Minelayer" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Minelayer" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Minelayer" TrackSpeed="30" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Minelayer" TrackSpeed="30" Model="" BaseModel=""/>

  <!--Biomissile-->
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Biomissile" TrackSpeed="0" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Biomissile" TrackSpeed="0" Model="" BaseModel=""/>

  <!--Drone-->
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Drone" TrackSpeed="0" Model="" BaseModel=""/>

  <!--AssaultShuttle (assault shuttle, slave disk, wraith abductor)-->
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="AssaultShuttle" TrackSpeed="0" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="AssaultShuttle" TrackSpeed="0" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="AssaultShuttle" TrackSpeed="0" Model="" BaseModel=""/>

  <!--DestroyerRider-->
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="DestroyerRider" TrackSpeed="0" Model="" BaseModel=""/>

  <!--CruiserRider-->
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="CruiserRider" TrackSpeed="0" Model="" BaseModel=""/>

  <!--DreadnoughtRider-->
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="DreadnoughtRider" TrackSpeed="0" Model="" BaseModel=""/>

  <!--NodeCannon-->
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="NodeCannon" TrackSpeed="0" Model="" BaseModel=""/>
  
  <!--NodeMissile-->
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="NodeMissile" TrackSpeed="0" Model="" BaseModel=""/>

  <!--SuulkaTentCannon-->
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="SuulkaTentCannon" TrackSpeed="360" Model="" BaseModel=""/>

  <!--BoardingPod-->
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="BoardingPod" TrackSpeed="0" Model="" BaseModel=""/>

  <!--EscapePod-->
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="EscapePod" TrackSpeed="0" Model="" BaseModel=""/>
	
  <!--Siege-->
  <Turret MountSize="VeryLight" WeaponSize="VeryLight" Class="Siege" TrackSpeed="0" Model="" BaseModel=""/>
  <Turret MountSize="Light" WeaponSize="Light" Class="Siege" TrackSpeed="0" Model="" BaseModel=""/>
  <Turret MountSize="Medium" WeaponSize="Medium" Class="Siege" TrackSpeed="0" Model="" BaseModel=""/>
  <Turret MountSize="Heavy" WeaponSize="Heavy" Class="Siege" TrackSpeed="0" Model="" BaseModel=""/>
  <Turret MountSize="VeryHeavy" WeaponSize="VeryHeavy" Class="Siege" TrackSpeed="0" Model="" BaseModel=""/>
  <Turret MountSize="SuperHeavy" WeaponSize="SuperHeavy" Class="Siege" TrackSpeed="0" Model="" BaseModel=""/>

</Turrets>
EDIT - err, now its the actual PH one, not vanilla.

That above is Project Hiver's Turret.Xml, use as you see fit.

--------------
Finding hidden mounts can be annoying, but if you use EditPad Lite, there's a way.

Just edit the model file using the program I mentioned, turn on WordWrap and near the top of the encrypted mess will be a line with all of the nodes on the model.

Code: Select all

Fusion_Engine_Long_RangeEngineMedium_Turret_02Medium_Turret_01Medium_Turret_03Medium_Turret_04Medium_Turret_06Medium_Turret_05Light_Turret_03Light_Turret_04Light_Turret_01Light_Turret_02Badgethruster_01thruster_08thruster_09thruster_06thruster_15thruster_13thruster_10thruster_11thruster_1
Is from the Hiver's long range engine section for example. At the bottom of the file, you can see about 90% of the engine contrails and other effects it may have. I think these are case sensitive - not sure as I copy it directly to ensure I don't make mistakes.
Sword of the Stars 2 : Project Hiver - work in progress
Sword of the Stars 2 : Vanilla AI Enhancement Mod - work in progress.
Creator of the upcoming Seimei universe.

sleepyx732
Posts: 4
Joined: Sat Jan 12, 2013 4:17 am

Re: Modding Picture of the day.

Post by sleepyx732 » Fri Dec 29, 2017 11:57 am

Much appreciated, some great information here. I remember in the past I changed the weapon type in factions.xml but I don't remember it having much of an effect. I'll have to test it again. Have you already gone through all the model files? Either way I'll probably post it here in case anybodies interested when I'm done.

It's kind of bothers me so I have to ask; about 1/3 of the way in right underneath the superheavy turrets on the Hiver combat LV there are heavy turrets that aren't on the platform correctly and they clip into the ship. Is it possible to fix this? Would be great cause then maybe I could also add some turrets to a couple of the SolForce CR command sections. I had also wanted to make a module for drones but they stick out in the middle of the air :cry:

Also is there anything I need to know about bank ID's? I've had it where a drone and it's carrier shares the same ID, simply changing the last letter/number, and even having two banks on the same section using the same one. None of which seems to lead to any issues. I have to think though it cannot be this simple or that bank ID's don't really mean anything. I know you need to have one though and they have to have a set character amount.

User avatar
Rossinna-Sama
Posts: 1518
Joined: Sun Nov 11, 2012 5:38 am

Re: Modding Picture of the day.

Post by Rossinna-Sama » Fri Dec 29, 2017 3:36 pm

Can't fix the model errors without Kerb\Paradox releasing their asset pipeline to the public which probably will never happen.

Bank IDs, that's up to you. As long as they are unique and are of the proper length and combination, they'll work fine. Its primarily used for two things- the first is that if you don't have everything as a unique ID then Multiplayer will often desync. The second is saved games; banks without unique ID numbers will have the game often assign different weapons to them which can sometimes lead to crashes, especially if its a mount that's carrying some kind of battlerider.

I just find it good practice to have every bank and module slot to have their own ID. Not at my PC so I can't give an example straight from one of my edited sections, but I tend to do mine by a faction basis - Solforce for example was 11111-1111a-1111a-11111111 or something similar and each bank I made, I altered a number or a letter. Liir I think was 31111 and so on.

As for the weapon preferences, it isn't a hard guideline for the AI. If it really thinks something else is better than its preference, it'll still pick that over it. Energy and ballistics do work best since there's ingame tags for the AI to follow and WAR (missiles) sometimes works if the section is designated for a standoff role. I don't think there's a brawler-type missile in vanilla, so I suspect that's why it looks like it has little effect.
Sword of the Stars 2 : Project Hiver - work in progress
Sword of the Stars 2 : Vanilla AI Enhancement Mod - work in progress.
Creator of the upcoming Seimei universe.

sleepyx732
Posts: 4
Joined: Sat Jan 12, 2013 4:17 am

Re: Modding Picture of the day.

Post by sleepyx732 » Sat Dec 30, 2017 12:30 pm

Right so here is a list of what I've found so far. Bear in mind I will not be listing the ones that aren't exactly 'aesthetically pleasing' as most of it are just remnants from when I assume the ship model was different and/or accomplish much of the same of what the current nodes already do. Exception for a select few.

Human (done)
------------------------
CR Boarding - turret_heavy_01
DN AI - turret_heavy_01
LV Invasion - module_04 & 05/Dreadnought, module_engine_02/DreadnoughtEngine, IOBM_01 & 02 (NOTE: no animation to support this so the missiles will just launch through the ship and all at once)
LV Superheavy Transport - module_engine_01/DreadnoughtEngine, duplicates of turret_light_26-30 in the section.xml

CR AI - turret_medium_02 & 03, these do not fit on the ship properly but if you make them light turrets you won't entirely notice unless zoomed in
CR Biowar - module_01 & 02, the modules clip halfway into the ship

Hiver (done)
------------------------
LV Carrier - turret_light_01-30
LV Invasion - turret_light_01-30

Tarka
------------------------
LV Superheavy Transport - turret_very_heavy_02

Zuul (done)
------------------------
Missile Satellite - turret_light_04
Torpedo Satellite - turret_light_04
LV Combat - turret_medium_09 & 10

DN Projector - module_01, floats in the air. Presumably there use to be that engine looking thing that zuul modules typically reside on where this module would go.

Morrigi
------------------------
CR Torpedo - module_01/Cruiser

Liir (done)
------------------------
LV Superheavy Transport - DN_module/DreadnoughtEngine, module_01 & 02/Cruiser

Loa
------------------------
Superheavy Transport - module_01/DreadnoughtEngine, module_02 & 03/Dreadnought (Though they can all be either Engine or regular, module_01 is just located at the engine), duplicates of light_turret_18 & 19 in section.xml

Encounters
------------------------
Ghostship - turret_superheavy_01-03, Polaris_01-04

User avatar
Rossinna-Sama
Posts: 1518
Joined: Sun Nov 11, 2012 5:38 am

Re: Modding Picture of the day.

Post by Rossinna-Sama » Tue Jan 02, 2018 12:04 am

Just a little update; been very depressed since my birthday (30th of December, I'm now 30. Ugh.) and have not really had the interest in modding or more accurate, in creating anything. The nearly daily storms in Queensland recently has not helped either as the temperature and humidity has not been nice in the slightest. I don't have air conditioning (It'd have to stay here when I move out eventually so like heck am I giving something that expensive for free to the people who live in this area) so that's taken a fairly major toll on me as well.

I'm just glad my PC's cooling system is well above the average, otherwise I'd probably not be able to use it at all in this kind of heat.

---------------------
Anyway when I hopefully feel better within the next week, I'll get back to work on that vanilla AI mod. I've still got that as my primary SOTS2 install, so all it requires is enough interest to resume.

:?
Sword of the Stars 2 : Project Hiver - work in progress
Sword of the Stars 2 : Vanilla AI Enhancement Mod - work in progress.
Creator of the upcoming Seimei universe.

Talverin
Posts: 96
Joined: Sun Apr 24, 2016 12:20 am

Re: Modding Picture of the day.

Post by Talverin » Tue Jan 02, 2018 1:03 am

Well, happy birthday at the least! I hope you had a good time.

Temperature and humidity are something I understand well from Louisiana, USA - Constant high humidity, though our temperatures have been... Record-setting, if not for their intensity than for their range, going from 100+ F to below freezing... sometimes in the same day. It is incredibly draining. Do they sell window AC units there? Those are lifesavers here.

Take your time! You do awesome work. I just can't wait for the next full PH release.

User avatar
Slashman
Posts: 1826
Joined: Sat Jul 21, 2012 1:39 am

Re: Modding Picture of the day.

Post by Slashman » Tue Jan 02, 2018 12:19 pm

Hey RS, congrats on turning 30!

Hope you have a better year than the last!

Heat and humidity are downers in large doses. I hope it gets better soon. Just work when/if you feel up to it and take it easy otherwise. Life's too short to stress yourself out over.
If you want a different perspective, stand on your head.

User avatar
Mecron
Kerberos
Posts: 38177
Joined: Fri Aug 05, 2005 7:26 pm

Re: Modding Picture of the day.

Post by Mecron » Tue Jan 02, 2018 9:03 pm

Happy Bday! And try to save your bday depression points up till you are after 50 like me! :twisted:

User avatar
Slashman
Posts: 1826
Joined: Sat Jul 21, 2012 1:39 am

Re: Modding Picture of the day.

Post by Slashman » Wed Jan 03, 2018 5:29 pm

Mecron wrote:
Tue Jan 02, 2018 9:03 pm
Happy Bday! And try to save your bday depression points up till you are after 50 like me! :twisted:
Aren't those curmudgeon points? :P
If you want a different perspective, stand on your head.

User avatar
Mecron
Kerberos
Posts: 38177
Joined: Fri Aug 05, 2005 7:26 pm

Re: Modding Picture of the day.

Post by Mecron » Wed Jan 03, 2018 7:20 pm

Get off my lawn!

User avatar
Rossinna-Sama
Posts: 1518
Joined: Sun Nov 11, 2012 5:38 am

Re: Modding Picture of the day.

Post by Rossinna-Sama » Sun Jan 14, 2018 1:17 pm

Probably a bit morbid for a public forum, but I wasn't expected to live to 13 let alone 30. :?

Anywho, I'll see if I can push myself back into doing my usual routine. I've been taken advantage of heavily within the last few weeks to the point where my 'famous' ability to handle the immense amount of crap I suffer has finally, well, broken. Depression to the level it makes one physically sick isn't fun.

Since its been almost a month since I last even launched SOTS2, not quite sure where I was in regards to that vanilla AI mod. So if anyone has any suggestions for it, let me know. Might spur me into actually doing it. :googly:
Sword of the Stars 2 : Project Hiver - work in progress
Sword of the Stars 2 : Vanilla AI Enhancement Mod - work in progress.
Creator of the upcoming Seimei universe.

User avatar
Slashman
Posts: 1826
Joined: Sat Jul 21, 2012 1:39 am

Re: Modding Picture of the day.

Post by Slashman » Sun Jan 14, 2018 7:09 pm

Sometimes being too nice is a road to hurt. You've played FSN right?

Anyway, last thing you posted was that you were 60% done with the tech tree and had yet to start on fleet templates.

As to suggestions, I noticed that the AI seems pretty bad at using direct fire torps and I've never seen them upgrade to tracking photon torps. This is for Solforce specifically. Not sure if anything can be done there. Also not sure if combat behavior can be modded at all so I'm reluctant to make any suggestions there.

For me, the biggest issue with the AI has always been that they either don't use the good techs that they research or that they use them once and then switch to less effective configurations. Other than that, just having them launch consistent attacks and moving damaged fleets back to base for repairs instead of chaining too many combat missions together.
If you want a different perspective, stand on your head.

Post Reply

Return to “Modding”

Who is online

Users browsing this forum: No registered users and 1 guest