I have been having a play(for a long time now) with the auto generated ship loadouts, most commonly known as Blueprints. These are tricky to balance for the AI as some of you probably know already. My most common peeve with the AI is how they lack movement capabilities compared to the Player. I came up with a system that redesigned the way engine's work ingame so it balanced this peeve of mine out.
The System:
All ships have a Base of 3 Movement.
First Engine grants 1 Movement(1 per ship, flat 2 Mass)
Engine upgrades grant +2 Movement per upgrade (each upgrade is 1 per ship, flat 2 Mass each)
Nacelle's grant +10% Movement (Stackable, 16 Mass + 5% Scaling)
There is 5 upgrades available which brings Movement upto 14 base. Plus any Nacelle's you stack, Traits and Tech bonuses.
Sublight Drives add +2% Movement.
In theory this balances out the gap between Player and AI, even in practice it works when the AI is using the designs created by me in the designer. The issue I have is with the auto generated designs, they ignore what the game decides are "old" components or components of equal value. This causes the auto generated ships to only have one Engine even though in the Blueprints there is a request for 6 Engines (the max you can have with this system):
Example Blueprint:
<ShipBlueprint>
<InternalName>ColonyBlueprint</InternalName>
<ShipHullType>Cargo</ShipHullType>
<Role>Support</Role>
<RequiredComponentType>ColonyModule</RequiredComponentType>
<ComponentType>LifeSupport</ComponentType>
<ComponentType>InterstellarDrive</ComponentType>
<ComponentType>InterstellarDrive</ComponentType>
<ComponentType>InterstellarDrive</ComponentType>
<ComponentType>InterstellarDrive</ComponentType>
<ComponentType>InterstellarDrive</ComponentType>
<ComponentType>InterstellarDrive</ComponentType>
<ComponentType>LifeSupport</ComponentType>
<ComponentType>LifeSupport</ComponentType>
<ComponentType>Sensor</ComponentType>
<ComponentType>LifeSupport</ComponentType>
<ComponentType>Sensor</ComponentType>
<ComponentType>InterstellarDriveAugment</ComponentType>
<ComponentType>InterstellarDriveAugment</ComponentType>
<ComponentType>InterstellarDriveAugment</ComponentType>
<FillerComponentType>LifeSupport</FillerComponentType>
<FillerComponentType>Sensor</FillerComponentType>
</ShipBlueprint>
Here is a screenshot of the game auto generating a colony ship after discovering the first 2 engine techs (excuse the names they are Star Trek flavored) technically it should have 3 engines, the one you start with, one with Interstellar Travel and another from Ion Drives:-

As you can see it only has one engine(3rd component that looks like an augment), yet you can also see the design is only 100/108 total mass. The Warp Core and the Class 3 Upgrade are available for an additional 4 mass which would take the total to 104/108, yet the auto generated designs refuse to add these. It chose the Class 1 Upgrade over the Class 3 due to manufacturing costs (I think), they both have the same movement.
Update 1:
Setting the Engines to exactly the same Stats still results in only one Engine been used, again its the Class 1 Upgrade.
Stats used in test:
<Stats>
<EffectType>Value</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>0.25</Value>
</Stats>
<Stats>
<EffectType>MovesCapManufacturingCost</EffectType>
<Scope>Queue</Scope>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>10</Value>
</Stats>
<Stats>
<EffectType>MovesCapMass</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>2</Value>
</Stats>
<Stats>
<EffectType>MovesCap</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>2</Value>
</Stats>
<Stats>
<EffectType>Maintenance</EffectType>
<Target>
<TargetType>Ship</TargetType>
</Target>
<BonusType>Flat</BonusType>
<Value>0.1</Value>
</Stats>
At this point I am leaning toward the fact I am using <OnePerShip>true</OnePerShip> and the game thinks it can only use one of this type of component group rather than only one of this component. (It is after all using an old Engine Tech wise)