Systems documentation

AI Features & Scaling

The computer commanders are meant to feel active โ€” they build, research, expand from the first cycle, and commit real attacks. No invisible cheats; difficulty is a set of honest, tunable knobs.

On this page

Per-cycle decision phases

Each cycle, every AI commander runs the same five-phase routine:

  1. Build. Fill empty homeworld slots โ€” Factories first, Tech Labs once it has at least two Factories. Other worlds get manufacturing before research.
  2. Production. Lean the focus slider toward gold when poor, toward ships when flush, and mostly ships when preparing an assault.
  3. Expansion. Send small fleets to nearby neutral/unknown worlds within range, keeping a defensive reserve at home.
  4. Attack. If a reachable enemy world clears its advantage threshold, strike it โ€” preferring the enemy homeworld when strong enough.
  5. Defense. Never strip a homeworld bare unless the move is a decisive, winning attack.

The three personalities

๐ŸŸข

Easy

Forgiving. Slower expansion, smaller attacks, over-defends, and frequently skips optimal actions. Built for new players.

๐ŸŸก

Normal

Fair and beatable. Expands and attacks like a reasonable human opponent, without early runaway snowballing.

๐Ÿ”ด

Hard

Aggressive and efficient. Punishes mistakes, expands from cycle zero, and hunts homeworlds โ€” with no hidden bonuses.

Difficulty tiers are kept in a strict order โ€” easy < normal < hard โ€” across every knob, so the curve is always monotonic.

Every difficulty knob

Difficulty is not a script โ€” it's this centralized set of parameters. Higher aggression, lower reserves, and earlier strike timing make Hard genuinely harder without ever letting it see hidden information.

ParameterEasyNormalHardWhat it does
Build efficiency0.780.921.00Chance per cycle it acts on its build plan
Expansion aggression0.600.800.97Chance per world per cycle to launch expansion
Attack aggression0.500.720.92Chance per world per cycle to attack when viable
Defense reserve0.500.380.25Fraction of ships always kept home
Max attack commit0.450.600.80Max fraction of a stack sent in one attack
Min ships before attack964Force required before attacking
Attack advantage req.1.50ร—1.22ร—1.05ร—Attacker/defender ratio needed to strike
Earliest homeworld strikecy 20cy 10cy 4No homeworld assault before this cycle
Imperfection chance0.250.100.03Chance to skip a noncritical optimal action
Tech preference0.700.851.00Value placed on Tech Labs vs. extra Factories

The "imperfection chance" is what makes lower difficulties feel human rather than broken โ€” an Easy AI occasionally passes on the optimal move instead of playing flawlessly-but-slowly.

Coordinated sieges

A single planet's attacking stack is capped by garrison attrition, so a plateaued homeworld can't be cracked by one world alone. The AI handles this with a separate, lower siege advantage threshold (Easy 2.2ร— ยท Normal 1.7ร— ยท Hard 1.4ร—) that measures the combined available ships across all in-range worlds against the target's defenders. When that pooled force is enough, it commits a coordinated multi-world assault โ€” the same tactic a strong human uses to break a fortified homeworld.

Measured results

From a 16-seed simulation harness against a competent human baseline. Games are shown in cycles, with an approximate wall-clock at the default cycle timer.

Map (planets)EasyNormalHardโ‰ˆ minutes
Tiny (12)46 cy33 cy27 cy~13โ€“23 min (30s timer)
Medium (35)60 cy53 cy43 cy~32โ€“45 min (45s timer)
Large (60)64 cy65 cy48 cy~48โ€“65 min (60s timer)

100% of simulated games now resolve โ€” earlier builds routinely ran past 300 cycles with no winner. Human win rate also falls as difficulty rises (on Tiny: Easy 3/6 โ†’ Normal 1/6 โ†’ Hard 0/6), confirming the curve is real rather than cosmetic.

No cheating & the adaptive stub

Hard is aggressive and efficient, but it plays by the same rules you do โ€” it sees the same fogged map, spends the same gold, and fights with the same combat math. There are no resource bonuses or vision cheats; the challenge comes entirely from tighter, earlier, better-committed decisions.

An Adaptive difficulty is present as a documented stub โ€” currently identical to Normal โ€” reserved for a future opponent that reads the match state and tunes itself to the player. It's labeled honestly rather than pretending to be something it isn't yet.

See the technical architecture โ†’