Definitions units and shared arithmetic
Section titled “Definitions units and shared arithmetic”Aurora lets a race define custom ship components, select fixed modules that technology unlocks, design missiles and fighter pods, and create ground-unit classes. This page covers the input technologies, the numerical recipes, the restrictions, development and what a save keeps. A component definition is a blueprint. Researching it and manufacturing physical stock are separate operations.
Values from the game database as shipped are examples, not constants every saved game shares. The calculations below decide the stored values, including where the designer preview shows a different figure.
For assembly into hulls, armour geometry, automatic accommodation and engineering, station eligibility and yard restrictions, see Ship and station design. Manufacturing and resource debits are in Production mechanics. Downstream detection and power aggregation are in Ship power, class and detection. Movement and stores are in Movement and logistics. Ground formation organisation, separate from the ground-class design below, is in Ground force organisation.
A component definition (a row of FCT_ShipDesignComponents) stores size, BP cost, crew, HTK, mineral recipe, performance fields, flags and background technology IDs. Manufactured stock is held separately from the definition. ComponentValue has category-specific units. It may be engine power, fuel litres, maintenance supplies, cargo points, berths, sensor strength, maximum hull HS or another rating. Use the formula of the relevant family rather than treating it as a universal strength field.
| Symbol or unit | Meaning |
|---|---|
| HS | Ship hull space. 1 HS = 50 tons. |
| MSP in missile design | Missile size points. 20 = 1 HS, so 1 = 2.5 tons. This is distinct from maintenance supplies, also abbreviated MSP elsewhere. |
C (BP) |
The definition’s build cost, the industrial work required per unit. |
| RP | Technology development cost, separate from BP and from the mineral recipe. |
| HTK | Component hit-to-kill rating. Exact rounding depends on the family. |
AI, AI2, AI3, AI4 |
The selected technology’s AdditionalInfo, AdditionalInfo2, AdditionalInfo3 and AdditionalInfo4 columns in FCT_TechSystem. These are technology data, not AI-player modifiers. x.AI means the AdditionalInfo of technology x. |
R(x,n) |
x rounded to n decimal places. R(x) rounds to a whole number. A value exactly halfway rounds to the even neighbour, so 12.5 becomes 12. |
floor, ceil, int |
Round down, round up, and drop the fractional part. Positive inputs do not make all three interchangeable. |
*, /, ^, sqrt |
Multiplication, division, power and square root inside formulas. |
Square roots and powers are calculated approximately, not as exact decimal roots. The sensor formulas use 3.1416 as pi.
Unless a family states otherwise, its development cost is:
D(C)=int(sqrt(C*5000)*(research speed/100)) RP
Research speed is the game’s research speed setting (ResearchSpeed in FCT_Game). The truncation happens after research-speed scaling. The normal result has no positive minimum. If the calculation fails, the game shows error Function #3388 and uses 1 RP. Miscellaneous components, missile engines and displayed missile summaries follow different rules. Mineral amounts are assigned independently and need not sum to BP. Fuel carried by a design is another quantity again.
Technology selection and design lifecycle
Section titled “Technology selection and design lifecycle”Select an available design family and source technologies
Section titled “Select an available design family and source technologies”The Create Research Project window lists the research categories in DIM_ResearchCategories that have PlayerDefined set to true, sorted by name. The game database as shipped has 24 such categories, including New Species, which is outside ship-component design (see Species engineering). Missiles and turrets have separate designers. The window has a design path for Missile Engines, but that category has PlayerDefined 0 in the game database as shipped, so it is not listed. A component family existing in the game does not by itself mean the player sees a menu entry for it.
Each category supplies up to eight source technology types with sort orders (SourceTechType0 to SourceTechType7 and Sort0 to Sort7). Ordinary choices require the requested technology type and membership in the race’s researched technologies. Armour also requires a positive AI. Obsolete source technologies are not removed from these lists. Sorting normally uses development cost. “Most advanced” also means greatest development cost, not greatest AI. Show Next Tech finds the cheapest unknown technology of that type that is not automatically researched, then includes the unknown entries of the same type at or below that cost, automatic entries included. It does not recursively satisfy every prerequisite.
The following are the bounds of the designer’s dropdown lists, not limits that every design calculation enforces:
| Input | Choices supplied by the general designer |
|---|---|
| Miscellaneous size | 0.1 to 4.9 HS by 0.1, 5 to 100 by 1, default 1. |
| Fighter pod bay capacity | 1 to 4.9 missile size points by 0.1, 5 to 9.75 by 0.25, 10 to 99 by 1. |
| Jump capacity | 1 to 999, multiplied by a 10, 100, 1,000 or 10,000 ton radio button choice. |
| Reactor size | 0.01 to 0.99 HS by 0.01, 1 to 9.95 by 0.05, 10 to 30.75 by 0.25. |
| Sensor resolution | 1 to 20 HS by 1, 25 to 200 by 5, 220 to 500 by 20, default 100 HS. |
| Sensor size | 0.1 to 1.9 HS by 0.1, 2 to 4.75 by 0.25, 5 to 50 by 1. |
| Cloak size | Minimum through 100 HS by 1. The minimum defaults to 30 and is replaced by the researched Minimum Cloak Size AI. |
| Magazine | 1 to 200 HS by 1. Extra armour layers 0 to 10. |
| Shield size | 1 through the researched maximum by 1. The default maximum is 10 HS. |
| Ship engine size | 0.1 to 19.9 HS by 0.1, then 20 through the maximum by 1. The default maximum is 25. The list below 20 is supplied even when the maximum is lower. |
| Engine thrust multiplier | Race minimum through maximum by 0.05. The defaults are 0.5 to 1. The missile list doubles the upper limit. |
The design calculations work from whatever inputs reach them. They generally do not check racial ownership, unlocks or these bounds themselves. An invalid size can make a division, a square root or a conversion fail, and the game then reports a function error. The formulas below describe meaningful designer inputs, not a promise that arbitrary inputs are accepted.
Preview create research and prototype
Section titled “Preview create research and prototype”Preview runs the design calculation without registering anything. It produces a pending technology and a pending component that exist only for the preview. Preview does not manufacture stock, spend minerals or start research. A new technology takes the highest existing technology ID plus one, but never less than one above the highest technology ID recorded when the game was loaded. Preview does not itself advance a technology counter.
| Action | Result |
|---|---|
| Normal Create | Names and registers the component and a technology with the same ID. The player must research the technology through the Economics window. |
| Instant Create | Registers the component and completes its research. The button is visible only in Spacemaster mode. |
| Prototype | Registers the component, marks it as a prototype, or as a future-tech prototype when Show Next Tech is checked, and adds the technology to the race’s known technologies so the component can appear in class design. |
| Registration the game performs directly, without the designer window | Registers the component and completes its research at once. This does more than the normal Create button. |
Show Next Tech hides normal Create.
A component’s prototype state (Prototype in FCT_ShipDesignComponents) is 0 for not a prototype, 1 for prototype (P), 2 for future-tech prototype (FP) and 3 for research prototype (RP). Class Design’s research-prototype command accepts exactly state 1 (prototype). It rejects a turret whose base weapon is itself a prototype, and it changes the state to research prototype. Research selection separately lists these already-known technologies when they are not active or queued. Completion at a real population clears research prototype back to not a prototype. Completion with no population attached does not. Neither that Class Design command nor research selection turns a future-tech prototype into an ordinary prototype. Yard eligibility is covered in Ship and station design.
Engines jump drives shields and reactors
Section titled “Engines jump drives shields and reactors”Ship engines
Section titled “Ship engines”Inputs are size s HS, thrust multiplier t, engine technology E=AI, fuel-consumption technology F=AI and thermal-reduction technology r=AI. The thermal-reduction technology’s AI2 is the cost multiplier when r<1.
Engine power is P=R(E*s*t,2). Fuel use is f=F*t^2.5*sqrt(10/s) litres per engine-power-hour. Fuel per hour is P*f.
Cost is C=max(5,P/2*k*u), where k is the thermal AI2 when r<1 and 1 otherwise, and u=t when t<1 and 1 otherwise. Development is D(C) and the recipe is Gallicite = C. HTK is max(1,int(sqrt(s))), crew max(1,int(R(s*t))), explosion chance floor(10*t) percent and maximum explosion size floor(P/4). StealthRating = r. The thermal signature is P*r, shown rounded to one decimal in the preview. Fuel efficiency is stored unrounded. The preview rounds fuel per hour to 2 decimals and fuel per engine-power-hour to 3.
The engine is military unless both s>=25 and t<=0.5. Designing for a shipping line changes only the generated commercial name, not this threshold. A commercial engine is named Commercial, then the technology’s component name, then EP and its power. For a shipping line it is named with the line’s short name, P and the power, then Civilian Drive. The engine source choices are the Engine Technology, Engine Display Power Modifier, Fuel Consumption, Thermal Reduction and Engine Display Size technology types.
Jump drives
Section titled “Jump drives”A jump drive takes maximum ship size q HS, efficiency technology e=AI, squadron technology n=AI with cost factor n2=AI2, radius technology d=AI with cost factor d2=AI2, and the drive type. Radius is stored and displayed in thousands of km.
a=max(1,(q/20)^0.25). The raw size is s=q/(e*a) HS. C=q/e*n2*d2*5. RP is D(C). Crew is R(2*s), HTK floor(sqrt(s)), Duranium 0.2*C and Sorium 0.8*C. The definition stores ComponentValue = q, JumpRating = int(n) and JumpDistance = int(d).
For the commercial drive type (AI = 1), the stored size becomes R(5*s,2) and the maximum ship size becomes 5*q. Cost, crew and HTK keep the values calculated before this conversion. The designer first divides the selected tons by 50 and, for commercial drives, divides that q by 5 before the calculation. The displayed final capacity therefore matches the selected tons, while the nonlinear efficiency calculation uses the smaller input. MilitarySystem stays false for both drive types. Commercial behaviour is marked separately by SpecialFunction 2 (commercial jump drive).
Shields
Section titled “Shields”Inputs are size s HS, shield technology b=AI and regeneration technology g=AI. Strength is S=R(b*s*sqrt(s/10)). The recharge amount is A=g*s. The stored recharge time is T=floor(S*300/A) seconds. The RechargeRate column stores this time, not A. Cost is C=S+A, RP D(C) and the recipe Corbomite = C. HTK is int(sqrt(s)), with a minimum of 1 only when s>=1. Crew is int(R(s)). Military is true and FuelUse is 0.
Power plants
Section titled “Power plants”Inputs are size s HS, reactor technology p=AI and boost b=AI. The boost technology’s AI2 supplies the explosion percentage. Output is P=R(p*s*sqrt(s)*b,2). C=R(3*P,1). RP is D(C) and the recipe Boronide = C. Explosion chance is int(boost AI2) and maximum explosion int(R(P/2)). HTK is floor(s/2), with a minimum of 1 when s>=1. Crew is int(R(2*s)). Military is true. The preview shows output per HS as R(P/s,2). The source technology types are Power Plant Technology, Power vs Efficiency and Power Plant Size.
Sensors fire controls and electronic equipment
Section titled “Sensors fire controls and electronic equipment”Active search sensors and missile fire controls
Section titled “Active search sensors and missile fire controls”Inputs are size s HS, Active Sensor Strength a=AI, EM Sensor Sensitivity e=AI, resolution r HS, electronic hardening (h=AI2, with ElectronicCTD = int(AI)) and ECCM (k=AI2, with ECCM level int(AI)).
Search range is L=sqrt(a*s*e*r^(2/3)/3.1416)*1000000 km. The product a*s*e is calculated exactly and the rest of the range arithmetic is calculated approximately. Missile fire control mode doubles L without changing the size or cost calculation. Sensor strength is a*s. Uridium is U=R(s*a*h,1). Total cost is C=U*k, and Corbomite is C-U. RP is D(C). Crew is R(2*s). HTK is 0 below 1 HS and 1 otherwise. The sensor is military only when s>1, so a sensor of exactly 1 HS is nonmilitary. Both modes are electronic systems (ElectronicSystem true).
Against target resolution x, the sensor’s range is L when x>=r and L*(x/r)^2 otherwise. The preview’s special cases for resolution-1 missiles use signature multipliers 0.3, 0.4 and 0.6, squared, for size-6, size-8 and size-12 missiles. These are design outputs. The full operational detection sequence is in Ship power, class and detection.
Thermal and EM sensors
Section titled “Thermal and EM sensors”Inputs are size s HS, Thermal Sensor Sensitivity or EM Sensor Sensitivity v=AI, and hardening with cost multiplier h=AI2 and CTD int(AI). Strength is V=s*v. C=R(V*h,1). RP is D(C) and Uridium = C. Crew is R(2*s). HTK is 0 below 1 HS and 1 otherwise. The sensor is military only when s>1, and it is an electronic system. Its detection range against a signature is sqrt(V*signature)*250000 km, or sqrt(V*quantity*signature)*250000 km for a quantity of identical sensors.
Cloaking devices
Section titled “Cloaking devices”Inputs are size s HS, Cloaking Efficiency e=AI and Cloaking Sensor Reduction r=AI. The maximum supported hull is s*e HS. C=R(s²/2,1). RP is D(C) and the recipe Corbomite = C. Crew is R(2*s) and HTK floor(s/5). Military is true. CloakRating = r is the remaining signature multiplier, and the generated label shows a reduction of (1-r)*100 percent. Class recalculation checks that the maximum supported hull is at least the ship class size. The minimum cloak size offered in the designer is a separate technology gate.
Miscellaneous components
Section titled “Miscellaneous components”A selected size s HS gives ComponentValue = s, C=s, development int(10*s) RP, HTK floor(sqrt(s)), crew 0, Duranium C/2 and Mercassium C/2. Research speed is not applied. These are nonmilitary, nonweapon definitions without source technology IDs. Renaming one does not make it work as a named fixed module.
Magazines launchers and fighter pod bays
Section titled “Magazines launchers and fighter pod bays”Magazines
Section titled “Magazines”Inputs are total size s HS, extra armour layers l, a selected armour component (its rating, cost and mineral recipe), magazine feed efficiency f=AI and neutralisation n=AI. Crew is max(1,ceil(s/2)). Explosion chance is (100-n)/sqrt(s) percent, stored unrounded.
For l>0, the game computes a spherical surface A=((s*0.75/3.1416)^(1/3))²*4*3.1416 (calculated approximately), the internal armour z=R(l*(A/10)/armour rating,2) HS, and the usable size s-z. For l=0, z=0. Capacity is floor((s-z)*f*20) missile size points. HTK is l+max(0,floor(sqrt(s))-1), and ExtraHTK = l. The capacity is not held at zero or above when an impossible armour combination reaches the calculation.
The base cost is B=5*s. RP D(B) is calculated before the armour cost is added. The final cost is C=B+armour cost*z, using the armour component’s cost. The recipe is Duranium B/4+armour Duranium*z, Neutronium armour Neutronium*z and Tritanium 0.75*B. Other armour minerals are not copied. MilitarySystem and NoMaintFailure are true. The maximum explosion size is 0.
Fighter pod bays
Section titled “Fighter pod bays”Input q is the supported pod size in missile size points, not the installed HS. The installed size is q/20 HS. C=R(q,1). RP is D(C) and Vendarite R(C,2). Reload takes ceil(sqrt(q)*3000) seconds. ComponentValue = q and RateOfFire = reload time. MilitarySystem, Weapon and HangarReloadOnly are true. Crew is 0. The preview shows HTK floor((q/20)/2), with a minimum of 1 when the installed size is at least 1 HS, but the stored HTK is 0. The preview labels the hangar reload R(seconds/60,1) minutes and “MF Reload” R(seconds/360,1) hours. The display really divides by 360.
Missile box and decoy launchers
Section titled “Missile box and decoy launchers”Inputs are missile capacity m in missile size points, reload technology r and size-modifier technology u. Ordinary launchers use size factor s=u.AI, base reload b=u.AI2 and crew int(R(m*u.AI3*3)). Decoy launchers instead use s=0.1, b=100, crew 0 and no size-modifier technology. The installed size is R(m*s,2) HS.
When s<0.3, the game replaces the reload technology with technology 12106, Missile Launcher Reload Rate 1 (its AI and AI2 are both 1 in the game database as shipped). It sets HangarReloadOnly and computes the reload as ceil(sqrt(m)*b*30) seconds. Otherwise the reload is ceil(sqrt(m)*b*30/r.AI) seconds. In either case the result rounds up again to a multiple of 5. Cost is R(m*r.AI2*s*4,1), using the replaced basic reload technology for boxes and decoys. RP is D(C). Duranium is R(C/4,2) and Tritanium R(0.75*C,2). HTK floor(size/2) has a minimum of 1 only when the size is at least 1 HS.
Ordinary launchers that reload only in a hangar are named Box Launchers. They use the best researched Box Launcher Explosion Chance AI, truncated to a whole number. Other ordinary launchers and decoy launchers have explosion chance 0. That explosion technology affects the output but is not recorded as a background prerequisite. All of them are military weapons with BeamWeapon false, ComponentValue = m, RateOfFire = reload seconds and one shot. Reload and size technologies are recorded where they apply. The preview’s “MF Reload” hours again divide by 360, not 3,600.
The ordinary capacity dropdown offers 1 to 4.9 by 0.1, 5 to 9.75 by 0.25 and 10 to 200 by 1. The decoy list starts at 5 and ends at 99. These bounds belong to the designer. The decoy launcher designer supplies no reload or size technology. The forced basic reload technology is what lets that design complete.
Beam weapons CIWS and turrets
Section titled “Beam weapons CIWS and turrets”Shared weapon fields and recharge
Section titled “Shared weapon fields and recharge”The weapon designs in this section set the military, weapon and beam-weapon flags, except for the CIWS military flag described below. Direct fire control is a separate electronic component. A railgun is therefore a beam weapon in this model despite its kinetic damage family. For charged weapons, the nominal preview interval is ceil(P/RechargeRate*5), then rounded up to a multiple of 5 seconds. For a beam weapon, the rate of fire the game derives from a stored component is ceil(PowerRequirement/RechargeRate)*5 seconds, and zero power gives 5 seconds. A component that is not a beam weapon gives 0. The reactor power actually available on the ship is a downstream limit, not a design cost input.
The energy-weapon recipes below use independently rounded Duranium R(0.2*C,1), Corundium R(0.6*C,1) and Boronide R(0.2*C,1). The railgun uses Neutronium in place of Corundium. Rounded mineral totals can differ from BP. RP is D(C).
For laser, particle beam, railgun, meson, microwave and carronade designs, an automatically researched capacitor (Capacitor Recharge Rate technology type) can be replaced in the recorded background technology slots after the numbers are calculated. The replacement is the cheapest technology of the same type that is not automatically researched and has a strictly greater AI. When there is none, the race’s most advanced researched alternative is used. The numbers are not recalculated. NPR capacitor selection also optimises before the calculation. It tests the thresholds P, P/2 and P/3 in that order. When the selected capacitor’s AI exceeds a threshold, it takes the smallest researched capacitor AI that is at least that threshold, if one exists. Otherwise it moves on to the next threshold, and after the last one it keeps the selected capacitor. The railgun uses its scaled total power for this test before recharge is scaled by shots / 4. None of this changes the formulas below for player designs.
A weapon’s range is its MaxWeaponRange when that is positive, otherwise DamageOutput*int(RangeModifier). Damage at distance d stays constant up to a positive MaxWeaponRange and is zero beyond it. Without a positive maximum it is int(DamageOutput/max(1,d/RangeModifier)), and a zero RangeModifier gives 1. A particle-beam maximum range and a laser damage-falloff modifier therefore mean different things in combat.
Lasers
Section titled “Lasers”Inputs are focal size f, wavelength w, capacitor c, reduced-size technology u and mount m. The effective radius is e=f.AI*m.AI/2. Damage is d=int(R(e²*3.1416/30)). The power requirement is d, the recharge c.AI/u.AI2, the range modifier w.AI km and the indicated maximum range d*w.AI. The mount scales the diameter before damage is squared.
The initial size is s=R(2*sqrt(d)) HS. The initial cost is C=R(sqrt(d)*(w.AI/10000)*c.AI,1). If u.AI<1, size and cost are multiplied by u.AI without a second rounding. RP, crew int(3*s) and HTK floor(s/2) are computed at that point. Only then is the stored size raised to at least 1.5 HS. Crew, HTK and cost therefore need not match the formulas reapplied to the final size. It uses the energy recipe and fires one shot. SpinalWeapon is true only when m.AI>1. The background technologies are focal size, wavelength, capacitor, reduced size and mount. No MaxWeaponRange is set.
Railguns
Section titled “Railguns”Inputs are calibre a, velocity v, capacitor c and shot count n. Per-shot damage is d=int(a.AI). Power is P=a.AI2*n/4. Size is s=a.AI3*0.1+(n/4)*a.AI3*0.9. Recharge is Q=c.AI*n/4. The range modifier is k=int(v.AI). Cost is C=R(sqrt(P)*int(k/10000)*Q,1). The division by 10,000 is whole-number division. Crew is int(ceil(3*s)) and HTK floor(s/2). Duranium, Neutronium and Boronide split 20/60/20. The stored shot count is n, damage stays per shot, and the indicated range is d*k.
The designer offers 4, 3, 2 or 1 shots. The design calculation does not enforce that range. Fewer shots change total power, recharge, volley damage and the 90% variable part of the size. For fixed source technologies the ratio P/Q and the nominal interval stay the same. When the game designs a fighter railgun automatically, it tries 4 down to 1 shots and requires strictly positive remaining space after the weapon and a minimal boosted reactor. That is not an extra player design family.
Gauss cannons
Section titled “Gauss cannons”Inputs are rate of fire g, velocity v and size and accuracy technology u. Shots per 5 seconds are n=int(g.AI). Size is s=u.AI HS. The accuracy multiplier is u.AI2. The range modifier is int(v.AI). Damage is 1 per shot. Power and recharge are 0. Cost is C=2*n*s, all Vendarite. Crew is int(R(2*s)) and HTK int(sqrt(s)). ComponentValue and NumberOfShots both store n. Size comes from a researched technology rather than a free HS input.
Particle beams and lances
Section titled “Particle beams and lances”Inputs are strength a, range r, capacitor c, lance l and mount m. Initial power is P=a.AI*m.AI2. Damage is d=int(a.AI2*m.AI2). Size is s=a.AI3*m.AI. Maximum range is K=int(r.AI*m.AI3) km. Recharge is Q=c.AI. The base cost is C=R(sqrt(P)*sqrt(int(K/10000))*Q,1). Crew is int(3*s) and HTK floor(s/2). The range division is whole-number division.
When int(l.AI)=1, power becomes int(2.5*P), damage doubles, size doubles, the already rounded cost triples, crew doubles, and HTK is recomputed from the doubled size. Range and recharge stay the same. Stored power is finally int(P) even for a beam that is not a lance, so the preview interval can use the power before truncation. RangeModifier = MaxWeaponRange = K, with one shot and the energy recipe. A lance carries SpecialFunction 3 (particle lance). SpinalWeapon is true only when m.AI>1, independent of the lance choice. All five inputs are background technologies.
Meson cannons and high-power microwave
Section titled “Meson cannons and high-power microwave”Both use focal technology f, focusing technology r and capacitor c. Power is p=int(f.AI), k=int(r.AI), recharge Q=c.AI, size s=max(2,int(2*sqrt(p))) and range K=p*k/2 in whole-number arithmetic. HTK is floor(s/2), with one shot and the energy recipe.
| Field | Meson | High-power microwave |
|---|---|---|
| Cost | R(sqrt(p)*int(k/10000)*Q,1) |
R(int(k/10000)*Q*sqrt(p)*2,1) |
| Crew | 5*s |
3*s |
| Damage | 1 | 1 ordinary, |
| Range fields | RangeModifier = ComponentValue = K, no maximum assigned |
RangeModifier = MaxWeaponRange = ComponentValue = K |
| Special damage flags | IgnoreShields true, IgnoreArmour false, ArmourRetardation = f.AI4 |
ElectronicOnly and IgnoreArmour true |
| Variant | Focal AI is power, never meson damage |
Whole-number division in these cost formulas can discard a fractional focusing step. All three inputs become background technologies, subject to the automatic capacitor replacement above. A high-power microwave design always needs an owning race.
Plasma carronades
Section titled “Plasma carronades”The player designer uses a version with a mount technology. An older version without a mount is still used when the game designs carronades itself. The two have different formulas.
| Quantity | Current version with mount | Older version without mount |
|---|---|---|
| Inputs | Calibre a, capacitor c, mount m |
Calibre a, capacitor c |
Damage and power d |
int(R((a.AI*m.AI/2)²*3.1416/30)) |
int(a.AI) |
Initial size s |
R(2*sqrt(d))/2 |
int(2*sqrt(d)) |
| Cost | 2*R(sqrt(d)*c.AI,1) |
R(sqrt(d)*c.AI,1) |
| Crew and HTK | int(3*s) and floor(s/2) |
2*s and floor(s/2) |
| Final size | Minimum 2 HS, applied after cost, crew and HTK | No minimum |
| Spinal | m.AI>1 |
Not assigned |
Both have recharge c.AI, range modifier 10,000 km, indicated maximum range d*10000, one shot and the energy mineral split. The mounted version records calibre, capacitor and mount as background technologies. The older version records calibre and capacitor. The “Laser HTK” label in the mounted preview is a display mistake, not a separate weapon type.
Direct fire control
Section titled “Direct fire control”Inputs are distance technology d, speed v, range multiplier r, tracking multiplier t, hardening h, ECCM e and weapon-number technology w. Range is K=min(1400000,r*d.AI) km. Tracking is V=int(R(t*v.AI)) km/s. The initial size is s=R(r*t/2*w.AI,2) HS. Size uses the raw r even when the range is capped. The base cost and Uridium are U=R(K/20000*int(V/1000)*h.AI2*w.AI,1). The total is C=U*e.AI2. Corbomite is C-U. RP is D(C). The speed division is whole-number division, so 1,999 km/s gives the same cost factor as 1,000.
Crew int(R(4*s)) is computed before the final size is raised to at least 0.01 HS. HTK is 0 below a final 1 HS and 1 otherwise. Military and electronic are true. ElectronicCTD = int(h.AI) and ECCM = int(e.AI). Neither weapon flag is set. ComponentValue = K. w.AI<1 gives SpecialFunction 6 (single-weapon fire control). Otherwise t=4 gives SpecialFunction 1 (point defence), so the single-weapon choice takes precedence. The range and tracking multipliers are saved in FCRangeModifier and FCSpeedModifier. The background slots BGTech1, BGTech2, BGTech5, BGTech6 and BGTech7 hold distance, speed, hardening, ECCM and weapon number.
Each multiplier list in the designer offers 1, then 4, then 0.10 to 3.99 by 0.01, so 1 appears twice. These are not limits of the design calculation.
Inputs are gauss rate of fire g, beam fire control distance d, beam fire control speed v, active sensor strength a, turret rotation t and ECCM e. Shots are q=2*g.AI, stored as int(q). Damage is 1 and accuracy 0.5. Power and recharge are 0. The two-cannon base size is 5 HS.
The sensor size is ss=R(3/a.AI,2). The fire control size is sf=R(2/(d.AI/20000)/2,2). Tracking is V=4*v.AI, stored as int(V). The rotation base is b=10*t.AI. The gear size is sg=R(5*V/b,2). The total is s=R(5+sg+sf+ss,2). Electronics cost u=V/2000+3. The ECCM mineral amount is z=u*e.AI2. Cost is C=R(5*g.AI+5*sg+u+z,1) and RP D(C). The minerals are Duranium 5*sg, Vendarite 5*g.AI, Uridium u and Corbomite z, none rounded individually. The cost charges both u and z, even when the ECCM cost multiplier is 1. Crew is ceil(s) and HTK int(sqrt(s)). All six inputs are background technologies.
A CIWS stores ComponentValue = q and ECCM = e.AI. It is flagged nonmilitary, while its weapon and beam flags are true. The design assigns no range fields. A separate weapon summary prints 1,000 km. ECCM is not optional in practice. The ECCM level falls back to 0 without an ECCM technology, but the cost step reads the technology’s AdditionalInfo2 regardless. When the designer shows no ECCM selector, the CIWS design fails with error Function #2620 and produces no component.
Turrets
Section titled “Turrets”The player turret dropdown offers researched, nonobsolete, nonspinal weapons with TrackingSpeed 0 of three types only, laser, meson and gauss. It does not offer railguns, particle beams, carronades or high-power microwaves, although the turret calculation itself has no matching list of allowed types. The inputs are base weapon w, count n (1 to 4 in the designer), requested tracking v km/s, extra armour strength a and rotation technology t. Tracking and armour entries are read as numbers, an unreadable entry counts as 0, and the fractional part is dropped. The researched fire control speed is displayed but does not limit the requested tracking here.
The gear ratio is g=v/(10*t.AI), multiplied by 0.9 for twin, 0.85 for triple and 0.8 for quad turrets. The base weapon size is s=weapon size*n, the base cost B=weapon cost*n and the gear size z=R(s*g,2). Crew is the weapon’s crew for a single turret, R(1.8*weapon crew) for twin, R(2.55*weapon crew) for triple and R(3.2*weapon crew) for quad. Counts outside 1 to 4 keep the single-turret crew and name.
If a>0, the best researched ship armour component is selected. With the pre-armour size s+z, the sphere surface is A=(((s+z)*0.75/pi)^(1/3))²*4*pi, calculated approximately with full-precision pi rather than 3.1416. The armour is y=R(a*(A/4)/armour rating,2) HS and the armour cost H=R(armour cost*y,2). ExtraHTK = a. Otherwise y=H=0 and ExtraHTK stays 0. The final size is max(1,R(s+z+y,2)), C=B+H+5*z, RP D(C), and HTK (weapon HTK+a)*n, even when a is zero or below. Armour counts once in size, but its HTK increment is multiplied by the weapon count.
Power, recharge and shots multiply the base values by n. Damage stays per shot. The turret copies the component type, accuracy, IgnoreArmour, IgnoreShields, RangeModifier, DamageOutput, Prototype and SpecialFunction, and sets the tracking speed and the base weapon ID. It does not copy every field. MaxWeaponRange, ElectronicOnly, ArmourRetardation and SpinalWeapon are not taken from the base. For meson and gauss turrets ComponentValue becomes the RangeModifier. Other types use damage.
The stored mineral recipe is specifically Duranium weapon Duranium*n+5*z, Neutronium H, Boronide weapon Duranium*n, Vendarite weapon Vendarite*n and Corundium weapon Corundium*n. Other base minerals are left out. The Boronide amount copies the base weapon’s Duranium rather than its Boronide. The background slots BGTech1 to BGTech3 copy the base weapon’s slots, and BGTech4 is the rotation technology. The base weapon ID is stored separately in TurretWeaponID. The armour technology and the laser reduced-size and mount slots 4 and 5 are not kept as dependencies.
Ordinary turret Create registers the turret without completing research. Create and Research completes it and is available only in Spacemaster mode. Both refuse a prototype base weapon. Prototype creates and researches a prototype turret for class design. The turret’s military, weapon and beam flags are true. Its technology type is RD Energy Turret (DIM_TechType 124), changed to RD Kinetic Turret (DIM_TechType 272) when the base weapon’s technology belongs to the Missiles research field (DIM_ResearchField 4).
Missile engines payloads stages and fighter pods
Section titled “Missile engines payloads stages and fighter pods”Designer scope and inputs
Section titled “Designer scope and inputs”The Missile Design window builds ordinary anti-ship and anti-missile missiles, laser warheads, ship decoys, sensor buoys, geological probes, stages and three fighter pod types, all as missile designs (FCT_MissileType). Size inputs use missile size points. A missile engine’s stored size (Size in FCT_ShipDesignComponents) is also in missile size points, unlike installed ship engines. Ordinary designer missiles have exactly one engine or none. The design calculation itself accepts an engine count (NumEngines).
Missile engine
Section titled “Missile engine”Let s be the engine size in MSP divided by 20, in HS, with thrust multiplier t, engine technology E=AI, fuel technology F=AI and the race’s maximum-thrust technology M=AI. Start with b=t^2.5. If t>M, multiply b by ((t-M)/M*4+1). Engine power is P=R(E*s*t,2). Fuel efficiency is f=F*b*sqrt(10/s) litres per engine-power-hour, stored unrounded. Cost is C=P/2, multiplied also by t when t<1. Development is int(R(100*C)), which bypasses both D and research speed.
Crew, HTK, explosion chance and explosion size are 0, stealth is 1 and military is true. The background slots are the engine and fuel technologies. The engine calculation works out Boronide and Gallicite halves but stores only Gallicite C/2 in its recipe. Missile assembly separately adds both halves from the engine cost, so the standalone engine recipe and the missile recipe are not interchangeable.
Warheads decoys and electronic options
Section titled “Warheads decoys and electronic options”Let w be the warhead size, W the best researched Missile Warhead Strength AI, and the base strength B=w*W (0 without that technology). Ship decoy mode with the Decoy Missiles technology replaces B with 200*w, sets ShipDecoy to 1 and uses WarheadStrength as simulated tons. If enhanced radiation is selected and available, q=int(technology AI), otherwise q=1. Radiation damage is R(B*q,3) and warhead strength R(B/q,3). Decoys clear radiation. The radiation-clearing test also looks at LaserWarhead>0 before laser strength is assigned, so it does not clear a newly created laser warhead’s radiation.
Laser conversion uses the efficiency fraction e=Laser Warhead Damage Efficiency AI/100, computes conversion=1/e, then sets LaserWarhead=R(WarheadStrength/conversion,3). Focus defaults to 10,000 km or the researched Laser Warhead Focus AI. If a beam fire control distance technology is researched and the requested maximum detonation range exceeds 2*AI, the maximum is capped at 2*AI, and a minimum above the capped maximum is reduced to it. The minimum is corrected only when that cap applies. Without that technology both ranges are zero. Laser damage at a distance is LaserWarhead/max(1,distance/focus), or 0 for zero focus.
The missile design records engine count, child count, multiple warheads and ECM decoys. MultipleWarheads is held to at least 1, but the extra-warhead size uses the requested count as entered, 0.1*(requested count-1). ECM decoy size is 0.5*decoy count. The designer forces one warhead when the enabling technology is missing, when the count text is exactly “0”, and for laser warheads. Separation range stores int(input*1000) km from an input in thousands of km.
ECCM, ATG and retargeting need both the toggle and the technology. The defaults are ECCM 0, ATG 1 and Retargeting 0. The best Missile ECM technology is assigned regardless of any toggle. Extra size is 0.25 for positive ECCM, 0.25 for ATG above 1, 0.5 for retargeting above 0 and 0.25 for positive laser damage. Missile ECM itself adds no explicit size or cost term.
Sensors and their automatic reactor
Section titled “Sensors and their automatic reactor”Active, thermal, EM and geological sensor sizes each produce strength only with the matching researched technology and at least 0.25 size points. Strength is R(sensor MSP*technology AI*0.05,2). Smaller positive inputs still take up size. Active, thermal and EM strengths are rounded as decimals, then stored approximately. Geological strength remains a decimal. EM sensitivity comes from the technology regardless of the EM sensor size. Let S be the sum of the four strengths, including the converted geological strength. Reactor output is R(S/5.0,4). Power plant efficiency is Power Plant Technology AI*0.05. Reactor size is R(output/efficiency,4) when efficiency is positive, otherwise 0.
Active range is int(R(sqrt(active strength*EM sensitivity*resolution^(2/3)/3.1416)*1000000)) km when both resolution and active strength are nonzero, otherwise 0. Resolution is in HS, so the nominal target is 50*resolution tons. Thermal and EM ranges are sqrt(strength*target signature)*250000 km. The designer’s per-size summary of the geological technology uses AI/100, while the design itself uses AI/20. The calculated strength follows the design value.
Stage aggregation size speed fuel and range
Section titled “Stage aggregation size speed fuel and range”Engine power, engine size and engine cost totals each round to 4 decimals after multiplication by the engine count. A valid child stage with a positive count adds child size*count, child cost*count and child FuelRequired*count. Otherwise the missile keeps no child stage. The missile’s own fuel capacity is int(floor(2500*fuel MSP)) litres. FuelRequired includes child fuel, but the missile’s own endurance uses only its own capacity.
The final size adds the reactor, warhead, fuel, all four sensors, engines, ECM decoys, the extra-warhead allowance, child sizes and the electronic feature allowances. A zero total produces no design, and the summary shows “No Components Selected”. The minimum is 5 for a ship decoy and 1 otherwise. A positive maximum size supplied to the calculation then lowers the size without recalculating the ingredients. The decoy designer passes its warhead input as this maximum, so it can override the nominal minimum.
Speed=R(total engine power/(Size/20)*1000,1) km/s, capped at 270,000. With positive power, Endurance=R(own fuel litres/(total engine power*engine FuelEfficiency)*3600,1) seconds. Without power it is 1 second. The missile’s own range is Speed*Endurance. With a child, TotalFlightTime and the total range add the child’s corresponding total once, not once per child. Launcher capacity therefore sees all child mass, while the displayed total range represents a sequential stage path.
Missile BP mineral and fuel recipe
Section titled “Missile BP mineral and fuel recipe”The calculation starts with the child cost and recipe multiplied by the child count. Only Corbomite, Tritanium, Boronide, Uridium and Gallicite are copied from the child recipe. A child’s laser Corundium and pod Vendarite are left out. The following are added in order. Fuel and structural size have no separate BP or mineral charge. Fuel litres stay in FuelRequired and are not a mineral.
| BP increment | Mineral increment | Condition |
|---|---|---|
| Total engine cost | Half Boronide, half Gallicite | Engine aggregate |
R(reactor output*3,3) |
Boronide | Automatic reactor |
| 0.5 | Uridium | Retargeting exactly 1 |
ATG-1 |
Uridium | ATG above 1 |
Laser efficiency fraction e |
Corundium | Laser toggle, including zero resulting damage |
| Decoy quantity | Corbomite | Positive ECM decoy count |
| Extra-warhead size | Tritanium | Stored multiple-warhead count above 1 |
Sensor sum S as a decimal |
Uridium | Actual sensor strengths |
ECCM/20 |
Corbomite | ECCM term |
4*w |
Corbomite | Ship decoy |
B/4 |
Tritanium | Ordinary or laser warhead, not a fighter pod |
Fighter pods instead overwrite the final Cost with Size/5 and set Vendarite to that cost without clearing the mineral fields already accumulated. Actual missile development is D(Cost*5). The missile summary shows Cost*100 RP, which is a different calculation.
Fighter bombardment autocannon and air-to-air pods
Section titled “Fighter bombardment autocannon and air-to-air pods”Let u=warhead MSP*2.5 tons and g the racial ground weapon multiplier defined in Racial snapshots and effective combat ratings.
| Pod | AP | Damage | Shots |
|---|---|---|---|
| Bombardment | R(g*(u/20)^0.6) |
R(g*(u/20)^1.6). GroundBaseDamage stores (u/20)^1.6 |
3 |
| Autocannon | R(g*(u/20)^1.25) |
2*g |
3 |
| Air-to-air | u/20*g |
u/10*g |
1 |
These are ground-attack ordnance fields (GroundAP, GroundDamage), not beam damage. They feed ground combat. Pod options are mutually exclusive in the designer. Selecting one zeroes fuel, reactor, sensors, child count and decoys, clears ECCM and selects No Engine. It does not explicitly clear every other toggle. The designer shows warhead strength 0 for a pod, while the stored ordinary warhead calculation still runs.
Creation reuse and compatibility
Section titled “Creation reuse and compatibility”The designer reads ordinary size entries with a fallback of 0 and raises negative warhead, fuel and sensor entries to 0. The decoy designer takes an earlier route that skips those corrections and builds a payload-only missile with no engine, sensors, stage or options. Resolution, count and range entries are converted to whole numbers. No single check validates every range of inputs. Technology gates control the geological, decoy and pod rows of the designer. The previous-design and second-stage selectors list the race’s researched, nonobsolete designs, with no separate rule for which missiles may serve as a stage.
Normal Create registers the preview engine and researches it at once when the missile has an engine (No Engine unchecked). It then registers the missile and its technology and leaves missile development to research. Instant Create also completes missile research and is available only in Spacemaster mode. Registration the game performs directly also researches immediately. Selecting a previous design copies its inputs and recalculates with current technologies, rather than keeping its old numbers. The restored separation range uses whole-number division by 1,000. Selecting a previous design does not explicitly restore the ship-decoy or pod flags.
The launcher maximum is a ceiling. Launch is refused when the missile size exceeds the launcher’s ComponentValue, and smaller or equal parent designs pass that size test. Child sizes are already part of the parent size. Magazine capacity is separate. Class loadout cuts the requested quantity down to the available ordinary or decoy size capacity without checking that a launcher exists. Launchers and pod bays contribute ordinary capacity. Decoy launchers contribute separate decoy capacity.
Assigning ordnance to a weapon by dragging in the Naval Organization window enforces decoy versus non-decoy launcher type, but does not enforce size, pod or stage eligibility. A separate decoy assignment action assigns directly. Fire-control assignment distinguishes beam from missile weapons, does not allow decoy launchers on fire controls, and limits single-weapon controls to one assignment. These checks are spread across several actions. No single check covers every compatibility rule.
Ground-support capability requires every selected ship to be at most 10 HS, and either a pod bay somewhere in the selected group or every ship having ordinary missile launcher capacity and loaded ordnance with GroundDamage above 0. Ground-attack selection filters assigned ordnance by positive GroundDamage. It does not require a pod bay at that point. Pod bays have HangarReloadOnly, but the common timed launcher recharge recognises only the missile and decoy launcher categories. Do not assume that every ordinary launcher reload formula also governs pods.
Buoys geological probes stages and mine scope
Section titled “Buoys geological probes stages and mine scope”The game names a new missile from the race’s missile naming theme, or “Size” and the size when the theme has no name left, and appends a type. Pod names take precedence (Fighter Bombardment Pod, Fighter Autocannon Pod, Fighter Air-to-Air Pod). Then zero warhead strength with a positive reactor gives Buoy, a ship decoy gives Ship Decoy, zero warhead strength without a reactor gives Missile Stage, a size of at least 4 gives Anti-Ship Missile, and anything smaller gives AMM. These names describe the same underlying blueprint. A stationary salvo with no child stage and no onboard sensor destroys itself on the subpulse that resolves it. Geological sensors count as sensors for this check.
Stage separation can happen when the remaining distance to the target is within SeparationRange, and on arrival for an attack. The parent missiles are destroyed. The child count is parent surviving missile count x NumSS. The child starts with its full endurance and the current launch time, and it inherits or acquires a target. A stationary child clears its targets and looks for an orbit body at exactly matching coordinates.
Geological probe progress is Geostrength*missile count*elapsed seconds/3600*SurveySpeed/100. The probe surveys a nearby body in the same system, then the completing salvo and its progress record (FCT_MissileGeoSurvey) are removed. At the default survey speed the daily figure per missile is Geostrength*24. In the paths described here the missile designer has no dedicated player mine payload. NPR design philosophies can name a captor mine and a mine second stage, filled in when a game is loaded, and automated ordnance selection can use them. That does not give players a mine recipe or a trigger model.
Fixed and unlocked component families
Section titled “Fixed and unlocked component families”Definition and unlock mechanism
Section titled “Definition and unlock mechanism”Fixed components are database definitions that already exist, and the technology with the same ID unlocks their use. They are not all generated by one size and cost formula. When a game is loaded, the game reads size, BP, the category-specific rating, crew, HTK, eleven minerals, background technologies and individual flags exactly as stored, and it accepts a row only when its component category and its same-ID technology exist. The game database as shipped has 177 definitions with GameID 0 in FCT_ShipDesignComponents, alongside saved-game rows that must not be mistaken for baseline modules.
Research adds the technology to the race’s known technologies, and matching automatic technologies can follow from their prerequisite. Ordinary class selection requires a known technology, a displayable type, nonobsolete status unless obsolete items are shown, and no prototype unless prototypes are shown. Stored components and alien stock can add entries to the ordinary list. Unlocked knowledge, visible catalogue entries and owned physical stock are distinct. See Technology knowledge and availability.
The table covers all 57 nonzero component categories the game recognises. Grouped custom families refer to their formulas above. Fixed figures are explicit baseline examples, not progression rules. DIM_ComponentType controls display order (ClassDisplayOrder), repair order (RepairPriority), empty space (EmptySpaceModifier) and category single-system behaviour (SingleSystem). Individual flags such as SingleSystemOnly, MilitarySystem, NoMaintFailure, NoScrap, ShipyardRepairOnly and ElectronicOnly stay per-definition fields.
Complete family map
Section titled “Complete family map”| Category IDs and families | Definition route and rating interpretation | Baseline examples or restriction |
|---|---|---|
| 1 Engine, 56 Missile Engine | Custom engine formulas | Ship engine size in HS, missile engine size in missile points. |
| 2 Crew Quarters | Fixed, sized automatically in hull design | 50/10/5/2 crew capacity at 1/0.2/0.1/0.04 HS. BP 10/2/1/0.4. Zero component crew. |
| 3 Fuel Storage | Fixed, litres add | Capacities 100/1,000/5,000/10,000/50,000/250,000/1,000,000/5,000,000 L across sizes. |
| 4 Transport - Cargo (cargo hold) | Fixed, cargo points add | Shuttle/tiny/small/standard/large give 50/500/5,000/25,000/125,000 CP at 1/10/100/500/2,500 HS. |
| 5 Magazine | Custom and fixed commercial magazines | Missile-size capacity, internal armour and explosion recipe for custom designs. Fixed commercial capacities 100/500 at 12/50 HS, BP 25/100, crew 5/20 and HTK 1/1 (IDs 65277/65278). |
| 6 Survey - Gravitational | Fixed, survey rating | Rating 1/2/3/5. Each is 5 HS with BP 100/150/200/300, crew 10, HTK 1. |
| 7 Survey - Geological | Fixed, decimal survey rating | Same trans-Newtonian progression as gravitational. The conventional sensor has rating 0.2 at 5 HS and BP 50. |
| 8 Passive - Thermal, 41 Passive - EM | Custom passive sensor | The ship class selects the best individual strength. Quantity does not simply add strength. |
| 10 Command and Control | Fixed, bridge and specialised command modules | The ship class adds each component rating without the quantity multiplier. |
| 11 Armour | Fixed material, applied automatically through hull geometry | Conventional ratings 1/2/3, trans-Newtonian 4 to 45, Structural Shell 20. Not ordinary internally stacked modules. |
| 12 Shields | Custom | Strength and recharge time. |
| 14 Transfer - Cargo / MSP (cargo shuttle bay) | Fixed, cargo and MSP transfer contribution | 10 HS, BP 20, rating 1, crew 10, HTK 1. |
| 15 Laser, 30 Particle Beam, 34 Meson Cannon, 35 Railgun, 36 Plasma Carronade, 44 High Power Microwave, 45 Gauss Cannon | Custom weapon formulas | Turrets wrap existing weapon definitions rather than creating another category. |
| 16 Jump Drive | Custom | Maximum hull HS, squadron rating and radius are separate fields. |
| 17 Transport - Colonist | Fixed, cryogenic, emergency, conventional and Ark berths | Standard cryogenic 50 HS, BP 100, 10,000 capacity, 10 crew, 1 HTK. Ark 10,000 HS, BP 200, 200,000 capacity, 30 crew, 25 HTK, with SpecialFunction 7 (standard berths). |
| 18 Reactor | Custom | Reactor output adds. |
| 19 Direct Fire Control | Custom | Range, tracking, hardening and ECCM. |
| 20 Electronic Warfare Systems | Fixed missile, sensor and fire control jammer technology families | Levels 1 to 10, each 3 HS, 5 crew, 1 HTK. The ship class selects the strongest of each family. BP 10/20/30/40/60/80/100/125/160/200, except that fire control jammer level 3 costs 60. No custom ECM size design exists. |
| 22 Missile Launcher, 71 Decoy Missile Launcher | Custom | Separate ordinary and decoy capacities. Forced basic reload for boxes and decoys. |
| 24 Active, 25 Missile Fire Control | Custom active modes | Missile fire control doubles the design range. |
| 26 Damage Control - Military | Fixed, repair contribution adds | Basic/improved/advanced rating 10/20/30. 3 HS, BP 25/50/75, crew 10, HTK 2. |
| 27 Transport - Troops | Fixed, transport tons add | Standard, drop and boarding capacity 1,000, at 20/24/22 HS, BP 20/50/30, crew 5/10/10 and HTK 2/3/2 respectively. The technology type distinguishes the transport style. |
| 29 Jump Point Stabilisation | Fixed, the rating is construction days | 180/150/120/90/60/45/30/20 days. The small version takes 360 days at 500 HS, BP 600, 30 crew, 5 HTK. |
| 31 Engineering | Fixed, may be added automatically | Ratings and sizes 1/0.5/0.25/0.1 HS, BP 10/5/2.5/1, crew 5/3/2/1, HTK 1/1/0/0. Hull calculations govern coverage and supplies. |
| 32 Sorium Harvester | Fixed, the ship class stores the module count | 50 HS, BP 30, base rate 10, crew 10, HTK 5. The operational rate is downstream. |
| 33 Terraforming Module | Fixed, the ship class stores the count | 500 HS, BP 500, base rate 10, crew 100, HTK 10. |
| 37 Tractor Beam | Fixed, enables towing | 10 HS, BP 100, rating 1, crew 10, HTK 5. Warning for multiple modules. |
| 38 Orbital Mining Module | Fixed, the ship class stores the count | Standard 100 HS, BP 120, rate 10, crew 50, HTK 5. |
| 39 Salvage Module | Fixed, wreck HS per day adds | Rates 500/750/1,000/1,350/1,800/2,500. All 200 HS, 80 crew, 5 HTK. BP 200/220/250/300/400/500. |
| 43 Transport - Military Hangar (hangar deck) | Fixed, capacity is carried hull HS | Hangar, boat and small boat sizes 21/5.25/1.05 HS, capacity 20/5/1, BP 100/25/5, crew 12/3/1, HTK 4/1/0. |
| 46 Cloaking Device | Custom | Maximum hull size and remaining-signature multiplier. |
| 47 Maintenance Storage | Fixed, onboard maintenance supplies add | Large/standard/small/tiny/fighter capacity 2,500/500/100/25/5, HS 5/1/0.2/0.05/0.01, BP 20/4/0.8/0.2/0.04, crew 0, HTK 1/0/0/0/0. |
| 48 Maintenance Module | Fixed, maintenance facility count | 100 HS, BP 100, maximum-ship rating 200, crew 50, HTK 5. Different from engineering and MSP storage. |
| 50 Transport - Passenger | Fixed, passenger capacity adds | Standard 50 HS, BP 100, 250 passengers, 100 crew, 1 HTK. Small 5 HS, BP 20, 25 passengers, 20 crew, 1 HTK. |
| 51 CIWS | Custom integrated package | Its MilitarySystem flag is false. |
| 57 Recreational Module | Fixed, a yes or no facility | 2,000 HS, BP 2,000, rating 1, crew 1,000, HTK 25. |
| 58 Transport - Commercial Hangar | Fixed, commercial hangar flag and carried HS | 32 HS, BP 100, capacity 20 HS, crew 15, HTK 1. |
| 59 Damage Control - Commercial | Fixed, repair contribution adds | 6 HS, BP 25, rating 10, crew 10, HTK 2. |
| 61 Transfer - Fuel (refuelling system) | Fixed, litres per hour add | Normal 20,000 LPH, 40 HS, BP 10, 20 crew, 1 HTK. Small-craft 15,000 LPH, 1 HS, BP 4, 4 crew, 0 HTK. |
| 63 Transfer - Ordnance | Fixed, the ship class uses the individual transfer rating | 40/48/64/80/100/128/160/200/256/320/400 missile points per hour. Each 10 HS, 20 crew, 1 HTK. BP is half the rating. |
| 64 Transfer - Ordnance Hub | Fixed, class facility count capped at 1 | 2,000 HS, BP 2,400, rating 1, crew 0, HTK 5. |
| 65 Fighter Pod Bay | Custom | No GameID 0 row in the game database as shipped. Capacity in missile points. |
| 66 Passive - ELINT | Fixed, rating adds | Rating 5/6/8/11/14. Each 10 HS, 15 crew, 3 HTK. BP 20 times the rating. |
| 67 Diplomacy Module | Fixed, the ship class uses the individual rating | 30 HS, BP 300, rating 1, crew 50, HTK 5. |
| 68 BioEnergy Storage | Fixed, capacity adds | 1/5/20 HS, BP 10/30/70, capacity 50/250/1,000, crew 0, HTK 1/5/20. |
| 69 Miscellaneous Component | Custom | Size, BP, RP and minerals only. No GameID 0 row in the game database as shipped. |
| 70 Mobile Repair Bay | Fixed, repair-yard capacity adds | 40 HS, BP 120, capacity 1,000, crew 50, HTK 1. |
The figures come from FCT_ShipDesignComponents in the game database as shipped, and the category metadata from DIM_ComponentType. How a ship class adds ratings and quantities is described in Ship and station design. Category 0 means no type. DIM_ComponentType row 55, Transport - Ark Module, has no matching game category. The baseline Ark uses category 17 with SpecialFunction 7 (standard berths). No universal mineral or crew per HS formula follows from this map. Read the selected row, including its flags.
Ground-unit class design
Section titled “Ground-unit class design”Chassis components and capabilities
Section titled “Chassis components and capabilities”A ground class is a chassis (base type), a ground armour choice, up to four ordered component slots, capability modifiers, an optional HQ capacity and an optional integrated surface-to-orbit (STO) ship weapon. It is separate from a ship component and from a formation template, which combines quantities of ground classes (see Ground force organisation). Base types, armour, components and capabilities come from DIM_GroundUnitBaseType, DIM_GroundUnitArmour, DIM_GroundComponentType and DIM_GroundUnitCapability, and the designer offers only those whose linked technologies are researched. Component eligibility follows the chassis columns of DIM_GroundComponentType (Infantry, Vehicle, Static and the other chassis flags). The extra slot controls depend on the chassis type. The choices for the additional slots exclude components with a positive HQ capacity.
| Chassis | Base tons | Slots | Base HP |
|---|---|---|---|
| Infantry | 0 | 1 | 1 |
| Light vehicle | 12 | 1 | 3 |
| Medium vehicle | 18 | 2 | 4 |
| Heavy vehicle | 36 | 2 | 6 |
| Super-heavy vehicle | 108 | 3 | 12 |
| Ultra-heavy vehicle | 216 | 4 | 24 |
| Static | 12 | 1 | 3 |
These values come from DIM_GroundUnitBaseType in the game database as shipped. No vehicle formula derives them. Ground armour (DIM_GroundUnitArmour) is a chassis-specific strength multiplier, not ship armour layers. Capabilities (DIM_GroundUnitCapability) include boarding, gravity, temperature, terrain and pressure adaptations. Genetic enhancements give HP multipliers of 1.25, 1.6 and 2. Infantry-only capabilities are removed from classes that are not infantry.
The 30 ground component definitions cover personal, light and improved personal weapons, crew-served and heavy crew-served anti-personnel, light, medium, heavy and super-heavy anti-vehicle, light, medium, heavy, long-range and super-heavy bombardment, light, medium and heavy anti-air, light, medium and heavy autocannon, , forward fire direction, construction, geological survey, STO, logistics and small logistics, HQ, xenoarchaeology and decontamination. Use the database IDs and fields for size, AP, damage, shots, supplies, allowed chassis and special traits. In DIM_GroundComponentType, Super-Heavy Bombardment is ID 60, Xenoarchaeology ID 64 and Decontamination ID 65.
Racial snapshots and effective combat ratings
Section titled “Racial snapshots and effective combat ratings”For a pre-industrial race, the weapon and ship armour multipliers are 1. Otherwise the ground weapon modifier g uses the greatest count of researched technology levels among the Laser Focal Size, Railgun Type, Meson Focal Size, Particle Beam Strength and Carronade Calibre technology types. Counts 0 to 11 map to 3,5,6,8,10,12,15,18,21,25,30,36 in order. Larger counts map to 45. The modifier does not use maximum weapon diameter or damage directly. The ship armour snapshot a is the best researched armour component’s rating. Tracking defaults to 1,000 or the researched beam fire control speed AI. The ground class stores the snapshots as WeaponStrengthModifier and ArmourStrengthModifier in FCT_GroundUnitClass.
Ordinary component effective AP and damage are R(base*g,2). Anti-air damage is floor(R(base damage*g/20,2)²). Class armour is R(selected ground armour strength*a,1). HP is R(base HP*a,1), and infantry then multiplies HP by the largest positive HPEnhancement capability without a final rounding. These are saved snapshots and class values, not a live substitution of future racial technology into an old class.
Size BP mineral and development sequence
Section titled “Size BP mineral and development sequence”The order of the calculation matters:
- Append the supplied ordered components. Size is
S=R(base size+sum of component sizes,2)tons, and the construction rating sums the components’ construction ratings. Supplies sum the components’SupplyUse, except that the fourth slot mistakenly adds the third component’sSupplyUseagain instead of the fourth’s. A fourth component without a third makes the calculation fail. - Initial BP is
C=S/50*selected ground armour strength. The initial Vendarite recipe equalsC. - For a primary HQ component with positive capacity
H, addclamp(H/200,10,250)tons (H/200held between 10 and 250) andH/2500*ground armour strengthBP. Vendarite is updated to that subtotal. - Remove infantry-only capabilities from classes that are not infantry. Player races multiply BP by each remaining capability’s
CostMultiplier. NPRs skip those multipliers. BP is rounded to 3 decimals. Vendarite is not recomputed after the capability multipliers. - Add the STO package if one is selected, as described below.
- Create the ground class technology with RP
D(C)for an STO class, otherwiseD(5*C).
These are genuinely separate BP and mineral calculations, not a normalised recipe.
Integrated surface-to-orbit package
Section titled “Integrated surface-to-orbit package”Static STO selection also requires active sensor technology and a researched, nonobsolete, nonprototype beam weapon other than CIWS. The ground class integrates the chosen weapon, a reactor, an active sensor and a single-weapon beam fire control. The nominal weapon recharge rounds up to a multiple of 5 seconds, and a zero recharge rate uses 5 seconds.
The point-defence choice uses range multiplier 1 and tracking multiplier 4. For standard control, with weapon range K and distance technology d=AI, the range multiplier is 1 when K<=d/2, 2 when K<=d, 3 when K<=1.5*d and 4 otherwise. The tracking multiplier is 1. Both use technology 26546 (Electronic Hardening Level 0, no hardening) and technology 82478 (Single-Weapon Fire Control). The maximum fire control range is R(fire control ComponentValue*1.25), and the effective weapon range is min(K,maximum fire control range). Tracking is the greater of the racial fire control speed and the weapon’s tracking, capped by the fire control’s tracking. The ECCM option uses the best researched ECCM, otherwise technology 54 (Electronic Counter-countermeasures - 0). The package size adds package HS*50 tons. The package BP adds package cost*selected ground armour strength. The package minerals are added without that armour multiplier.
The STO reactor search gives no reactor for a zero-power weapon. Otherwise it tries 0.1 to 30 HS by 0.1 for the first size s that satisfies R(best reactor AI*s*sqrt(s),1)>=weapon RechargeRate, then designs a normal reactor with technology 24625 (No Power Plant Boost). The search uses one-decimal output, while the final reactor output uses the normal two-decimal formula. Missing technology or no fit gives no reactor.
The STO active sensor search tries 0.1 to 30 HS by 0.1 for the first size s satisfying sqrt(best active AI*s*best EM AI/3.1416)*1000000>=effective weapon range. It then designs an ordinary active sensor at resolution 1 HS, with technology 26546 (no hardening) and the best researched ECCM regardless of the STO ECCM checkbox. No fit or missing sensor technology gives no sensor. Its recipe can be reproduced from the active sensor formula above. It is not a zero-cost targeting flag.
The designer preview calculates a draft. Ordinary Create registers the ground class and its technology and leaves research incomplete. Research controls can queue its development. Registration the game performs directly and the instant path both register the ground class and complete research at once, so these paths are not the same.
Upgrades and persistence
Section titled “Upgrades and persistence”An upgrade returns the original class unless the armour snapshot has changed, or the weapon snapshot has changed and some component is a ground weapon (GroundWeapon). Otherwise it rebuilds the same chassis, armour, ordered components, capabilities, STO weapon and HQ capacity with current racial technology and ECCM enabled, adds a year suffix, and reuses an equivalent existing class or creates a new one. The original is marked obsolete only when a new class is created, not when an equivalent class is reused. Existing class statistics are not overwritten. A save keeps the snapshots and the ordered component IDs (ComponentA to ComponentD in FCT_GroundUnitClass), with capabilities in a separate table (FCT_GroundUnitCapability). Formation elements reference a class plus a quantity (FCT_GroundUnitFormationElement).
Templates obsolescence and saved definitions
Section titled “Templates obsolescence and saved definitions”Component templates
Section titled “Component templates”A component template (FCT_ShipComponentTemplate) stores the construction inputs. These are type, name, the selected background technology IDs, size, value, resolution, shots, engine multiplier, tracking, extra armour, fire control multipliers and special function. Creating a template copies those fields and, for a turret, also creates a template for the base weapon. Reusing a template runs the family’s design calculation again. It is not a byte-for-byte copy of a component’s numbers or mineral vector. The template name and link are restored after the rebuild.
Missing source technologies are handled according to two options. With neither prerequisite checking nor instant research, the most advanced researched technology of the same type is substituted. Checking gathers the missing path and its cost. Instant research completes the missing prerequisites and subtracts their DevelopCost from StartTechPoints. A template is therefore not a universal “upgrade everything to current technology” operation. Magazine rebuilding specifically uses the best researched armour.
Some rebuild inputs do not round-trip the original units. Decoy launcher rebuilding passes the stored installed size as the missile capacity input. Commercial jump drive rebuilding passes the stored maximum hull straight into a calculation that applies its commercial times 5 conversion again. Preview the design again before relying on the rebuilt size. Turret rebuilding gets the count by dividing the template shots by the base template shots and reruns the armour and gear calculations. Ship class template assembly is described in Ship and station design.
Names obsolete flags and deletion
Section titled “Names obsolete flags and deletion”Renaming in the Technology View window changes the selected component or missile name but not the name of its linked technology. Obsolescence toggles the selected race’s obsolete flag (Obsolete in FCT_RaceTech). It is not a global deletion and does not rewrite physical stock. Missile obsolescence follows the same race-specific principle.
Deleting a race-specific definition requires the technology’s RaceID in FCT_TechSystem to match the race. It is refused for a component used in any class of any race, or for ordnance held in any ship or colony stock. Otherwise the matching definitions and technology are removed. These two checks do not amount to a full search of every queue, template or ground reference.
Saved data and loaded calculations
Section titled “Saved data and loaded calculations”A saved ship component records all eleven minerals, the numerical derived fields, flags, prototype state, BGTech1 to BGTech7, the base turret weapon (TurretWeaponID), the template ID (ShipComponentTemplateID), the fire control multipliers and ExtraHTK. Loading requires a same-ID technology and a valid category, reads the numbers directly, then resolves the background technologies. It does not rerun the current design formulas. Technology rows and the race knowledge and obsolete rows are stored separately. A saved fixed or custom component can therefore keep values that differ from a freshly designed equivalent.
A saved missile records derived values, original size inputs, engine and child IDs, and payload, electronic and pod fields, but its recipe stores only Corbomite, Tritanium, Boronide, Uridium and Gallicite. Laser Corundium and pod Vendarite do not survive a save and reload through these recipe columns. Loading also reads the extra-warhead size (MSPMultipleWarheads) as a whole number although it is stored with decimals, so fractional 0.1 allowances can change. Child stages and total range are resolved in a single later pass. These are persistence differences, not alternate design recipes.
Worked examples and calculation caveats
Section titled “Worked examples and calculation caveats”The following inputs are synthetic arithmetic examples. They do not claim that a particular saved game offers those technology values. All use research speed 100 unless stated otherwise.
| Design and inputs | Calculation and result |
|---|---|
Ship engine s=10, t=1, E=5, F=0.1, thermal multiplier 1 |
Power 50 EP. Efficiency 0.1 L per EP-hour. Fuel 5 L per hour. BP and Gallicite 25. RP int(sqrt(125000))=353. Crew 10, HTK 3, explosion 10%, maximum explosion 12. It is military because the size is below 25 HS. |
Reactor s=4, p=2, boost 1 |
Output 2*4*sqrt(4)=16. BP and Boronide 48. RP 489. Crew 8, HTK 2. The boost’s AI2 separately sets the explosion percentage. |
Shield s=10, b=2, g=0.2 |
Strength 20, recharge amount 2. Stored recharge time floor(20*300/2)=300 seconds. BP and Corbomite 22. RP 331. |
Unarmoured magazine s=4, feed f=1, neutralisation 75 |
Capacity 80 missile points, BP 20, RP 316. Duranium 5, Tritanium 15. Explosion chance 12.5%. Crew 2, HTK 1. |
Railgun calibre AI2=8, AI3=8, velocity 20,000, capacitor 4 |
Four shots give power 8, recharge 4, size 8, BP 22.6. One shot gives power 2, recharge 1, size 2.6, BP 2.8. Both have a nominal 10-second interval. Per-shot damage stays the calibre AI. |
| Gauss 6 shots, size 2.5, accuracy 0.8, velocity 20,000 | BP and Vendarite 30, crew 5, HTK 1. Six 1-damage shots per 5 seconds, no reactor demand. |
Direct fire control distance 200,000, speed 1,500, multipliers 1, weapon-number AI, hardening AI2 and ECCM AI2 all 1 |
Range 200,000 km, tracking 1,500, size 0.5 HS, crew 2, HTK 0. Uridium and BP 10 because int(1500/1000)=1. |
Missile engine size 1 point, E=5, t=1, F=0.1, no overthrust penalty |
s=0.05 HS, power 0.25, fuel efficiency 0.1*sqrt(200), about 1.41421356 L per EP-hour. Engine BP 0.125. Standalone engine RP 12, because 12.5 rounds to the even neighbour. |
| Missile using that engine, warhead size 1 at strength technology 4, fuel size 0.1, no other features | Total size 2.1 points. Speed 2,381.0 km/s. Own fuel 250 L. Endurance R(250/(0.25*1.41421356)*3600,1), about 2,545,584.4 s. BP 1.125, from engine 0.125 plus warhead 1. Boronide and Gallicite 0.0625 each, Tritanium 1. Actual missile RP D(5.625)=167, displayed summary RP 112.5. |
| Ground class 50 tons, selected ground armour 2, capability cost multiplier 1.5, no HQ or STO | Initial BP and Vendarite 2. Final BP 3, but Vendarite stays 2. Development D(15)=273. HP and armour still use the separately saved racial snapshots. |
The examples follow the formulas in Ship engines, Power plants, Shields, Magazines, Railguns, Gauss cannons, Direct fire control, Missile engine, Missile BP mineral and fuel recipe, Size BP mineral and development sequence and the development cost in Definitions units and shared arithmetic.
When reproducing a design, keep the actual input technology fields and the order of operations. In particular, whole-number divisions in railgun, particle beam, meson, microwave and fire control costs, rounding before a minimum size, the commercial jump conversion, armour added after magazine development, the turret’s explicit mineral copying, the missile’s final-size clamp and save and reload omissions can all stop an idealised “cost per final ton” calculation from matching the stored values. Definition BP, RP and recipe and manufactured stock remain distinct throughout.
Concept map
Section titled “Concept map”- Development cost, the
D(C)rule most families use for RP. - Source technologies and input ranges, which technologies and sizes the designer offers.
- Design lifecycle, how each create action registers a design.
- Engines and power, propulsion, jump, shield and reactor formulas.
- Sensors and electronics, sensor, cloak and miscellaneous component formulas.
- Ordnance storage and launch, magazine, pod bay and launcher formulas.
- Beam weapons and turrets, weapon, fire control, CIWS and turret formulas.
- Missile design, missile engines, payloads, stages, pods and their recipe.
- Fixed component catalogue, the baseline modules technology unlocks.
- Ground-unit classes, chassis, snapshots, BP sequence and STO package.
- Templates and saves, what rebuilds and what a save keeps.
- Names, obsolete flags and deletion, renaming, per-race obsolescence and race-specific deletion.
- Technology to deployment, from researched technology to a working ship.
- Research and scientific personnel, how a design’s technology becomes known.
- Ship and station design, how classes assemble these components.
- Armour and structural shells, the hull geometry fixed armour uses.
- Production mechanics, building components and ordnance from these recipes.
- Shipyard development and ship work, yard work on classes built from these parts.
- Ship power, class and detection, live power, recharge and detection.
- Space combat resolution, weapons and missiles in battle.
- Point-defence modes, how CIWS and point-defence fire controls engage.
- Movement and logistics, fuel, speed and stores.
- Jump-point network, where jump drives and stabilisation modules work.
- Exploration surveys and discovery, geological probe results.
- Ground force organisation, formations built from ground classes.
- Ground combat and conquest, where ground ratings and pod damage apply.
- NPR automated design, the non-player counterpart of this designer.
- NPR missile design, automated ordnance including mines.
- Spacemaster interventions, the mode that unlocks instant creation.
- Naming themes, the source of missile names.
- Species engineering, the other player-defined research category.
- Game rule options, the research and survey speed settings used here.
Resources
Section titled “Resources”Related community documentation and developer posts. These may describe a different game version.