Ship Star-Tier XP Curve

Each ship hull progresses through five star tiers by accumulating duplicate pulls. One duplicate pull of the same hull grants 1 XP. The curve is defined by STAR_XP_THRESHOLDS and is intentionally back-loaded — early stars come fast, S5 is the long tail.

Curve

STAR_XP_THRESHOLDS = [0, 0, 1, 3, 7, 17] (index 0 unused; indices 1-5 = stars 1-5).

StarCumulative XPDupes from previousTotal pulls to reach
S101 (the first pull)
S2112
S3324
S4748
S5171018

Reaching S5 requires 17 duplicates after the first pull, i.e. 18 total pulls of the same hull.

Per the prompt framing: 1 dupe to S1, 1 to S2, 3 to S3, 7 to S4, 17 to S5 (cumulative dupes). Total: 18 pulls to S5.

What stars unlock

Stars unlock mod-backpack grid space, NOT stat scaling. Base ship stats do not change with star level — only the grid that holds installed mods grows. This keeps power gains gated by mod acquisition and fit, not raw star count.

Grid dimensions per star (from GRID_DIMS_BY_STAR):

StarGrid (cols × rows)Cells
S13 × 39
S24 × 312
S34 × 416
S45 × 420
S55 × 525

Helper functions

  • starFromXp(xp) — returns current star (1-5) from cumulative XP. Throws on negative XP.
  • xpToNextStar(xp) — XP remaining to advance one star. Returns 0 at S5 (capped).
  • gridForStar(star)[cols, rows] for a given star level. Throws out of range.

Source

src/starship-survivors/data/ship-progression.ts