Starship Horizons
Log In
Knowledge BaseComponents

Components

A component is a device that goes on a ship: a reactor, a shield generator, a weapon, a sensor array, a life support unit. Components are where a ship's behaviour actually comes from — the hull is mostly geometry.

A complete example

<component id="Deflector Shields" name="Deflector Shields" type="Shield" function="Consume"
           hardpoints="4" integrity="100" tolerance="0.9" auto-enable="true" weight="100">
  <energy min="0" max="2000" idle="100" optimal="1000" level="0" charge="5" bleed="10" consumebylevel="true" />
  <frequency min="1" max="999" value="500" />
  <properties>
    <property id="Format">4</property>
    <property id="Rate">5</property>
    <property id="RechargeDelay">4</property>
    <property id="RechargeDelayCollapsed">10</property>
  </properties>
  <traits>
    <trait id="Concussive">0.75</trait>
    <trait id="Electrical">1.25</trait>
  </traits>
  <widgets>
    <widget role="Tactical" source="shield" group="Defensive" />
    <widget role="Engineer" source="shield-frequency" group="Defensive" />
  </widgets>
  <sounds startup="" activated="ShieldsUp" deactivated="ShieldsDown" />
</component>

Type and function

Type is what kind of device it is, and the game reasons about types directly — alert conditions restrict types, not individual components. The list includes Power, Shield, Weapon, WeaponSystem, Sensor, Sight, Propulsion, Maneuver, Ftl, Jump, Cloak, Inhibit, Tracker, Battery, Conduit, Armor, Compute, Environment, Locomotion, Rotation, Rotor, Generic and Special.

Function is how it relates to energy: Generate, Store, Consume or Transfer. This is what makes a reactor a source and a shield a sink.

Energy is the balance knob

The energy block is where a component's whole feel is decided:

  • idle — draw when doing nothing.
  • optimal — the design point. What "100%" means to Engineer.
  • max — the ceiling, deliberately above optimal. The gap between them is how much overcharge headroom the device has, and it is a design decision, not a rounding artefact. The example allows 200%.
  • charge and bleed — how fast it fills and how fast it leaks.

Properties

Properties are the type‑specific numbers. A shield's Format is how many segments it has (4 for fore/starboard/aft/port, 2 for fore and aft); RechargeDelay and RechargeDelayCollapsed are the pause before a segment starts recovering, and the deliberately much longer pause after one has collapsed to zero. That pair is the reason Tactical cares about balancing shields before a facing fails rather than after.

Traits

Traits are multipliers against damage kinds — the shield above resists concussive damage and is vulnerable to electrical. This is where you make different factions' equipment feel different, and where you create a reason to scan before shooting.

Components bring their own console panels

This is the part worth understanding properly, because it is the main extension point in the whole client.

A component's <widgets> block declares which role's console gets which panel, and in which group on that console:

<widget role="Tactical" source="shield"           group="Defensive" />
<widget role="Engineer" source="shield-frequency" group="Defensive" />

When a vessel has this component installed, the Tactical console grows a shield panel and the Engineer console grows a shield frequency panel. Nobody edits a console page to make that happen; the console has a container for each role and group, and it mounts whatever the installed components declare.

So the honest way to add a new capability to Horizons is: write a widget, write a component that declares it, install the component on a hull. The console follows.

Other fields

  • hardpoints — how many mounting positions the component occupies.
  • integrity and tolerance — how much damage it takes and how much it shrugs off.
  • auto-enable — whether it comes up by itself, subject to the alert condition.
  • frequency — for shields and weapons. See Tactical.
  • upgrades — slots for modification.
  • sounds — startup, activation, use, deactivation, shutdown and destruction, drawn from a sound bank.
  • economy — base value, for trade and fabrication.

Sounds are worth filling in. A shield that says ShieldsUp when it comes online is most of what makes the moment land for the crew.

Last updated 5 September 2026